java面试
zhtttylz
这个作者很懒,什么都没留下…
展开
-
java面试-JVM内存区域划分
JVM内存划分 说到Java内存区域,刚开始接触java的人会下意识说出“堆栈”。这里要明确堆栈不是一个概念,而是两个概念,堆和栈是两块不同的内存区域,简单理解的话,堆是用来存放对象而栈是用来执行程序的。其次,堆内存和栈内存的这种划分方式比较粗糙,这种划分方式只能说明大多数程序员最关注的、与对象内存分配关系最密切的内存区域是这两块,Java内存区域的划分实际上远比这复杂。对于Java程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每一个new操作去配对delete/free代码,不容易出现内存泄露原创 2020-07-01 20:23:56 · 171 阅读 · 0 评论 -
JAVA面试-并发编程中的锁
Synchronized相关问题 问题一,Synchronized用过吗,其原理是什么 Synchronized是由jvm实现的保持线程互斥的一种方式,底层字节码被编译成monitorenter和monitorexit两个指令,在遇到monitorenter时,会把对象的锁计数器+1.代表这个已经获取到了锁,在monitorexit将锁计数器-1 代表释放锁 问题二:你刚才提到获取对象的锁,这个“锁”到底是什么?如何确定对象的锁? 这个锁就是一个Refrence对象,也就是要加锁或者解锁的.原创 2020-05-16 22:30:57 · 258 阅读 · 0 评论