2022年3月12日

【Effective Java 02】遇到多个构造器参数时考虑适用构建器

摘要: 1. 适用构造器和 JavaBean 构造对象会存在的问题 静态工程和构造器有一个共同的局限性:它们都不能很好地扩展到大量的可选参数。如果出现大量可选参数,程序员不得不重载很多构造函数以适应不同的情况。 而如果使用 setXXX 的 JavaBean 模式,则有一个很大的缺点。因为构造过程被分到了几 阅读全文

posted @ 2022-03-12 16:09 Silgm 阅读(52) 评论(0) 推荐(0)

2022年3月9日

【Effective Java 01】 创建和销毁对象 —— 用静态工厂方法代替构造器

摘要: 静态工厂方法的优点: 有名称,提升代码可读性 不必每次调用都创建新对象 可以返回原类型的任何子类对象 返回的对象的类可以随每次调用而发生变化,可以取决于静态工厂的方法参数 方法返回的对象所属的类,在编写包含该静态工厂方法的类时可以不存在。(例如JDBC API 中的服务提供者框架) 静态工厂方法的缺 阅读全文

posted @ 2022-03-09 21:14 Silgm 阅读(38) 评论(0) 推荐(0)

【Java并发】死锁演示

摘要: 1. 死锁代码 public class DeadLockDemo { private static final String A = "A"; private static final String B = "B"; public static void main(String[] args) { 阅读全文

posted @ 2022-03-09 20:16 Silgm 阅读(46) 评论(0) 推荐(0)

【Java】在Linux中统计处于不同状态Java线程数量

摘要: 1. 使用 JPS 命令查看 PID jps 2. 使用 jstack 命令 dump java进程状态 jstack [PID] > dump.txt 3. 统计线程状态 grep java.lang.Thread.State dump.txt | awk '{print $2$3$4$5}' | 阅读全文

posted @ 2022-03-09 20:00 Silgm 阅读(261) 评论(0) 推荐(0)

2019年9月26日

解决Zeal文档在Mactype下的乱码问题

摘要: 最近我在Windows下使用Zeal文档时,发现下载文档后打开竟然是乱码。 我十分奇怪,这到底是Zeal的问题还是我电脑的问题,还是是字体不正确,或者是系统的编码问题。 最后,发现居然是Mactype导致的。因为关闭Mactype后Zeal就正常了。 查了一下Mactype项目的issue果然发现也 阅读全文

posted @ 2019-09-26 09:27 Silgm 阅读(697) 评论(0) 推荐(0)

2019年8月3日

C++笔记:虚函数背后的虚表

摘要: 1. 为什么需要虚表 在我们学习C++的时候,几乎每书本都会告诉我们“想要实现多态就必须依赖虚函数”,非虚函数只能静态绑定而不具备多态性,只有虚函数才具有动态绑定的特性。而为了实现虚函数,C++则使用一种特殊的后期绑定(动态绑定)形式,称为 __虚表(The virtual table)__。虚表的 阅读全文

posted @ 2019-08-03 14:03 Silgm 阅读(290) 评论(0) 推荐(0)

2019年7月26日

博客刚建立可喜可贺

摘要: 博客刚建立可喜可贺 阅读全文

posted @ 2019-07-26 14:20 Silgm 阅读(100) 评论(0) 推荐(0)

导航