JVM面试题
2023-12-22 19:36:32
1. 什么是虚拟机栈
每个线程运行时需要的内存,称为虚拟机栈
2. 方法内的 局部变量是线程安全吗?
局部变量的话一般的线程安全的,但是也不一定,要看方法的形参啊返回值啊。
这里说明一下m3,当不同的线程调用m3方法时是线程安全的,但是当一个线程调用m3得到返回值,多个线程多返回值进行操作则是线程不安全的,返回的是一个引用,而且stringBuilder是可变类,多个线程对返回的引用修改时操作的都是同一个地址,那这个就作为共享变量被多个线程操作,所以不安全。
3. 直接内存
直接内存就是一块内存区域,文件操作啊性能较高,像我们在java程序中操作文件时,其实涉及到用户态和核心态的转换,对应的缓存也是要完成操作系统的缓存和堆内存的复制,直接内存是新开辟的一块缓存不需要两个缓存来回转换。
文章来源:https://blog.csdn.net/qq_51240148/article/details/135159092
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!