2回复
4年前
new关键字涉及到操作系统的用户态和内核态转换吗?
最近在看csapp,和java层面的一些概念有些混淆,希望大家可以指点下~
1.new对象是否会造成程序用户态和内核态切换?
2.程序面向的是虚拟内存,page默认4k,虚拟地址连续不代表映射到物理内存连续…java层面讨论gc的算法或内存状态,考虑的是哪个层面的内存呢?
个人思考:
问题一:引起用户态和内核态的切换有三种原因,系统调用、终端和异常。
jvm是c语言写的,java在new对象的时候需要分配内存,是不是调用了c的malloc函数,malloc函数包装了一些系统调用比如brk和mmap,所以我感觉是会造成的…
问题二:有点没思路。。。
求大佬们来解下惑~
4350 阅读