自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 空间分配担保

2020-02-24 21:38:30 95

原创 cms垃圾收集器

2020-02-24 21:31:41 72

原创 GC时对象什么时候去从新生代到老年代

gc理论知识

2020-02-24 21:30:16 495

转载 sql优化

https://blog.csdn.net/vbirdbest/article/details/81065566

2020-01-06 10:47:17 95

原创 zl jvm 内存空间

1 虚拟机栈 栈帧2 程序计数器3本地方法栈 处理本地方法的4 堆 jvm 管理最大的一份内存空间5 方法区 存储元信息(字节码信息) jdk8开始是元空间 之前是永久带6 运行时常量池 方法区的一部分7 直接内存(不是由jvm 管理的内存空间,只是由jvm申请的内存空间)...

2020-01-05 13:41:02 68

原创 jvm try cash finally 语句块字节码 方法重载

2020-01-03 17:11:43 424

原创 jvm字节码

一 calss字节码有两种数据类型1字节数据直接量 u1 u2 u4 u8 分别代表1个字节 2个字节 4个字节 8个字节2表(数组) 是由多个基本数据或者其他表按照既定的顺序组成的数据集合,表是有结构的,他的结构体体现在与组成表的成分所在的位置和顺序都是严格定义好的二访问标志 包括是类还是接口,是否是public 还是private 等之类的...

2020-01-03 15:43:17 55

原创 ZL jvm 字节码含义

1以16进制打开一个class 文件1 文件前4个字节是魔数2 魔数后的4个字节是版本号,对应jdk的版本号 jvm向下兼容class文件3常量池 (constant pool) 紧接着主版本号后面的就是常量池(长度不确定)一个java类定义的很多信息都是由常量池来维护的可以将常量池看作是class文件资源仓库比如java类中定义的方法黑变量信息都是存在常量池中,常量池中保存两类常...

2020-01-01 20:30:52 231

原创 zl jvm 25 系统类加载器26 ? 27线程上下文类加载器

1 系统类加载器会成为上下文加载器2 每一个类都会使用自己的类加载器(即加载自身的类加载器) 去加载其他类(指的是所依赖的类)3如果classA引用了classB nam classA的类加载器就会去加载classB(前提是classB之前没有被加载)4线程上下文类加载器4.1 类Thread有一个getContextClassLoader()和setContextClassLo...

2019-12-28 15:39:20 67

原创 zljvm11 22 23 类加载器

1扩张类加载器加载类必须在jar包里面2 在运行期间,一个java类是由该类的完全限定名字和用于加载给类的定义类加载器共同决定的3 如果同样名字的类(完全限定名字一样)但是由不同的类加载器所加载(两个加载器没有直接或者间接的父子关系),那么该类就是不同的,即使字节码相同4 在hotspot中,如果修改sun.boot.clsaa.path,那么就会出现运行错误5扩展类加载器跟应用类...

2019-12-26 21:44:36 71

原创 zljvm20 21 22 23

1子加载器所加载的类可以访问父加载器所加载的类,父加载器所加载的类不能访问子加载器所加载的类2 如今两个加载器没有直接或者间接的父子关系,所以两个加载器加载的类相互不可见(即使是同一份class字节码,加载在不同的没有关系加载器那么也不能强转)3类加载器双清委托模型的好处3.1 可以保证java核心库的类型安全,所有的java应用都会引用java.lang.object类,也就是...

2019-12-25 20:53:07 84

原创 zljvm 17

一 :类加载器命名空间当自定义加载器实例去加载同一个class 会产生两个class字节码对象2类加载器看起来是父子关系,实际上是子包含父关系3命名空间就是父加载器+自身加载器说包含的区域4如果一个加载器的父加载器已经加载了该字节码(命名空间里已有该类的全量名字),就不会再加载了5由用户自定义的类加载器所加载的类是可以卸载的,jvm自带的加载器加载的类不会被卸载...

2019-12-23 22:17:36 52

原创 zljvm11 12 13 14 类加载器

1类加载先是往父加载器抛,然后抛到根加载器,再从根加载器往下尝试加载2调用classlocader类的loadClass方法加载一个类,并不是对类的的主动使用,不会导致类的初始化3 用Class,forName()这种反射会去加载类并且初始化4上下文加载器一般是应用(系统)类加载器 Thread.currentThread.getContextClassLoader();5针对于数...

2019-12-23 21:42:00 64

原创 zljvm09

1 类的加载最终产品是位于内存中的class 对象2虚拟机自带的加载器 bootstrap(根类加载器) 扩展类加载器(extension) 系统类加载器(system)3用户自定义加载器 java.lang.ClassLoader的的子类4类加载器不需要等到主动使用再去加载5jvm规范允许类加载器在预料某个类将要使用的时候去预先加载,如果预先加载过程中遇到.class文件缺...

2019-12-21 10:21:57 67

原创 zljvm07 08

1:如果常量在编译的时候不能确定(例如 : UUID.rundomer()),那么该常量就不会放到调用类的常量池,这是在程序运行的时候,就会主动使用这个常量所在的类,则会导致该类的加载,该类的静态代码块就会执行2:初始化一个数组的时候 Test[] arr=new Test[1];并不会加载Test类,不会导致类初始化3助记符anewarray 创建一个引用类型的数据,并将其引用值压入...

2019-12-21 09:09:47 58

原创 ZL jvm06

public class Test3(){psvm{sout(Test2.str);}}public class Test2(){//static final 修饰的称之为常量public static final String str="hello world",static{public static final String str="h...

2019-12-18 22:54:11 70

原创 类加载三个阶段

一 加载 1.1 加载类的二进制数据二 连接 2.1验证 确保被加载类的正确 2.2 准备 为类的静态变量分配内存 并且将其初始化为默认值 2.3 解析 把类中的符号引用转换成直接引用三 初始化3.1 为类的静态变量赋予正确的初始值(开发人员赋予的真正的值)注意:使用 类加载器去加载并不会让类初始化,也就不会存在执行静态...

2019-12-18 22:27:19 203

转载 多线程 Phaser

https://blog.csdn.net/u010739551/article/details/51083004

2019-07-29 18:57:03 128

空空如也

空空如也

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

TA关注的人

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