JVM
JVM
一只叫狗的猫
空中楼阁
展开
-
JVM调优
JVM调优热点编译 对于程序来说,通常只有一部分代码被经常执行,这些关键代码被称为应用的热点,执行的越多就认为是越热。将这些代码编译为本地机器特定的二进制码,可以有效提高应用性能。选择编译器类型server 更晚编译,但是编译后优化很多,性能很高 client 很早就开始编译 XX:+ThredCompilation 开启分层编译 ,可以让jvm启动的时候启用...原创 2020-02-25 11:55:26 · 182 阅读 · 0 评论 -
类加载和双亲委派
类加载器 启动类加载器 存放在<hava_home>\lib下的,并且是虚拟机识别的类库加载到虚拟机内存中 拓展类加载器 存放在<hava_home>\lib\ext下的所有类库,开发者可以直接使用 应用类加载器 加载用户类路径上指定的类库,开发者可以直接使用,一般这就是程序中默认的类加载器双亲委派双亲委派:如果一个类...原创 2020-02-16 16:41:26 · 105 阅读 · 0 评论 -
JVM和底层实现原理
Java内存模型所有数据都存放在主内存中,每个线程都有自己的工作内存。工作内存中存放线程所需变量的拷贝,对变量的操作都是直接操作工作内存,之后再刷新到主内存。JVM内存布局 ...原创 2019-03-03 23:19:55 · 259 阅读 · 0 评论 -
Java垃圾回收(GC)机制
如何确定对象需要回收引用计数法 在对象中添加一个引用计数器,当有地方引用这个对象时,计数器的值就+1,引用失效时,计数器-1,当值为0的时候,标志着对象可以回收了。 当A调B方法,B调A方法,这样互相引用的时候,引用计数器就会失效。可达性分析法 从一系列成为GC Roots的对象作为起点,向下搜索,搜索所走的路径称为引用链,当一个对象到GC Roots没有任...原创 2019-03-03 23:37:55 · 244 阅读 · 0 评论 -
JVM(面试)知识点
类加载的执行过程类加载主要由JVM负责,类加载分为加载、连接、初始化。加载:jvm运行之前会把.class文件加载到内存,供程序使用,用到的就是类加载器ClassLoader。 连接:分为验证、准备、解析验证:确保类加载的正确性,一般情况由javac编译的class文件是不会有问题的,但是可能有人的class文件是自己通过其他方式编译出来的,这就很有可能不符合jvm的编 译规则,这一步...原创 2019-03-03 23:42:21 · 353 阅读 · 0 评论 -
JDK安装
Linux下载jar这里用的版本是jdk-8u201-linux-x64.tar.gz解压tar -zxvf jdk-8u201-linux-x64.tar.gz配置环境变量使用 vi /etc/profile, 修改配置文件export JAVA_HOME=/root/software/jdk/jdk1.8.0_201export PATH=$PATH:$JAVA_...原创 2019-03-09 16:57:51 · 169 阅读 · 0 评论