• 欢迎访问本站,本站记录博主日常编程遇到的问题,知识,惊奇软件等。如有问题还请留言


    Deprecated: strip_tags(): Passing null to parameter #1 ($string) of type string is deprecated in /www/wwwroot/gschaos.club/wp-content/themes/Git-alpha-6h0SRk/header.php on line 294
问题排查

问题排查

问题排查JDK自带的定位问题的工具?jps jps是jdk提供的一个查看当前java进程的小工具, 可以看做是javaVirtual Machine Process Status Tool的缩写。jps –l # 输出输出完全的包名,应用主类名,jar的完全路径名 jstack jstack是jdk自带的线程堆栈分析工具,使用该命令可以查看或导……

Java性能权威指南学习笔记-1

Java性能权威指南学习笔记-1

java性能权威指南学习笔记-1导论jvm调优标志布尔标志-XX:+FlagName 表示开启 -XX:-FlagName 表示关闭附带参数的标志-XX:FlagName=something,表示将标志flagName的值设置为somethingClient和Server类虚拟机java的自动优化前提是机器被分为"Client"和"Serve……

Java性能权威指南学习笔记-2

Java性能权威指南学习笔记-2

垃圾收集器入门最主流的四个垃圾收集器Serial收集器(常用于单CPU环境)Throughput(或Parallel)收集器Concurrent收集器(CMS)G1收集器垃圾收集器概述所有应用线程都停止运行所产生的停顿被称为时空停顿(stop-the-world)。垃圾收集由两步构成:查找不再使用的对象,以及释放这些对象所管理的内存。分代垃……

求解 springboot+mysql 随机出现的异常延迟

求解 springboot+mysql 随机出现的异常延迟

求解 springboot+mysql 随机出现的异常延迟两行紧挨着的代码,很简单的根据 id 更新一行数据,然后打印函数执行到此时的耗时打印出来的日志如下正常情况下两个打印出来的耗时差值应该是 10ms 以内但是每天会随机出现几个时间点,两个耗时差值会大于 1s 甚至 10 ~ 20s日志中可以看到并不是语句执行出现耗时,mybatis ……

socket接收发送缓冲区

socket接收发送缓冲区

socket接收发送缓冲区【tcp接收/发送滑动窗口与内核接收/发送缓冲区之间的关系】滑动窗口的大小与套接字缓存区会在一定程度上影响并发连接的数据,每个tcp连接都会为维护tcp滑动窗口而消耗内存,这个窗口会根据服务器的处理速度收缩或扩张。整个数据的流程中,首先网卡接收到的数据存放到内核缓冲区内,然后内核缓冲区存放的数据根据tcp信息将数据移动到具体的……

synchronized 锁机制的分析和验证

synchronized 锁机制的分析和验证

synchronized 锁机制的分析和验证原文:https://www.moralok.com/2023/12/19/analysis-and-verification-of-the-synchronized-lock-mechanism/本文详细介绍了 java 中 synchronized 锁的机制、存储结构、优化措施以及升级过程,并通过 jo……

arthas使用

arthas使用

arthas使用获取当前的实例属性值vmtool测试使用的类@Servicepublic class UserService { @Value("${user.default.pwd}") private String userDefaultPwd;}配置文件 [可以使用appllo或者其他支持热更新配……

如何看懂字节码文件

如何看懂字节码文件

如何看懂字节码文件测试使用的类public class Test { public int i; public long y;}基础概念每个Class文件的头4个字节被称为魔数(Magic Number),它的唯一作用是确定这个文件是否为一个能被虚拟机接受的Class文件。不仅是Class文件,很多文件格式标准中都有使用魔数……

JHSDB:基于服务性代理的调试工具

JHSDB:基于服务性代理的调试工具

jhsdb:基于服务性代理的调试工具jhsdb是一款基于服务性代理(Serviceability Agent,SA)实现的进程外调试工具。服务性代理是HotSpot虚拟机中一组用于映射java虚拟机运行信息的、主要基于java语言(含少量JNI代码)实现的API集合。服务性代理以HotSpot内部的数据结构为参照物进行设计,把这些C++的数据抽象出java……

JVM GC 的安全点与安全区域

JVM GC 的安全点与安全区域

jvm GC 的安全点与安全区域OopMapjvm 采用的可达性分析法有个缺点,就是从 GC Roots 找引用链耗时。都说他耗时,他究竟耗时在哪里?GC 进行扫描时,需要查看每个位置存储的是不是引用类型,如果是,其所引用的对象就不能被回收;如果不是,那就是基本类型,这些肯定是不会引用对象的;这种对 GC 无用的基本类型的数据非常多,每次 GC 都要……

MVCC能否解决幻读?

MVCC能否解决幻读?

mvcc能否解决幻读?“幻读”指,同一个事务里面连续执行两次同样的sql语句,可能导致不同结果的问题,第二次sql语句可能会返回之前不存在的行。先给出结论:不能笼统的说能不能解决,因为有的情况下可以解决,但是有的情况下解决不了。可以解决的情况mysql里面实际上有两种读,一种是“快照读”,比如我们使用select进行查询,就是快照读,在“快照读&q……

什么是日志系统和日志门面?分别有哪些框架?

什么是日志系统和日志门面?分别有哪些框架?

什么是日志系统和日志门面?分别有哪些框架?日志系统是具体的日志框架,日志门面是不提供日志的具体实现,而是在运行时动态的绑定日志实现组件来工作,是一种外观模式。日志系统java.util.logging (JUL),JDK1.4 开始,通过 java.util.logging 提供日志功能。虽然是官方自带的log lib,JUL的使用确不广泛。Lo……

三级缓存

三级缓存

三级缓存前言循环依赖:就是N个类循环(嵌套)引用。 通俗的讲就是N个Bean互相引用对方,最终形成闭环。用一副经典的图示可以表示成这样(A、B、C都代表对象,虚线代表引用关系): 在这里插入图片描述注意:其实可以N=1,也就是极限情况的循环依赖:自己依赖自己 另需注意:这里指的循环引用不是方法之间的循环调用,而是对象的相互依赖关系。(方法之间……

负载均衡

负载均衡

负载均衡年轻的时候看到文章说到百万并发总是感慨万千,虽然很多文章都是标题上有两个字,但是也不妨碍我对这些的憧憬,到底怎么样才能扛百万并发呀?这系统该多么牛逼呀但是接触多了高并发的系统,再系统学习这方面知识后 ,你就会发现 : 百万并发确实牛皮,但是也没有那么神秘。虽然有不少技术点,但是思路其实不难。核心要点 :不论多大的流量,其最终的目的都是对流量进……

Java基本类型的物理存储大小

Java基本类型的物理存储大小

java基本类型的物理存储大小在java中我们知道byte就表示一个字节,像char是两个,int是四个。现在有这样一个问题,在32位的jvm中一个byte的实际存储大小是4个字节,int不用说也是四个,那么char是不是也是四个?怎么证明?楼主的先入观点把几种不同的概念混为一谈了。=================================……