
java
文章平均质量分 82
life is ftc
会的越多,不会的越多!Life is Fantastic,愿我多年之后还是从前那个少年!
展开
-
重谈Java类加载机制
一、什么是类加载机制虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这就是虚拟机的类加载机制二、类加载的步骤加载 通过全限定名获取定义此类的二进制字节流; 将字节流所代表的静态存储结构转化为方法区的运行时数据结构; 在内存中生成一个代表该类的Class对象; 连接 验证:确保Class文件的字节流中包含的信息符合《Java虚拟机规范》,文件格式验证、元数据验证、字节码验证、符号引用验证等;原创 2021-08-14 18:02:37 · 360 阅读 · 1 评论 -
JVM篇:垃圾收集器总结
太老的收集器就不做笔记了,想了解的可以看《深入理解JVM》只要有垃圾收集和用户线程并行的,就必须要考虑新对象创建的问题;三个重要指标:内存占用、吞吐量、延迟; 与CAP协议类似的,三者不可兼得。。。垃圾收集器追求的变化:之前追求一次把整个java堆清理干净; 从G1开始追求收集的速度赶上对象分配的速度;一、ParNew+CMSParNewSerial的多线程版本CMS初始标记:枚举根节点,stw 并发标记 重新标记:stw 并发清除缺点:无法处理浮动垃圾原创 2021-06-20 16:43:12 · 206 阅读 · 0 评论 -
深入理解java虚拟机(二):Java内存区域与内存溢出异常
运行时数据区域java虚拟机所管理的内存包括以下几个运行时数据区域一、程序计数器程序计数器是一块较小的内存空间,它可以看做当前线程所执行的字节码的行号指示器。在虚拟机的概念模型中,字节码解释器工作时就是通过改变这个计数器的值来选择下一条需要执行的字节码指令。java虚拟机的多线程是通过线程线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器都只会执行...原创 2019-11-10 18:13:59 · 182 阅读 · 0 评论 -
设计模式学习(一):单例模式学习
单例模式:顾名思义就是对于某个类来说只有一个该类的对象存在于内存之中。一、定义: 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。例如:每台计算机可以有若干个打印机,但只能有一个Printer Spooler,以避免两个打...原创 2019-02-22 14:15:47 · 159 阅读 · 0 评论