BY Blog

Thinking will not overcome fear but action will.

jvm

jvm笔记

jvm SA SA是什么 https://medium.com/@ThilinaAshenGamage

tcp协议

tcp协议笔记

TCP协议 TCP提供了一种面向连接的、可靠的字节流服务。面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。但其实,网络上的传输是没有连接的,包括TCP也是一样的。而TCP所谓的“连接”,其实只不过是在通讯的双方维护一个“连接状态”,让它看上去好像有连接一样。在一个TCP连接中,仅有两方进行彼此通信。 名词 RTT: MSS:...

jvm

jvm笔记

jvm JVM和JRE和JDK的区别 JRE(Java运行时环境):运行Java应用程序所需的最低环境(不支持开发)。它包括JVM(Java虚拟机)和部署工具。 JDK(Java开发工具包):用于开发和执行Java应用程序的完整开发环境。它包括JRE和开发工具。 JRE供用户使用,而JDK供程序员使用。 JVM整体架构 JVM只是一个规范,每个供应商的实现都不同。现在,...

代码工具:jol

代码工具:jol

代码工具:jol JOL(Java对象布局)是用于分析JVM中的对象布局方案的微型工具箱。这些工具大量使用Unsafe,JVMTI和Serviceability Agent(SA)来解码实际的 对象布局,占用空间和引用。这使得JOL比依赖堆转储的其他工具更加准确。 作为maven包引入 OpenJDK社区将这些发行版本定期地推送到Maven Central,你可以通过在pom中添加以下...

TCP中backlog参数的作用

TCP中backlog参数的作用

TCP中backlog参数的作用 当应用程序通过使用系统调用listen函数将套接字置于LISTEN状态时,它需要为该套接字指定一个 backlog。 backlog通常被描述为用于限制传入的连接数的队列。 由于TCP使用三次握手,因此传入连接在到达ESTABLISHED状态之前会经过SYN RECEIVED的中间状态,并且可以通过accept系统调用返回到应用程序(请参见上面的TC...

GC调整:工具

GC调整:工具

GC调整:工具 在优化JVM以实现更高效的垃圾收集之前,您需要获取有关其当前行为的信息,以了解GC对您的应用程序的影响以及最终用户的感知。有多种方法可以观察GC的工作,在本章中我们将介绍几种不同的可能性。 在观察GC行为时,JVM运行时提供了原始数据。此外,还有可以根据原始数据计算的派生度量。例如,原始数据包含: 目前占用的内存池, 内存池的容量, 个别GC暂停的持续时间...

GC调整:实践

GC调整:工具

GC调整:实践 应用程序中的错误可能是由于较差的JVM性能以及其他棘手的原因造成的。使用Plumbr找到根本原因。 本章介绍了垃圾收集可能遇到的几个典型性能问题。这里给出的示例源自实际应用,但为了清楚起见被简化。 高分配率 分配率是在传达每个时间单位分配的内存量时使用的术语。通常以MB /秒表示,但如果您愿意,可以使用PB /年。所有这一切 - 没有魔力,只是你在一段时间内测量的Ja...

GC算法:实现

GC算法:实现

GC算法:实现 我们已经回顾了GC算法背后的核心概念,现在让我们转向到JVM中的特定实现。首先我们需要认识到的一个要点是,对于大多数JVM而言,需要两种不同的GC算法 - 一种用于清除年轻代,另一种用于清除老年代。 您可以指定JVM中实现的各种垃圾回收算法。如果未明确指定垃圾收集算法,则JVM将使用特定平台的默认算法。在本章中,将解释每种算法的工作原理。 以下列表是一个快速备忘清单,可...

GC算法

GC算法:基础知识

GC算法:基础知识 在深入了解垃圾收集算法的实际实现细节之前,定义所需的术语并理解支持实现的基本原则将是有益的。具体细节因垃圾收集器而异,但一般而言,所有垃圾收集器都集中在以下两个方面: 找出所有仍然存活的对象; 清除一切所谓的死亡的和未使用的对象。 ​ 关于对存活的对象的查找,所有垃圾收集器都是在名为Marking(标记)的过程中实现的。 标记可达对象 现在在...

CAP定理

CAP定理的图解证明

CAP定理的图解证明 该CAP定理是在分布式系统中的一个基本定理,指出任何分布式系统最多可以有两个以下三个属性。 一致性 可用性 分区容错性 本指南将总结 Gilbert和Lynch的规范以及 带有图片的CAP定理的证明! 什么是CAP定理? CAP定理指出分布式系统不能同时具有一致性,可用性和分区容错性。听起来很简单,但保持一致性意味着什么?可用性是什么?分区容忍...