Java性能权威指南学习笔记-1
java性能权威指南学习笔记-1导论jvm调优标志布尔标志-XX:+FlagName 表示开启 -XX:-FlagName 表示关闭附带参数的标志-XX:FlagName=something,表示将标志flagName的值设置为somethingClient和Server类虚拟机java的自动优化前提是机器被分为"Client"和"Serve……
Java性能权威指南学习笔记-2
垃圾收集器入门最主流的四个垃圾收集器Serial收集器(常用于单CPU环境)Throughput(或Parallel)收集器Concurrent收集器(CMS)G1收集器垃圾收集器概述所有应用线程都停止运行所产生的停顿被称为时空停顿(stop-the-world)。垃圾收集由两步构成:查找不再使用的对象,以及释放这些对象所管理的内存。分代垃……
求解 springboot+mysql 随机出现的异常延迟
求解 springboot+mysql 随机出现的异常延迟两行紧挨着的代码,很简单的根据 id 更新一行数据,然后打印函数执行到此时的耗时打印出来的日志如下正常情况下两个打印出来的耗时差值应该是 10ms 以内但是每天会随机出现几个时间点,两个耗时差值会大于 1s 甚至 10 ~ 20s日志中可以看到并不是语句执行出现耗时,mybatis ……
socket接收发送缓冲区
socket接收发送缓冲区【tcp接收/发送滑动窗口与内核接收/发送缓冲区之间的关系】滑动窗口的大小与套接字缓存区会在一定程度上影响并发连接的数据,每个tcp连接都会为维护tcp滑动窗口而消耗内存,这个窗口会根据服务器的处理速度收缩或扩张。整个数据的流程中,首先网卡接收到的数据存放到内核缓冲区内,然后内核缓冲区存放的数据根据tcp信息将数据移动到具体的……
synchronized 锁机制的分析和验证
synchronized 锁机制的分析和验证原文:https://www.moralok.com/2023/12/19/analysis-and-verification-of-the-synchronized-lock-mechanism/本文详细介绍了 java 中 synchronized 锁的机制、存储结构、优化措施以及升级过程,并通过 jo……
JHSDB:基于服务性代理的调试工具
jhsdb:基于服务性代理的调试工具jhsdb是一款基于服务性代理(Serviceability Agent,SA)实现的进程外调试工具。服务性代理是HotSpot虚拟机中一组用于映射java虚拟机运行信息的、主要基于java语言(含少量JNI代码)实现的API集合。服务性代理以HotSpot内部的数据结构为参照物进行设计,把这些C++的数据抽象出java……
JVM GC 的安全点与安全区域
jvm GC 的安全点与安全区域OopMapjvm 采用的可达性分析法有个缺点,就是从 GC Roots 找引用链耗时。都说他耗时,他究竟耗时在哪里?GC 进行扫描时,需要查看每个位置存储的是不是引用类型,如果是,其所引用的对象就不能被回收;如果不是,那就是基本类型,这些肯定是不会引用对象的;这种对 GC 无用的基本类型的数据非常多,每次 GC 都要……
MVCC能否解决幻读?
mvcc能否解决幻读?“幻读”指,同一个事务里面连续执行两次同样的sql语句,可能导致不同结果的问题,第二次sql语句可能会返回之前不存在的行。先给出结论:不能笼统的说能不能解决,因为有的情况下可以解决,但是有的情况下解决不了。可以解决的情况mysql里面实际上有两种读,一种是“快照读”,比如我们使用select进行查询,就是快照读,在“快照读&q……
什么是日志系统和日志门面?分别有哪些框架?
什么是日志系统和日志门面?分别有哪些框架?日志系统是具体的日志框架,日志门面是不提供日志的具体实现,而是在运行时动态的绑定日志实现组件来工作,是一种外观模式。日志系统java.util.logging (JUL),JDK1.4 开始,通过 java.util.logging 提供日志功能。虽然是官方自带的log lib,JUL的使用确不广泛。Lo……
Java基本类型的物理存储大小
java基本类型的物理存储大小在java中我们知道byte就表示一个字节,像char是两个,int是四个。现在有这样一个问题,在32位的jvm中一个byte的实际存储大小是4个字节,int不用说也是四个,那么char是不是也是四个?怎么证明?楼主的先入观点把几种不同的概念混为一谈了。=================================……