09 2020 档案
摘要:编译 一个.java文件经过编译之后,变成了了.class文件,主要经过留下步骤: .java -> 词法分析器 -> tokens流 -> 语法分析器 -> 语法树/抽象语法树 -> 语义分析器 -> 注解抽象语法树 -> 字节码生成器 -> .class文件 。 具体的过程不做分析,涉及到编译原
阅读全文
摘要:1. 类和成员最小化可访问性 问题 要区分设计良好的模块和设计不好的模块,最重要的因素在于,这个模块对于外部其他模块而言,是否隐藏其内部数据和其他细节。设计良好的模块会隐藏所有的实现细节,把它的API与它的实现清晰的隔离起来,模块之间只通过它们的API进行通信,那么,在设计类和成员时有怎样的设计原则
阅读全文
摘要:MySQL 5.7 增加了 JSON 数据类型的支持,在之前如果要存储 JSON 类型的数据的话我们只能自己做 JSON.stringify() 和 JSON.parse() 的操作,而且没办法针对 JSON 内的数据进行查询操作,所有的操作必须读取出来 parse 之后进行,非常的麻烦。原生的 J
阅读全文
摘要:一、线程同步机制 前面的文章有介绍到,多线程安全问题概括来说表现为三个方面:原子性、可见性、有序性。多线程安全问题的产生前提是存在多个线程并发访问(不全是读)同一份共享数据,而会产生多线程安全问题的根本原因是多个线程间缺少一套用于协调各个线程间的数据访问和行为交互的机制,即缺少线程同步机制 多线程为
阅读全文

浙公网安备 33010602011771号