自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JVM-类加载

类的生命周期:加载,验证,准备,解析,初始化,使用,卸载。这些阶段通常都是互相交叉地混合式进行的,通常会在一个阶段执行的过程中调用或激活另外一个阶段。什么情况下需要开始类加载过称的第一个阶段:加载,并没有强制约束。 但对于初始化阶段,虚拟机规范则是严格规定了有四种情况必须立即对类进行“初始化”。(而加载,验证,准备自然需要在此之前开始)。 1)遇到new,getstatic,putstatic或

2017-03-08 21:01:49 338

原创 JVM-class文件结构解析

解析class文件的结构——魔数 + class文件次版本号 + class文件主版本号——常量池——访问标志——类索引,父类索引,接口索引——字段表集合——方法表集合——属性表集合class文件是一组以8位字节为基础单位的二进制流,紧密排列没有分隔符。 class文件数据结构,包括两种数据类型:无符号数 和 表。 无符号数:属于基本的数据类型,u1,u2,u4,u8分别代表1个字节,2个字节,

2017-03-06 21:41:20 505

原创 JVM-内存分配

JVM分为:方法区(Method Area):用于存储类结构信息的地方,包括常量池、静态变量、构造函数等。虽然JVM规范把方法区描述为堆的一个逻辑部分, 但它却有个别名non-heap(非堆),所以大家不要搞混淆了。方法区还包含一个运行时常量池。java堆(Heap):存储java实例或者对象的地方。这块是GC的主要区域(后面解释)。从存储的内容我们可以很容易知道,方法区和堆是被所有java线程共享

2017-03-05 11:36:37 388

原创 Java Foreach的局限性

局限性:比如我想给一个对象数组中的每一个都赋值:for(Pet pet : pets) { pet = new Pet();} foreach的实际过程为:for(int i = 0; i < pets.length; i++) { Pet pet = pets[i]; pet = new Pet();}所以可见foreach根本不会改变所赋予的值。 无论是基本变量的值

2017-03-01 16:58:14 863

空空如也

空空如也

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

TA关注的人

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