On the way

使用dom4j解析xml

配置 dom4j 使用 jaxen 来解析 xpath,如果不加上的话,在使用 document.selectNodes 解析xpath的时候会报错 java.lang.NoClassDefFoundError: org/jaxen/JaxenException <dependencies> <!-- https://mvnrepository.com/arti...

jvm性能监控工具

内存堆转储快照分析 public class HeapOOM { static class OOMObject { } public static void main(String[] args) { List<OOMObject> list = new ArrayList<OOMObject>(); while (true) { list.a...

java并发

马士兵老师高并发编程系列 学习: https://www.bilibili.com/video/av11076511/ 源代码:https://github.com/EduMoral/edu/blob/master/concurrent/src/yxxy/ 001 public class T { private int count = 10; private Object o...

java 垃圾回收

内容来自《深入理解java虚拟机》 第3章 垃圾收集器与内存分配策略 永久代? 怎么判断对象是否存活? 引用计数算法 会有循环引用的问题 可达性分析算法(✔️) 从 GC Roots 节点开始向下搜索,搜不到的则判定为可回收的对象。 可以作为GC Roots 的对象: 虚拟机栈中引用的对象 方法区中类静态对象属性引用的对象 方法区常量引用的对象 本地方法栈J...

join、CountDownLatch、CyclicBarrier

join、CountDownLatch、CyclicBarrier join public class Test { public static void main(String[] args) throws Exception { Thread thread = (new Thread(() -> { try { ...

thread.join-vs-wait

join 和 wait 区别? Thread 类里定义了三个join 方法: // 等待当前这个线程结束,但是最多等待 millis 毫秒,millis=0表示永远等待 public final synchronized void join(long millis) throws InterruptedException { long base = System.currentT...

TPS和QPS区别

TPS 和 QPS 区别 QPS:Queries Per Second,每秒查询率,是一台服务器每秒能够响应的请求次数,是对一个特定的查询服务器在规定时间内所处理请求多少的衡量标准。 TPS:Transactions Per Second,每秒处理的事务数,一般是指每秒处理的原子操作数(事务的原子性?)。严格来讲一般用于数据库管理系统。 参考 https://en.wikipe...

RocketMQ

Quick start 下载 在 ~/.bashrc 配置 export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home 并使之生效 source ~/.bashrc。 启动 nameserver nohup sh bin/mqnamesrv & tail...

ProcessBuilder 和 Runtime 的区别

ProcessBuilder 和 Runtime 的区别 Runtime是java1.0就有的API,ProcessBuilder是1.5才添加,但是目前看源代码,Runtime的内部实现其实就是用的ProcessBuilder。 Runtime public class Runtime { private static Runtime currentRuntime = new...

System.exit-vs-return

System.exit()和return的区别? 在main()中的区别: 当用return返回时,main()并不能立即运行结束,因为可能有其他的非后台线程正在执行。 而用System.exit(数值);时,main()将立即无条件的结束。 system.exit(0)表示程序正常退出,system.exit(1)表示非正常退出,都没有返回值。 参考: https://blog....