自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 Java面试之JVM(5)对象的实例化内存布局与访问定位

以下内容来自网络整理,侵删Student s = new Student(); 在内存中做了哪些事?加载Student.class 文件进内存在栈内存为s开辟空间为学生对象分配内存初始化分配到的空间,成员变量设置默认值设置对象头信息执行构造方法对学生对象的成员变量赋值学生对象初始化完毕,把对象地址赋值给s变量对象的四种创建方式类加载检查。判断这个对象对应的类是否已经加载、解析、初始化过。为对象分配内存如果内存规整,那么虚拟机将采取指针碰撞法(把指针向空闲空间那边挪动一段与对象

2021-04-18 11:19:41 108 1

原创 Java面试之集合类(2)ConcurrentHashmap

以下内容来自网络整理,侵删如何求sizeJDK 8 推荐使用mappingCount 方法,因为这个方法的返回值是 long 类型,不会因为 size 方法是 int 类型限制最大值在没有并发的情况下,使用一个 volatile 修饰的baseCount 变量就足够了当并发的时候,CAS 修改 baseCount 失败后,就会使用 CounterCell 类了,会创建一个这个对象,通常对象的 volatile value 属性是 1。在计算 size 的时候,会将 baseCount 和 Coun

2021-04-17 21:34:52 94

原创 Java面试之集合类(1)Hashmap

以下内容来自网络整理,侵删说说List,Set,Map三者的区别?List(对付顺序的好帮手): List接口存储一组不唯一(可以有多个元素引用相同的对象),有序的对象Set(注重独一无二的性质): 不允许重复的集合。不会有多个元素引用相同的对象。Map(用Key来搜索的专家): 使用键值对存储。Map会维护与Key有关联的值。两个Key可以引用相同的对象,但Key不能重复,典型的Key是String类型,但也可以是任何对象。Put方法生成hash值,方法是根据key生成hashcode,

2021-04-16 22:06:23 186 2

原创 Java面试之JVM(4)类加载机制

以下内容来自网络整理,侵删Class文件是什么?Class文件是虚拟机的平台无关性、语言无关性的基石。包含了魔数、版本号、常量池、属性、接口、方法、父类等信息类加载机制是什么类加载机制:将类的数据从class文件加载到内存,并且进行校验、解析、初始化,形成可以让虚拟机使用的java类型。包括5个阶段,是类的生命周期:加载、链接【验证、准备、解析】、初始化、使用、卸载。前5个阶段是类加载的过程。加载(loading)。通过类名获取二进制字节流。注意:通过类加载器实现这个部分功能。可以从任何地

2021-04-11 21:59:55 75

原创 Java面试之JVM(3)垃圾回收机制

以下内容来自网络整理,侵删JVM 垃圾回收机制什么是垃圾?垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾对象什么时候进入老年代?大对象直接进入老年代大对象是指需要大量连续内存空间的对象,例如很长的字符串以及数组。虚拟机设置了一个-XX:PretenureSizeThreshold参数,令大于这个设置的对象直接在老年代分配。目的就是为了防止大对象在Eden空间和Survivor空间来回大量复制。长期存活的对象进入老年代对象在Survivor区中每熬过一次M

2021-04-11 10:46:13 84

原创 Java面试之JVM(2)XX参数

以下内容来自网络整理,侵删JVM XX参数以下内容最好自己敲一遍,才能更好的理解记忆参数类型(1) Boolean类型公式:-XX:+ 或者-某个属性 + 表示开启,-表示关闭Case:-XX:-PrintGCDetails:表示关闭了GC详情输出(2) key-value类型公式:-XX:属性key=属性value不满意初始值,可以通过下列命令调整case:如何:-XX:MetaspaceSize=21807104查看运行的Java程序,JVM参数是否开启,具体值为多少?(1) j

2021-04-11 10:14:06 77

原创 Java面试之JVM(1)内存模型

Java面试之JVM(1)以下内容来自网络整理,侵删JVM内存模型程序计数器(program counter register)(1)线程执行的字节码的行号指示器。通过改变这个值,选取下一条执行的字节码指令。实现 分支、循环、跳转、异常处理、线程恢复。(2)线程私有,生命周期与线程相同。线程间,互不影响(3) 较小的内存空间,几乎可以忽略不计。也是运行速度最快的存储区域。(4)执行Java方法,指向正在执行的字节码指令;执行native方法,值为空。Undefined。(5) 唯一一个没有O

2021-04-10 21:57:50 98

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除