文章目录
1. 什么是虚拟机栈
每个线程运行时需要的内存,称为虚拟机栈
2. 方法内的局部变量是线程安全吗?
局部变量的话一般的线程安全的,但是也不一定,要看方法的形参啊返回值啊。
这里说明一下m3,当不同的线程调用m3方法时是线程安全的,但是当一个线程调用m3得到返回值,多个线程多返回值进行操作则是线程不安全的,返回的是一个引用,而且stringBuilder是可变类,多个线程对返回的引用修改时操作的都是同一个地址,那这个就作为共享变量被多个线程操作,所以不安全。
3. 直接内存
直接内存就是一块内存区域,文件操作啊性能较高,像我们在java程序中操作文件时,其实涉及到用户态和核心态的转换,对应的缓存也是要完成操作系统的缓存和堆内存的复制,直接内存是新开辟的一块缓存不需要两个缓存来回转换。
4. 说一下类加载的执行过程
解析阶段:将符号引用转换为直接引用,将#号啊这些对应的实际的东西的转换吧,比如说#对应的类啊方法啊给转换过来。
5. JVM调优参数有哪些
6. JVM调优的工具
7. java内存泄漏的排查思路
答: