ByteBuddy 是 JavaAgent的一种实现,他的性能比较好,api使用起来也比较方便
本文主要简单介绍如何使用ByteBuddy操作字节码
首先引入依赖
<dependency>
<groupId&g...
汪明鑫
3年前 (2022-06-29) 570浏览 0评论
1喜欢
先上代码,先睹为快
public abstract class A {
public void print() {
System.out.println("A print ...");
}
public abstract void...
汪明鑫
3年前 (2022-06-29) 744浏览 0评论
0喜欢
概述
Java代码通过javac编译成字节码
JVM可以识别字节码,一处编写处处运行
JVM相当于是操作系统的中间一层抽象,屏蔽平台差异性
字节码并不是某种虚拟 CPU 的机器码,而是一种介于源码和机器码中间的一种抽象表示方法,不过字节码通过 JIT(J...
汪明鑫
3年前 (2022-06-21) 904浏览 0评论
0喜欢
转载请注明:汪明鑫的个人博客 » 图解 JMM
...
汪明鑫
3年前 (2022-06-09) 802浏览 0评论
1喜欢
都说乐观锁好,使用简单,性能好,那有什么局限性呢?
请求越多,更改的并发量越大,势必使很多请求持有的值都是旧值
要么丢失变更直接放弃,如果是业务层面写操作,直接影响业务
或者循环重试,这样又会有更多的失败,带来更久的自旋,浪费CPU资源
重则拖垮整个系统
拿 jav...
汪明鑫
3年前 (2022-06-09) 542浏览 0评论
0喜欢
首先 ConcurrentHashMap 是可以解决并发安全问题的容器
HashMap在并法操作下会出现各种各样的问题
HashTable也解决了兵法问题,但一锁就是整张表
代码也比较清楚
通过key得到hash,定位table中的位置
再去遍历当前Entry下的...
汪明鑫
3年前 (2022-06-09) 518浏览 0评论
0喜欢
Exception in thread “main” java.lang.OutOfMemoryError: unable to create new native thread
无意间遇到过这样的异常
意思是没法创建新的线程,线程肯定需要空间存储,但是线...
汪明鑫
3年前 (2022-06-07) 653浏览 0评论
0喜欢
从数据库主从角度
一般业内的数据集群规模都是一主多从
主提供写操作支持,从通过消费binlog转为relay log 同步数据
如果只有一个主,又要扛读流量,又要扛写流量,压力比较大
如果有多个主同时对外提供写的话,会有数据不一致的问题,需要有额外的逻辑去处理数据同步的问题
除非...
汪明鑫
3年前 (2022-03-21) 688浏览 0评论
6喜欢
本文一起了解一波JVM进程关闭回调的钩子方法
直接上demo
package pers.wmx.springbootfreemarkerdemo.util;
import lombok.extern.slf4j.Slf4j;
/**
* @author wan...
汪明鑫
3年前 (2021-12-14) 562浏览 0评论
7喜欢
Event Bus 事件总线,是观察者模式的实践。
首先明确我们的被观察者
可以是一个事件、消息、或者简单的对象
package pers.wmx.springbootfreemarkerdemo.eventbus.event;
/**
* @author wa...
汪明鑫
3年前 (2021-12-13) 591浏览 0评论
0喜欢