摘要:
gradle依赖: model对象: 相对应的DAO类: 1. 也可以返回 中`Publisher Flowable`: 当准备好所有的 Model 和 DAO 后,我们就需要把它放入 DataBase 的管理中: Converters.java为时间转换的类: 1. 如果想要在数据库中存储 ,可以 阅读全文
摘要:
网络分层: 1. 应用层 1. 传输层 1. 网络层 1. 数据链路层 1. 物理层 物理层: 比特流在节点之间的传输,是计算机连接起来的物理手段。 数据链路层: 控制网络层和物理层之间的通信,功能是在不可靠的物理线路上进行数据可靠传输。 网络层: 两台主机上应用程序端到端的通信。 两个协议: TC 阅读全文
摘要:
FastDFS文件上传工具类 阅读全文
摘要:
一: submit()方法,可以提供Future 类型的返回值。 executor()方法,无返回值。 execute无返回值 _ _ _ 二: excute方法会抛出异常。 sumbit方法不会抛出异常。除非你调用Future.get()。 _ _ _ 三: excute入参Runnable su 阅读全文
摘要:
编写高质量代码:改善Java程序的151个建议 [117~128] Thread 不推荐覆写start方法 先看下Thread源码: 启动线程前stop方法是不可靠的 看下线程stop源码: start源码: 注意看start0方法和stop0方法的顺序,start0方法在前,也就说既是stopBe 阅读全文
摘要:
编写高质量代码:改善Java程序的151个建议 [106~117] 动态代理可以使代理模式更加灵活 动态代理使用场景: 不用显式创建代理类即实现代理的功能,例如可以在被代理的角色执行前进行权限判断,或者执行后进行数据校验。 使用反射增加装饰模式的普适性 反射让模板方法模式更强大 提倡异常封装 具体调 阅读全文
摘要:
建议的采用顺序是List中泛型顺序依次为T、?、Object (1)、List是确定的某一个类型 List表示的是List集合中的元素都为T类型,具体类型在运行期决定;List<?>表示的是任意类型,与List类似,而List则表示List集合中的所有元素为Object类型,因为Object是所有类 阅读全文
摘要:
编写高质量代码:改善Java程序的151个建议 [78~92] HashMap中的hashCode应避免冲突 多线程使用Vector或HashTable Vector是ArrayList的多线程版本,HashTable是HashMap的多线程版本。 非稳定排序推荐使用List 对于变动的集合排序 1 阅读全文
摘要:
编写高质量代码:改善Java程序的151个建议 [65~78] 原始类型数组不能作为asList的输入参数,否则会引起程序逻辑混乱。 输出的结果是: 元素类型是:class [I 前后是否相等:true 如果要转换,建议转换为对应的包装类,再使用 List list= Arrays.asList(d 阅读全文
摘要:
编写高质量代码:改善Java程序的151个建议 [52~64] 推荐使用String直接量赋值 Java为了避免在一个系统中大量产生String对象(为什么会大量产生,因为String字符串是程序中最经常使用的类型),于是就设计了一个字符串池(也叫作字符串常量池,String pool或String 阅读全文