JVM-调优参数 JVM——调优参数JVM调优是通过调整Java虚拟机的配置来提升Java应用程序的性能的过程。这包括优化堆内存设置、选择合适的垃圾收集器以及调整其他性能相关的参数。JVM调优的目的是提高性能、优化资源利用,并增强稳定性。 常用JVM调优参数以下是一些常用的JVM调优参数,特别是对于JVM 8版本: -Xms 和 -Xmx:设置堆的起始大小和最大大小。 -XX:+UseG1GC:使用G1垃圾收集器 2025-05-19 JVM
TCP2 TCP2 TCP 是面向连接的、可靠的、基于字节流的传输层通信协议。 TCP为什么可靠? TCP通过三次握手、四次挥手保证连接的可靠性 然后通过校验和、序列号确认机制、超时重传、流量控制、拥塞控制等机制保证数据的可靠传输 1. 重传机制1.1 超时重传重传机制的其中一个方式,就是在发送数据时,设定一个定时器,当超过指定的时间后,没有收到对方的 ACK 确认应答报文,就会重发该数据,也就是我们 2025-05-19 计算机网络
TCP1 TCP1 引用:小林coding 1. 什么是TCPTCP 是面向连接的、可靠的、基于字节流的传输层通信协议。 2. TCP与UDP区别 TCP UDP 连接 TCP 是面向连接的传输层协议,传输数据前先要建立连接。 UDP 是不需要连接,即刻传输数据。 服务对象 TCP 是一对一的两点服务,即一条连接只有两个端点。 UDP 支持一对一、一对多、多对多的交互通信 可靠性 T 2025-05-19 计算机网络
HTTP HTTP 引用:小林coding 1. HTTP基本知识1.1 HTTP是什么HTTP 是超文本传输协议,也就是HyperText Transfer Protocol。 1.2 HTTP常见的状态码有哪些 1xx 1xx 类状态码属于提示信息,是协议处理中的一种中间状态,实际用到的比较少。 2xx 2xx 类状态码表示服务器成功处理了客户端的请求,也是我们最愿意看到的状态。 「2 2025-05-17 计算机网络
Interceptor 拦截器Interceptor的使用及原理 引用:https://blog.csdn.net/qq_45875349/article/details/139187564?fromshare=blogdetail&sharetype=blogdetail&sharerId=139187564&sharerefer=PC&sharesource=m0_51140831&a 2025-05-17 杂
JVM-垃圾回收器 JVM——垃圾回收器1. 垃圾回收器分类分类标准:串行/并行、并发/独占、压缩式/非压缩式、年轻代/老年代 2. 回收器评价标准 吞吐量:$\frac{t_{运行用户代码}}{t_{运行用户代码} + t_{垃圾回收}}$,即尽可能让单位时间内的STW时间最短 暂停时间:尽可能让单次STW时间最短 3. Serial回收器 串行;年轻代为Serial(标记 2025-05-16 JVM
JVM-垃圾回收算法 JVM——垃圾回收算法 垃圾:运行程序中没有任何指针指向的对象 1. 标记阶段 引用计数法:每个对象保存一个引用计数器,记录对象被引用的情况 优点:实现简单 缺点:计数器增加了存储空间开销;计数器更新增加了时间开销;无法处理循环引用 可达性分析:以GCRoots集合为起始点,所有存活对象都会被GCRoots集合直接或间接连接 GCRoots:一组必须活跃的引用(虚拟机栈中的引用对象、 2025-05-16 JVM
JVM-字符串常量池 JVM——字符串常量池StringTableString JDK8及以前:final char[] value JDK9及以后:final byte[] value 因为大多数字符串只包括拉丁字符,只需1字节的存储空间,而char占2字节,若使用char[],会有将近一半空间被浪费 String的不可变性 String类型声明为final,说明String不可被继承 String内部存储内容的也 2025-05-16 JVM
JVM-执行引擎 JVM——执行引擎为什么说JAVA是“半编译半解释型”语言? 事实上,这里的“半编译”应该指的是JIT编译 JVM的编译器 Client Compiler(C1):注重启动速度、局部优化 Server Compiler(C2):注重全局优化 JVM的分层编译 层级0:解释器 层级1:C1编译器+轻量级优化 层级2:C1编译器+完整优化 层级3:C1编译器+分析数据收集 层级4:C2编译器 2025-05-16 JVM
JVM-运行时数据区 JVM——运行时数据区 运行时数据区包含:PC寄存器、本地方法栈、虚拟机栈、堆、元数据区、CodeCache 1. PC寄存器存储下一条指令的地址(线程私有) 不存在StackOverflowError和OutofMemoryError 2. 本地方法栈管理本地方法的调用(线程私有) 存在StackOverflowError和OutofMemoryError 3. 虚拟机栈线程私有,内部保存一个 2025-05-16 JVM