- 
                Java 并发编程之 AtomicBoolean
                
代码 public class AtomicBooleanDemo { public static void main(String[] args)
 
- 
                Java 并发编程之 AtomicInteger AtomicLong
                
说明 AtomicInteger和AtomicLong原子类,保证了并发时线程安全的累加操作。底层是使用CAS原理。 AtomicInteger 原子整型类 A
 
- 
                Java jcmd 命令动态修改 JVM 启动参数
                
说明 文中的12345为进程的pid。 列出所有标志 Linux jcmd 12345 VM.flags -all | grep manageable Wind
 
- 
                IDEA Debug 人为修改数值模拟数据不一致情况
                
场景 在CAS的compareAndSet中,需要比较原先的值,模拟多线程修改了数值。 使用 在Debug的Variables面板中,选择变量,右键,选择Set
 
- 
                IDEA Debug 查看方法返回值
                
示例 在Math.random();这行打上一个断点,查看其返回的具体值。 public class DebugMethodReturnValue {
 
- 
                OpenResty 使用 Certbot 生成 SSL 证书
                
操作系统 Centos8 安装 snap 包管理器 安装epel仓库并更新 sudo dnf install epel-release sudo dnf u
2021-09-15, Views: 5501 , Topics: OpenResty HTTPS Let's Encrypt
 
- 
                移动端使用 Chrome 开发者工具调试网页
                
备注 Chrome竟然连接不上,Edge虽然有些延迟却能连接上 (Emm...没有看错,就是Chrome连不上,Edge可以。) 设备 Android手机或平
 
- 
                Chrome 开发者工具模拟 WebSocket 弱网环境
                
结论 目前开发者工具对于WebSocket的弱网环境还没有支持,更改Throttling对WebSocket建立连接时有用,建立连接后不起作用。 相关 Bug
 
- 
                JavaScript WebSocket 为什么不提供 ping 和 pong
                
原因 WebSocket是基于TCP的长链接,保持长连接的功能由TCP的keepalive实现。当网络由连接态到中断态再到连接态转换时,TCP可能仍然保持了连接
2021-09-10, Views: 6253 , Topics: WebSocket JavaScript
 
- 
                Java WebSocket The remote endpoint was in state [TEXT_FULL_WRITING] which is an invalid state for called method
                
版本 使用了javax.websocket的api。 错误信息 java.lang.IllegalStateException: The remote endp
 
- 
                Java synchronized 保证可见性
                
原因 synchronized在代码块执行结束后会将执行结果刷新到主存中。 所以synchronized也和volatile有可见性的作用。 JMM 规范 sy
 
- 
                Java 使用 wait 等待会使 synchronized 升级为重量级锁
                
原因 因为wait方法会让锁对象从owner拥有者变为waitSet队列中等待。 所以必须关联一个Monitor对象,这样synchronized就升级为了重量
 
- 
                Java volatile 内存屏障保证可见性和有序性
                
相关名词 内存屏障:Memory Barrier 写屏障:store fence 读屏障:load fence 保证可见性 写屏障 保证在该屏障之前的代码,对共
 
- 
                Java 中 sleep 和 wait 的区别
                
区别一 sleep是Thread的方法。 wait是Object的方法。 区别二 sleep不需要包裹在synchronized中。 wait必须包裹在sync
 
- 
                JMeter 多用户不同 Cookie 压测接口
                
版本 基于Apache JMeter 5.4.1 原因 需要使用不同用户登录后进行后续接口的请求,请求完成后退出登录。 说明 本例以Cookie作为关联,若使用
2021-08-29, Views: 5181 , Topics: JMeter
 
- 
                JMeter 使用 Loop Controller 进行循环请求
                
版本 基于Apache JMeter 5.4.1 原因 需要循环请求一些接口。或者同一接口不同参数,可以将参数设置在CSV文件中。Loop Controller
2021-08-29, Views: 3697 , Topics: JMeter
 
- 
                JMeter 提取 JSON 字段用于下一个请求
                
版本 基于Apache JMeter 5.4.1 原因 往往有很多接口是有关联性的,当前请求需要用到上一个请求的返回值。 使用JSON Extractor提取器
2021-08-28, Views: 2995 , Topics: JMeter
 
- 
                JMeter 当前接口请求失败停止请求下一个接口
                
版本 基于Apache JMeter 5.4.1 原因 在进行压测时,下一个接口依赖于上一个接口的请求结果,对于请求失败的接口,就不再进行下一个接口的请求。 I
2021-08-27, Views: 4421 , Topics: JMeter
 
- 
                JMeter 使用 Response Assertion 自定义错误信息
                
版本 基于Apache JMeter 5.4.1 原因 压测生成的CSV文件可以看到错误信息,如果不使用自定义错误信息,那么将看到的都是测试失败等同样的信息。
2021-08-26, Views: 3374 , Topics: JMeter
 
- 
                JMeter 使用 Response Assertion 判断接口请求是否成功
                
版本 基于Apache JMeter 5.4.1 原因 压测生成的CSV文件可以看到是否成功,以及错误信息。以及配合If Controller完成条件请求。 步
2021-08-25, Views: 3738 , Topics: JMeter