Effective Java 3rd Edition — 第五章 泛型

Item 26 : Don’t use raw types 不要使用原始类型(没有类型声明的泛型) 因为编译器无法知道你的一个集合装的是什么,比如下面的代码: 上面代码在编译期间是不会报错的,只有当你获取元素进行类型转换的时候会抛出类转换异常,所以最好的方式就是像下面一样写: 编译器就会知道集合中应 Continue reading Effective Java 3rd Edition — 第五章 泛型

$$开启UDP转发加速游戏

前段时间玩刺客信条:大革命的时候发现有联机功能,但是却一致匹配不到人,好友也无法加入游戏,后来发现大革命的联机方式是P2P的,难道育碧这么自觉,知道自己的土豆服务器不行吗?一般网络要么没有公网ip要么NAT类型严格或者udp被屏蔽的,这里我只讨论前两种类型,最后一种解决方式可以参考:https:// Continue reading $$开启UDP转发加速游戏

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 — 第二章 创建和销毁对象