boyizmen

openvpn无法访问网络问题排查

最近育碧蹭着巴黎圣母院的热度送了一波大革命,好友也免费领了一份,苦于国内的网络环境一直无法成功联机,之前用的SSTAP做跳板成功联机但这次却失败了,不知道是延迟问题还是什么。于是想着自己搭建个openvpn试试,服务的搭建还是很简单,可以参考: https://www.howtoforge.com/ Continue reading openvpn无法访问网络问题排查

Effective Java 3rd Edition — 第九章 日常编程

Item 57 : Minimize the scope of local variables 最小化局部变量的作用域 .在使用的地方声明局部变量,过早的声明会导致代码块过早开始过晚结束; 让方法保持精简,集中于某一些逻辑,如果方法太大分成两个方法; 使用for循环而不是使用while循环; 声明局 Continue reading Effective Java 3rd Edition — 第九章 日常编程

Effective Java 3rd Edition — 第八章 方法

Item 49 : Check parameters for validity 检查参数合法性 在方法或者是构造器的开始部分作必要的参数合法性检查,可以使用Objects.requireNonNull 或者是断言,断言的一个好处是如果没有开启断言的话对代码是没有任何侵入的;前者的好处是可以自定义错误 Continue reading Effective Java 3rd Edition — 第八章 方法

Effective Java 3rd Edition — 第七章 lambda表达式与流

Item 42 : Prefer lambdas to anonymous classes 使用lambda表达式来代替匿名类 匿名类适合于传统面向对象编程中需要函数对象的场景,特别是策略模式 lambda类似于匿名类但是更为简洁: lambda隐藏了参数类型和返回值,这样让代码量更少,同时忽略la Continue reading Effective Java 3rd Edition — 第七章 lambda表达式与流

Pixel 3 瞎测

虽然今年谷歌发布的东西不尽人意,但还是入手了没有刘海的Pixel3,代购一顿折腾总算在10月底拿到了机子。到现在使用一月左右,顺带谷歌也更新给相机更新了夜拍模式,便有了这个测试。 首先外观,这个纯粹看个人喜好,小号的还勉强能看,XL的刘海真的是我见过最丑的一个了。背面全部采用的玻璃,分段式设计,下部 Continue reading Pixel 3 瞎测

法喜寺吃斋,灵隐遇高人

多年前初来杭城去了一次灵隐之后便很少往西湖方向去,只因人太多,周末和节假日更是人多。最近同学提到法喜寺斋饭很是不错,许愿也很灵,便约好一同前去。 最近的杭州天气一直不好,好在周六阴天,很适合去寺庙这种地方。早上9点,坐地铁一号线到凤起路换乘公交103路40分钟便到了法喜寺门外,随时要下雨的天气阻挡了 Continue reading 法喜寺吃斋,灵隐遇高人

Effective Java 3rd Edition — 第六章 枚举与注解

Item 34 : Use enums instead of int constants 使用枚举来代替整型常量 枚举类型添加以前使用常量的方式来满足使用需要,但是这种方式有很多缺点: 无法保证类型安全,并且没有没有表现力(不够优雅)。 常量是跟随调用者编译的,如果常量改变了但是调用者没有重新编译那 Continue reading Effective Java 3rd Edition — 第六章 枚举与注解

瞎折腾,博客换新家

博客从去年4月到现在也已经一年多,从刚开始时候的疯狂折腾到后来稳定放在阿里云一段时间直到最近双11,国内云服务厂商开始促销活动,心里便又开始想要折腾。去年阿里的服务器也就买了一年的时间,算算时间也快到了。 阿里的活动一直都是老用户与狗不得参与的,今年也是一样,老用户只能通过开团拉新人的方式才能获得奖 Continue reading 瞎折腾,博客换新家

Java三目运算中隐藏的自动拆装箱

最近修改线上bug的时候排查了一个十分隐藏的bug,直接上代码: 乍一看是没什么毛病的,但是已运行就会发现报空指针,在idea里面也会警告可能有空指针,这是什么原因呢? 直接看字节码: 可以看到字节码中调用了Integer.valueOf()方法,因为我们代码中一个值使用的是0(基本数据类型int) Continue reading Java三目运算中隐藏的自动拆装箱