一月 2018

vps推荐–cloudclone,内存512m起,每月3T流量

不知道是网络变好了还是什么情况,最近cloudclone的vps搭建的服务速度快了很多。下面是ping: 电信友好,联通国内绕路,然后是移动。 cloudclone貌似都是美国LA机房,提供独立服务器,vps,dns服务器等服务,现在在beta测试CDN,有兴趣的可以去试下,测试期间免费使用。 下午 Continue reading vps推荐–cloudclone,内存512m起,每月3T流量

Effective Java 3rd Edition — 第四章 类与接口(2)

Item 21 : Design interfaces for posterity 为后续维护、使用者设计好的接口 Java8之后允许interface提供默认方法,但是如果你要在一个已经发布的接口添加默认方法需要认证考虑带来的影响,所有实现类是否能够提供正确的结果, 虽然默认方法实现类都不需要提供 Continue reading Effective Java 3rd Edition — 第四章 类与接口(2)

frp局域网穿透与远程连接

前段时间从v2ex看到个帖子问内网穿透工具,很多人提到了frp于是找到了这个软件自己尝试下。 仓库地址:https://github.com/fatedier/frp frp功能比较全面,包括内网穿透、dns转发、远程连接等等,配置项目也比较少,容易理解,目前更新到0.15.0版本,我这里也使用的是 Continue reading frp局域网穿透与远程连接

Effective Java 3rd Edition — 第四章 类与接口(1)

Item 15 : Minimize the accessibility of classes and members 最小化类与成员的访问级别 隐藏实现信息或者成员信息有多个好处: 有助于组件之间解耦 提升开发效率,多组件之间可以并行开发 减少维护成本,因为组件调试或者替换不影响其他部分 增加重用 Continue reading Effective Java 3rd Edition — 第四章 类与接口(1)

Effective Java 3rd Edition — 第三章 对象基本方法

Item 10 : Obey the general contract when overriding equals 遵守重写 equals方法基本规则 以下几种情况最好不要重写 equals 方法: 对象的每个实例都肯定不一样,比如 Thread 没有必要(不关心)是否逻辑上是否相等,比如 Pat Continue reading Effective Java 3rd Edition — 第三章 对象基本方法

Effective Java 3rd Edition — 第二章 创建和销毁对象

Item 1 : using static factory method instead of constructor 多使用静态工厂方法而不是构造器 优势:  构造器容易造成参数顺序混乱,静态工厂方法名称有很好的表意性,对于类属性较多的情况有着非常明显的优势 静态工厂方法都不必每次调用都创建新的对 Continue reading Effective Java 3rd Edition — 第二章 创建和销毁对象

Java 9 新特性 — Module System 之 Service

上一篇 介绍了Java 9模块系统的一些基本信息,这一篇介绍模块化服务的实现、加载和使用。 普通java interface的使用基本是获取实现类或者在实例化接口的时候自己实现。获取实现类这种方式对服务的实现者有一定的入侵,如果在模块化中实现者就必须导出模块,这样项目之间的耦合其实是变强了。而实例化 Continue reading Java 9 新特性 — Module System 之 Service

Java 9 新特性 — Module System

Java 9正式版发布已然有小半年,带来最令人激动的消息就是模块化编程。本来打算系统的了解一下这个新特性,百度到的也就一些简单介绍和demo,或者是国外的一些文章翻译,于是谷歌到了一些官方文档学习。 Module System 的出现将整个JDK的包结构都改变了:旧版本的Java都是以jar包的形式 Continue reading Java 9 新特性 — Module System