摘要: Effective Java 阅读笔记 第十二章 序列化 第 85 条 其他方法优先于 Java 本身的序列化 Java 本身的序列化漏洞过多,很容易被攻击。避免被序列化攻击的最好方式就是不要反序列化任何字节流,并且新的系统中没有任何理由使用 Java 本身的序列化。 JSON 和 Protobuf 阅读全文
posted @ 2024-02-21 16:18 code-blog 阅读(6) 评论(0) 推荐(0) 编辑
摘要: Effective Java 阅读笔记 第十一章 并发 第 78 条 同步访问共享的可变数据 多线程访问变量时,需要进行同步,否则就会产生并发问题。 同步代码块、加锁等 或者直接不共享变量,也就是将可变数据限制在单个线程内。 ThreadLocal这种 第 79 条 避免过度同步 为了避免活性失败和 阅读全文
posted @ 2024-02-21 16:18 code-blog 阅读(5) 评论(0) 推荐(0) 编辑
摘要: Effective Java 阅读笔记 第十章 异常 第 69 条 只针对异常的情况才使用异常 说白了就是不要吧你的业务逻辑用异常来写。 举个反例 比如用抛出异常来遍历一个数组: try { int i = 0; while(true) { range[i++].doSomething(); } } 阅读全文
posted @ 2024-02-21 16:17 code-blog 阅读(8) 评论(0) 推荐(0) 编辑
摘要: Effective Java 阅读笔记 第九章 通用编程 第 57 条 将局部变量的作用域最小化 将局部变量的作用域最小化,可以增强代码的可读性和可维护性,并降低出错的可能。 将局部变量的作用域最小化,最好的办法就是在第一次使用变量的地方声明它。 几乎每一个局部变量都应该进行初始化。 第 58 条 阅读全文
posted @ 2024-02-21 16:17 code-blog 阅读(5) 评论(0) 推荐(0) 编辑
摘要: Effective Java 阅读笔记 第八章 方法 第 49 条 检查参数的有效性 基于“发生错误后应尽快检测出错误”这一通用原则,应对方法的参数进行检查。 Java 7 中增加了Objects.requireNonNull方法,可以很方便的对参数进行null检查并抛出异常: public voi 阅读全文
posted @ 2024-02-21 16:16 code-blog 阅读(3) 评论(0) 推荐(0) 编辑
摘要: Effective Java 阅读笔记 第七章 Lambda 和 Stream 第 42 条 Lambda 优先于匿名类 匿名类过于繁琐,使用 Lambda 可以使代码更清晰、更轻量。 但是,Lambda 没有名称和文档,如果一个实现过于复杂,那就不要放在 Lambda 中。 并且,Lambda 中 阅读全文
posted @ 2024-02-21 16:16 code-blog 阅读(19) 评论(0) 推荐(0) 编辑