Quguang's Blog

当你的才华还撑不起你的野心的时候,你就应该静下心来学习;当你的能力还驾驭不了你的目标时,就应该沉下心来,历练;梦想,不是浮躁,而是沉淀和积累,只有拼出来的美丽,没有等出来的辉煌,机会永远是留给最渴望的那个人。

JVM 工具

本文介绍了常用的JDK的命令行工具


Java虚拟机是如何加载Java类的?

Java虚拟机是如何加载Java类的?

虚拟机规范并没有指明二进制字节流要从一个Class文件获取,或者说根本没有指明从哪里获取、怎样获取。这种开放使得Java在很多领域得到充分运用,例如:

  • 从ZIP包中读取,这很常见,成为JAR,EAR,WAR格式的基础
  • 从网络中获取,最典型的应用就是Applet
  • 运行时计算生成,最典型的是动态代理技术,在java.lang.reflect.Proxy中,就是用了ProxyGenerator.generateProxyClass来- 为特定接口生成形式为“*$Proxy”的代理类的二进制字节流
  • 由其他文件生成,最典型的JSP应用,由JSP文件生成对应的Class类

从class文件到内存中的类,按先后顺序需要经过加载、链接、以及初始化三大步骤。


Java工程师成神之路(2018修订版)

网罗了比较全面的java技术栈。

本文基于微信公众号文章基础上添加,原文链接: https://mp.weixin.qq.com/s/UKwZkwYmDSVTbj62ACuapg


markdown语法示例

本文是markdown语法的示例


对象存活判断、垃圾收集算法和垃圾收集器

全文出自《深入理解java虚拟机》第三章。 垃圾收集器与内存分配策略。包含三部分内容:如何判断哪些对象需要回收,如何回收和一些常见的垃圾收集器。