Item 13: 使类及其成员的可访问性最小 除非真的有必要, 否则不要让外界能访问这个类或者成员变量。 因此, 再复习一下Java之中几种访问级别: 作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × package √ √ × × private √ × × × 没有修饰符的时候, 默认为package级别。 当我们覆盖了父类的某个方法的时候, 不能使其访问级别提高。 比如原来是protected, 不能升级成为public。 一种不…

2017年02月16日 0条评论 9951点热度 0人点赞 阅读全文

在《[读书笔记]《Effective Java》第二章》[http://www.flyml.net/2017/02/05/effective-java-chapter-1/] 的Item2 提到: 使用builder替代多个参数的constructor 正好, 我要基于Selenium WebDriver 写一个爬虫。因为实际情况不一样, 有的时候需要使用不同的userAgent, 比如模拟移动浏览器, 有的时候需要挂不同的代理。 而且, 未来还很有可能通过更多的参数构建不同的WebDriver实例。其中,最重要的…

2017年02月09日 0条评论 10946点热度 0人点赞 阅读全文

本章概括 本章包括以下几个Item: Item 8: 覆盖equals请遵守通用规定 Item 9: 覆盖equals时一定要覆盖hashCode Item 10: 始终要覆盖toString() Item 11: 谨慎的覆盖clone Item 12: 考虑实现Comparable接口 由于个人的工作原因, 在实际工作之中, 仅仅接触过#3与#5, 从未考虑过覆盖equals() 与 clone(), 因此这一章只读了 #3与#5 Item 10 : 始终要覆盖toString() 忽然发现, 这真的是一个非常方…

2017年02月06日 0条评论 9389点热度 2人点赞 阅读全文

Item 1: 使用静态工厂方法而不是构造函数 优势: 有名字 比如BigInteger.probablePrime() 一看就知道是返回一个BigInteger素数. 比较不好的做法是构造函数的重载, 通过修改参数的顺序达到不同的功能 不需要每次都创建新的对象. 比如如下代码: [crayon-6605417856e3c963615106/]   如果创建类的开销比较大, 那么对性能的提升就更明显了 能返回的类型选择更多, 不一定是当前类的类型 这一点非常好理解~ 在创建参数化类型实例的时候, 代码会更…

2017年02月05日 1条评论 9767点热度 2人点赞 阅读全文

追求大而全是创业者最常见的误区之一,做多不如做少,做全不如做专,会减法才是真懂产品,这是今天分享给各位的创业心得。 编者按:本文作者曹政,资深 IT 人。技术大牛、数据控、历史控、考证控。曾参与创建一统统计、cnzz 站长统计,曾主持搭建百度商业分析支撑平台。文章首发于其微信公众号“caoz 的梦呓”(微信号:caozsay) 翻知乎的时候,发现有个旧帖,是关于百度贴吧俱乐部和百度空间app相关的讨论,有个人整段引用了我百度空间的旧文,然后,我发现我都忘了写过这样的文章。再然后,我发现我当时的判断居然又是正确的。 …

2017年01月20日 0条评论 9240点热度 0人点赞 阅读全文

在python之中,读文件是一个很简单的事情。 直接 open("filename")就可以了。但是python2之中对CJK三种语言却处理得很蛋疼。 特别是在读取CJK语言的文件的时候,一种比较保险的强制使用某种编码的方法是使用codecs类库。 比如: [crayon-6605417857911900236403/] 否则,可能出现一些奇奇怪怪的错误~  

2016年12月04日 0条评论 7715点热度 0人点赞 阅读全文

虽然称之为“坑”,但是主要还是我自己对立面的道道不太了解所致。 背景介绍: 首先有一个python脚本,这个python首先会执行一些linux的命令,比如解压文件、复制文件等等,完成之后会通过java -jar的方式调用某一个jar包做一些操作。 原文来源:http://www.flyml.net/2016/11/30/crontab-java-not-found/ 问题表现: 每次手动执行这个python脚本运行,程序工作的很好,但是如果是通过crontab的方式来运行,就会发现程序只执行了,但是java应该做…

2016年11月30日 0条评论 14491点热度 2人点赞 阅读全文

花钱的年华 http://calvin1978.blogcn.com/   PS: 可能要翻墙,因为这个域名直接访问看起来已经被劫持了~   PS2 : 有人说打开没样式,我加个截图:

2016年11月30日 0条评论 12528点热度 1人点赞 阅读全文

参考原文:https://plusbryan.com/my-first-5-minutes-on-a-server-or-essential-security-for-linux-servers?utm_source=wanqu.co&utm_campaign=Wanqu+Daily&utm_medium=social   当我们在linode或者vultr之类的VPS商购买新的VPS的时候,或者我们在阿里云、腾讯云等购买了VPS之后,如果你对服务器安全比较注重,下面简单的几招可以里面将安…

2016年11月10日 0条评论 8685点热度 1人点赞 阅读全文

在阅读Google的免费深度学习课程的练习代码的时候,看到下面一段代码: [crayon-6605417857f81651081034/] 注意第17行,第一个变量居然是一个下划线! 在查阅了一些资料之后,有人是这么描述单个下划线的使用场景: 在交互式的时候,保持上一次执行的结果 没看懂。原文如下: To hold the result of the last executed statement in an interactive interpreter session. This precedent was s…

2016年11月09日 0条评论 11067点热度 1人点赞 阅读全文