PunchCode

以终为始

Java Concurrency in Practice Chapter4-Composing Objects

这一章介绍一些组合模式, 让我们把一个类设计成线程安全的类, 避免在每一次访问内存时都要去分析线程安全性, 平切在维护这些类时不会破坏线程安全性.

Java Concurrency in Practice Chapter3-Sharing Objects

这一章主要讲如何安全地共享资源, 来保证线程安全性. 换个角度理解这句话, 如果资源不被共享, 那么也能保证线程安全. Visibility 没有同步机制, 两个线程的执行

Java Concurrency in Practice Chapter2-Thread Safety

这一节主要介绍线程安全的一些基本概念, 解释一些基本名词. 写线程安全的并发代码, 关键就是在访问共享资源时做好管理. Atomicity 在不同的线程访问一个资源时

Mac上我常用的一些工具

常用工具 gray: 独立配置mac不同app改变light or dark的主题配置 iina: 视频播放器 snipaste: 截图工具 Magnet: 分屏工具 mos: 鼠标控制软件 办公效率 draw.io: 流程图软件

Effective Java Chapter9&10-General Programming&Exceptions

这是Effective Java第九和第十章的总结, 讲如何编程. 项目链接JavaLab. Item 57: Minimize the scope of local variables 减少局部变量的scope, 比如循环遍历

Effective Java Chapter8-Methods

这是Effective Java第八章的总结, 讲如何设计方法, 个构造器原则一样, 考虑usability, robustness, flexibility. 项目链接JavaLab. Item 49: Check parameters for

Java中toMap与asList的坑

工作中遇到了两个坑, 讲述一下心路历程. toMap 写stream的时候有时会用到toMap来把某个实体的两个字段做一个映射关系. 简单的模拟如下, 没有任

Effective Java Chapter7-Lambdas and Streams

这是Effective Java第七章的总结, 讲Lambdas和Streams这两个在Java8中经常使用的特性. 项目链接JavaLab. Item 42:

Effective Java Chapter6-Enums and Annotations

这是Effective Java第六章的总结, 讲枚举类和注解. 项目链接JavaLab. Item 34: Use enums instead of int constants 当需要int常量(static final int)

Effective Java Chapter5-Generics

这是Effective Java第五章的总结, 讲泛型. 项目链接JavaLab. Item 26: Don’t use raw types 在集合中不要用raw types, 写集合带钻石符号, 避免