jvm
@ther
这个作者很懒,什么都没留下…
展开
-
一篇文章理解JMM(java 内存模型) 和 volatile的原理和使用
volatile 作为平时使用不多,但是面试时经常问的一个方面,作为java开发人员,不理解和说清楚这个东西的原理和机制,都不好意思找工作,那么怎么理解这个东西呢。 说起这个关键字的性质,相信都是随口就来,voliatile能保证可见性和一致性,那么怎么理解呢,要理解这两点需要知道JMM 1. java内存模型基础 java内存模型(Java Memory Model,JMM)是java虚拟机规范...原创 2020-02-28 18:03:58 · 288 阅读 · 0 评论 -
java中偏向锁、轻量级、锁重量级锁由浅入深理解
在JDK1.6之后synchronized 的效率已经和JUC中的ReentenerLock效率相差无几,在深入理解java虚拟机中也有提到。那么jvm团队做了哪些优化呢? 1.基础 利用synchronized实现同步的基础:Java中的每一个对象都可以作为锁。具体表现 为以下3种形式。 · 对于普通同步方法,锁是当前实例对象。 · 对于静态同步方法,锁是当前类的Class对象。 对于同步方法块...原创 2020-02-20 20:52:12 · 252 阅读 · 0 评论 -
jvm 内存结构初步理解
线程隔离区 1. 虚拟机栈:当方法运行时 会创建虚拟栈帧 存储局部变量表操作数栈,动态链接和方法出口,而初学者说的’堆栈’指的是栈中栈帧的局部变量表中的内容,会存放编译期可知的所有的基本数据类型,和对象类型的引用; 2. 本地方法栈:作用与虚拟机栈类似,但是是读取本地方法的; 3. 程序计数器:较小的内存空间,用于记录程序的行号;以便完成线程程序的执行程序是逐行执行的 公共数据区 1. 堆区(he...原创 2018-10-13 15:49:04 · 166 阅读 · 0 评论 -
2020 年 初中级Java 面试题目大全
答案长期更新 有的懒得写 有的还不知道 如果有大神补充 可以评论或者私信 谢谢 1. Java 基础 1. JDK 和 JRE 有什么区别? A:JDK就是Java Development Kit,JRE就是Java Runtime Enviroment,JRE是个运行环境,JDK是个开发环境,如果你电脑安装了JDK,那么你不仅可以开发Java程序,也同时拥了运行Java程...原创 2019-06-28 13:34:02 · 1893 阅读 · 0 评论