错误 和 异常 处理是程序的重要组成部分,我们先看看下面几个问题:
- 错误 和 异常 如何区分?
- 错误处理的方式有哪几种?
- 什么时候需要使用异常终止程序?
- 什么时候需要捕获异常?
- ...
错误 和 异常 处理是程序的重要组成部分,我们先看看下面几个问题:
Set排序
Set包括HashSet和TreeSet,HashSet是基于HashMap的,TreeSet是基于TreeMap的。
TreeMap是用红黑树实现,天然就具有排序功能,“天然就具有排序功能”是指它拥有升序、降序的迭代器。
那么HashSet怎么排序呢?我们可以将HashSet转成List,然后用List进行排序。
Rango会讲解在Linux下从零开始写一个PHP扩展,并编译安装到PHP里,一直到执行扩展中的函数。包含的内容有:
epoll特点好处:
- 与 select,poll 一样,但是增加了对I/O多路复用的技术
- 只关心“活跃”的链接,无需遍历全部描述符集合
- 能够处理大量的链接请求(系统可以打开的文件数目)
Git 从远程的分支获取最新的版本到本地有这样 2 个命令:
git fetch origin master git log -p master origin/master git merge origin/master
最近公司买了台 阿里云主机(CentOS 6.8),按照惯例,需要配置一下 常用的开放的端口,在文件 /etc/sysconfig/iptables
中配置一下即可。
但是,竟然没有找到该文件(2年前买的阿里云主机是有的)。
在PHP5.3以后引入了延迟静态绑定。看下面这段代码:
<?php class A { public static function who() { echo __CLASS__; } public static function test() { self::who(); } } class B extends A { public static function who() { echo __CLASS__; } } B::test(); ?>
上面的代码输出了A,但是我希望它输出B,这就是问题的所在。这也是self和__CLASS__的限制。使用self::或者 __CLASS__对当前类的静态引用,取决于定义当前方法所在的类。所以,这就很好的解释了为什么上面的代码输出了A。但是,如果我们需要输出B呢?
今天是2017年的最后一天,是时候该给自己总结一下子了。转眼间,1年的时间又这么快的就过去了。回顾2017年的年初,并未给自已一个可行性的目标,不管是工作上,还是感情上,都是随遇而安,顺其自然。年中换了工作地址,进入了一个新的工作环境,年末总结一下自己的这一年,然后展望一下2018年,在做个 Plan。