摘要: 一、JVM CLI 工具 JDK 自带了一些实用的命令行工具来监控 JVM。 名称描述 jps 显示指定系统内所有的 HotSpot 虚拟机进程。 jstat 用于监视虚拟机运行时状态信息,它可以显示出虚拟机进程中的类装载、内存、垃圾收集、JIT 编译等运行数据。 jmap 用于生成堆转储快照(一般 阅读全文
posted @ 2020-07-06 23:57 turbosha 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 一、类加载机制 类是在运行期间动态加载的。 什么是类加载 类的加载指的是将类的.class 文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class 阅读全文
posted @ 2020-07-06 23:55 turbosha 阅读(137) 评论(0) 推荐(0) 编辑
摘要: JVM 字节码 Java 之所以可以“一次编译,到处运行”,一是因为 JVM 针对各种操作系统、平台都进行了定制,二是因为无论在什么平台,都可以编译生成固定格式的字节码(.class 文件)供 JVM 使用。 .class 文件是一组以 8 位字节为基础单位的二进制流,各个数据项严格按照顺序紧凑地排 阅读全文
posted @ 2020-07-06 23:53 turbosha 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的生命周期内,线程结束之后也会消失,因此不需要对这三个区域进行垃圾回收。垃圾回收主要是针对 Java 堆和方法区进行。 一、对象活着吗 引用计数算法 给对象添加一个引用计数器,当对象增加一个引用时计数器加 1,引用失效时计数器减 阅读全文
posted @ 2020-07-06 23:52 turbosha 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 一、运行时数据区域 JVM 在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。如下图所示: 程序计数器 程序计数器(Program Counte 阅读全文
posted @ 2020-07-06 23:46 turbosha 阅读(144) 评论(0) 推荐(0) 编辑
摘要: JVM 能跨平台工作,主要是由于 JVM 屏蔽了与各个计算机平台相关的软件、硬件之间的差异。 JVM 简介 计算机体系结构 真实的计算机体系结构的核心部分包含: 指令集 计算单元(CPU) 寻址方式 寄存器 存储单元 JVM 体系结构简介 JVM 体系结构与计算机体系结构相似,它的核心部分包含: J 阅读全文
posted @ 2020-07-06 23:44 turbosha 阅读(104) 评论(0) 推荐(0) 编辑
摘要: HTTP-报文结构 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。 默认HTTP的端口号为80,HTTPS的端口号为443。 HTTP协议是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系。 1、请求报文 一个HTTP请求由请求行、请求头 阅读全文
posted @ 2020-07-04 17:53 turbosha 阅读(269) 评论(0) 推荐(0) 编辑
摘要: TCP的四次挥手(Four-Way Wavehand) 1、“四次挥手”的详解 所谓的四次挥手即TCP连接的释放(解除)。连接的释放必须是一方主动释放,另一方被动释放。 以下为客户端主动发起释放连接的图解: 挥手之前主动释放连接的客户端结束ESTABLISHED阶段。随后开始“四次挥手”: (1)首 阅读全文
posted @ 2020-07-04 17:49 turbosha 阅读(217) 评论(0) 推荐(0) 编辑
摘要: TCP的三次握手(Three-Way Handshake) 1.“三次握手”的详解 所谓的三次握手即TCP连接的建立。这个连接必须是一方主动打开,另一方被动打开的。以下为客户端主动发起连接的图解: 握手之前主动打开连接的客户端结束CLOSED阶段,被动打开的服务器端也结束CLOSED阶段,并进入LI 阅读全文
posted @ 2020-07-04 17:27 turbosha 阅读(215) 评论(0) 推荐(0) 编辑
摘要: TCP-报文结构 TCP提供一种面向连接的、全双工的、可靠的字节流服务。在一个TCP连接中,仅有两方进行彼此通信。广播和多播不能用于TCP。TCP的接收端必须丢弃重复的数据。TCP对字节流的内容不作任何解释。对字节流的解释由TCP连接双方的应用层解释。 TCP通过下列方式来提供可靠性: 应用数据被分 阅读全文
posted @ 2020-07-03 21:10 turbosha 阅读(1475) 评论(0) 推荐(0) 编辑