性能问答>new关键字涉及到操作系统的用户态和内核态转换吗?>
2回复
3年前

new关键字涉及到操作系统的用户态和内核态转换吗?



最近在看csapp,和java层面的一些概念有些混淆,希望大家可以指点下~
1.new对象是否会造成程序用户态和内核态切换?
2.程序面向的是虚拟内存,page默认4k,虚拟地址连续不代表映射到物理内存连续…java层面讨论gc的算法或内存状态,考虑的是哪个层面的内存呢?

个人思考:
问题一:引起用户态和内核态的切换有三种原因,系统调用、终端和异常。
jvm是c语言写的,java在new对象的时候需要分配内存,是不是调用了c的malloc函数,malloc函数包装了一些系统调用比如brk和mmap,所以我感觉是会造成的…

问题二:有点没思路。。。

求大佬们来解下惑~

3988 阅读
请先登录,查看2条精彩评论吧
快去登录吧,你将获得
  • 浏览更多精彩评论
  • 和开发者讨论交流,共同进步