JVM
文章平均质量分 83
trigger333
When you work, work. When you laugh, laugh.
展开
-
JVM 垃圾回收日志分析
JVM 垃圾回收就是JVM中有一些线程用来处理 程序运行过程中 堆内存不够的情况,堆内存不够,就把一些不用的堆上的对象清除腾出空间容纳新对象。所以JVM 垃圾回收就需要判断哪些对象是垃圾,采用哪种策略去回收这些垃圾,回收的时候还需要注意停顿时间,不要对正常的线程运行造成明显的影响。如果最后发现在怎么清理也没有办法容纳新对象,那么就OOM。原创 2022-10-24 23:12:42 · 499 阅读 · 0 评论 -
Java创建一个对象的过程是怎样的
目录 举个例子 对象创建过程 1.检测类是否被加载: 2.为对象分配内存: 3.为分配的内存空间初始化零值: 4.对对象进行其他设置: 5.执行 init 方法: Java属性在类加载过程中的初始化顺序 举个例子 class Fu { { System.out.println("这是父类的匿名代码块:父类的非静态属性"); } static { System.out.printl原创 2022-04-04 16:53:04 · 275 阅读 · 0 评论 -
JVM的构成 (类加载子系统、执行引擎、运行时数据区)
目录 JVM由三部分组成 1. 类加载子系统,可以根据指定的全限定名来载入类或接口。 Java类加载机制_trigger333的博客-CSDN博客_java类加载的机制 2. 执行引擎,负责执行那些包含在被载入类的方法中的指令。 3. 运行时数据区. JVM内存结构_trigger333的博客-CSDN博客_jvm内存结构 具体的 JVM由三部分组成 类加载子系统、执行引擎、运行时数据区。 1. 类加载子系统,可以根据指定的全限定名来载入类或接口。 Java类加载机制_tr...原创 2022-04-03 17:25:04 · 947 阅读 · 0 评论 -
volatile 的实现原理
volatile的作用 保证变量可见性 防止指令重排序 : 例子:双重校验锁的懒汉式单例模式 实现原理 如何保证可见性 java通过几种原子操作完成工作内存和主内存的交互,volatile规定 load之前必须read,这样保证每次读的时候会从主存中读取。 Java变量的读写 Java通过几种原子操作完成工作内存和主内存的交互: lock:作用于主内存,把变量标识为线程独占状态。 unlock:作用于主内存,解除独占状态。 read:作用主内存,把一个变量的值从主内存传输到原创 2022-04-04 16:15:02 · 221 阅读 · 0 评论 -
JVM调优
目录 JVM启动参数 实际例子 基础知识 垃圾回收器 Serial + Serial Old串行 Parallel + Parallel Old吞吐量优先 CMS响应时间优先 CMS回收过程可以分为哪些步骤? CMS的问题 调优步骤 新生代调优 新生代比例越大越好吗 老年代调优 JVM启动参数 实际例子 import java.util.ArrayList; /** * 演示内存的分配策略 */ public class Demo2_1 ...原创 2022-03-27 22:10:36 · 672 阅读 · 0 评论 -
Java类加载机制
类加载器,双亲委派机制,类加载的三个阶段。 目录 类加载过程 加载阶段 链接阶段 验证 准备 解析 初始化 类加载机制 类加载器 双亲委派机制 类加载过程 我们编写的java文件都是保存着业务逻辑代码。java编译器将 .java 文件编译成扩展名为 .class 的文件。.class 文件中保存着java转换后,虚拟机将要执行的指令。当需要某个类的时候,java虚拟机会加载 .class 文件,并创建对应的class对象,将class文件加载到虚拟机的内存,这个过程被称为类的原创 2022-03-02 14:59:43 · 809 阅读 · 0 评论 -
JVM垃圾回收
垃圾回收简介,垃圾回收器介绍,如何调优,调优的基本思路。 主要内容参考:黑马 JVM 目录 垃圾回收 判断(谁被回收) 四种引用 分代垃圾回收工作机制 简述分代垃圾回收器是怎么工作的? 你知道一个对象怎么从新生代变成老年代吗 如果子线程堆区溢出,会影响主线程的正常运行吗? 垃圾回收策略(怎么回收) 新生代垃圾回收器和老年代垃圾回收器都有哪些?有什么区别? 垃圾回收器 Serial + Serial Old串行 Parallel + Parallel Old吞吐量优先 CMS响应原创 2022-03-02 12:04:24 · 718 阅读 · 0 评论 -
JVM内存结构
问题: OOM,GC问题怎么解决,JVM调优。JVM参数设置。 java api 还是运行在jvm虚拟机上。 内功就是jvm 相当于公式的推导过程。 底层问题,高工资。 架构师关心的两个问题:如何让我的系统更快? 如何避免系统出现瓶颈。 如何精进自己的技术? 知乎上有条帖子:应该如何看招聘信息,直通年薪50万+? 参与现有系统的性能优化,重构,保证平台性能和稳定性 根据业务场景和需求,决定技术方向,做技术选型 能够独立架构和设计海量数据下高并发分布式解决方案,满足功能和非功 能需求 解决...原创 2022-03-02 11:18:53 · 342 阅读 · 0 评论 -
Stringtable 串池经典面试题
Stringtable串池 简单介绍 常量池中的字符串仅是符号,第一次用到时才变为字符串对象 利用串池的机制,来避免重复创建字符串对象 ,如果两个字符串(作为key)一样,那么就会使用同一份。 可以使用 intern 方法,主动将串池中还没有的字符串对象放入串池 1.6 将这个字符串对象尝试放入串池,如果有则并不会放入,如果没有会把此对象复制一份(原来的对象没有变,只是在常量池中多了一个字符串), 放入串池, 会把串池中的对象返回。 1.8 将这个字符串对象尝试放入串池,如果有则并不会放入,如果原创 2022-03-02 11:02:43 · 163 阅读 · 0 评论