设计原则详解 设计模式存在的根本原因是为了代码复用,增加可维护性。 开闭原则:对扩展开放,对修改关闭 里氏转换原则:子类继承父类,单独掉完全可以运行 依赖倒转原则:引用一个对象,如果这个对象有底层类型,直接引用底层。 接口隔离原则:每一个接口应该是一种角色 合成/聚合复用原则:新的对象应使用一些已有 ...
分类:
其他好文 时间:
2019-09-18 01:08:45
阅读次数:
101
Tips 书中的源代码地址:https://github.com/jbloch/effective java 3e source code 注意,书中的有些代码里方法是基于Java 9 API中的,所以JDK 最好下载 JDK 9以上的版本。 65. 接口优于反射 核心反射工具java.lang.r ...
分类:
编程语言 时间:
2019-03-24 13:46:00
阅读次数:
203
最近公司准备接ceph储存,研究了一番,准备用亚马逊的s3接口实现,实现类如下: 业务接口要实现包括分片上传(支持断点续传)、分片下载等功能,上面类是底层类不包含业务逻辑。 maven依赖: 开发感受: 1.ceph官网上提供的s3接口文档(java版),内容又少又旧,已经基本不能当做参考了。所以A ...
分类:
其他好文 时间:
2018-10-25 19:45:20
阅读次数:
136
Scala中,所有的值都是类对象,而所有的类,包括值类型,都最终继承自一个统一的根类型Any。统一类型,是Scala的又一大特点。更特别的是,Scala中还定义了几个底层类(Bottom Class),比如Null和Nothing。 Null是所有引用类型的子类型,而Nothing是所有类型的子类型 ...
分类:
其他好文 时间:
2018-10-19 02:11:51
阅读次数:
198
Type和Kind的区别 直接看例子: 运行结果如下: 这里看出来Type是实际类型,Kind是底层类型。实际类型和底层类型是我给起的名字。比如 的实际类型是Myint,底层类型是int。 实际类型是Person,底层类型是struct。指向 的指针,实际类型就是 底层类型是指针。可以把实际类型理解 ...
分类:
其他好文 时间:
2018-10-02 17:33:31
阅读次数:
193
这是项目的架构 dao层下面有一个平级的包 impl //dao层 访问数据库。 GradeDAOImpl 他继承了BaseDAO 实现了IGradeDAO接口 BaseDAO类 //访问数据库的底层类 IGradeDAO接口 entity层 //实体类 service层 有一个平级的 impl层 ...
分类:
其他好文 时间:
2018-06-18 12:43:53
阅读次数:
298
输入数据类型;通过按住ctr键可以追到各种数据类型底层类的实现方法。 1.数组 a = "123" (1)b = int (a) //int 方法将字符串转换成数字类型 type(a)//获得变量a的类型。 type(b)// v = int (a , base = 2/8/16)//将字符串以2进 ...
分类:
编程语言 时间:
2018-06-17 23:50:19
阅读次数:
297
根据API中的定义: Class.getName():以String的形式,返回Class对象的“实体”名称; Class.getSimpleName():获取源代码中给出的“底层类”简称。 结果图片如下: 如上图所示,我们可以很清晰明了地看出它们的区别: getName “实体名称” com.se ...
分类:
其他好文 时间:
2018-05-07 17:38:15
阅读次数:
160
创建一个基类BaseEntity: 然后创建一个泛型底层类,这里用的数据库是mysql,如果是其它数据库,需要注意相应的关键字,比如sqlserver中user表在写sql时需要写成“[user]”。 最后在业务代码中就可以调用该类: ...
分类:
数据库 时间:
2018-04-03 22:16:47
阅读次数:
224
目录: 1.预备知识: Go的变量都是静态类型(声明时指定的类型),它也有底层类型(定义类型时指定的基础类型,即:它是以什么形式存储的); 一个接口变量存储了一对(value, type):赋值给这个接口变量的具体值value、以及这个值的类型描述符type; Go的接口变量都是静态类型化的:一个接 ...
分类:
编程语言 时间:
2017-10-12 01:02:33
阅读次数:
233