Vector作为JDK1.0开始就已经存在的元老级数据结构,在JDK的版本升级过程中可谓是修修补补,与JAVA1.2中新增的ArrayList这个后起之秀相比,Vector就显得有点赘余了。但是对于新手来说就很有可能将这两个类混淆使用,这里对这两个类进行区别(主要体现在扩容策略和线程安全上)。
【转|译】A Java ForkJoin Framework
原文链接:A Java Fork/Join Framework(PDF) - Doug Lea
基于并发编程网 – ifeve.com上 Alex/萧欢 翻译、方腾飞 校对的译文稿:Java Fork Join 框架
译文发在并发编程网 – ifeve.com:
Java
Fork/Join
框架, 2017-11-02
Java Fork/Join框架
Linux服务器基础安全防范
每次登录服务器的时候总有提示说有人通过ssh尝试n次登录失败。
查一查/var/log/secure
日志文件
1 | grep "Failed password for invalid user" /var/log/secure | awk '{print $13}' | uniq -c | sort -nr | more |
CentOS 7 Systemd取代init进程
由于这个学期学校有Linux课程,我也一直期待着这门课,为了练习在Linux上搭建一些应用,so 我把原来的Windows2012的云服务器换成了CentOS7(其实有很多其他原因,比如mstsc传输速度慢的可怕,而且服务器带宽本来就不行)。在学习过程中遇到了很多问题,主要在于很多Linux命令在CentOS7中有了替代品,也就是所谓的新特性,其中最“坑”的就是Systemd进程取代init进程(很多书籍资料讲的都是init作为启动进程)。这个主要体现在service
和chkconfig
命令上,在CentOS7中使用systemctl
代替service
和chkconfig
两个命令。
service命令
在CentOS7上安装MySQL的心路历程
今天突然心血来潮,想把博客转移到到自己的云服务器上,嗯,想法不错,正好能练练手(后来找到了别的解决方案Hexo,才发现自己有多幼稚,果然是脑子一热,啥事想的出来,但是在这个过程中也学到了一些东西)。CentOS上安装MySQL数据库,linux配mysql,哎哟,不错哦。(→_→在找到别的解决方案后,马上就被我给卸了)。
二话不说上yum安装大法
SurfaceView、SurfaceHolder、Surface
按照官方文档的说法,SurfaceView继承自View,并提供了一个独立的绘图层,你可以完全控制这个绘图层,比如说设定它的大小,所以SurfaceView可以嵌入到View结构树中,但是需要注意的是,由于SurfaceView直接将绘图表层绘制到屏幕上,所以和普通的View不同的地方就在与它不能执行Transition,Rotation,Scale等转换,也不能进行Alpha透明度运算。SurfaceView的Surface排在Window的Surface(也就是View树所在的绘图层)的下面,SurfaceView嵌入到Window的View结构树中就好像在Window的Surface上强行打了个洞让自己显示到屏幕上,而且SurfaceView另起一个线程对自己的Surface进行刷新。特别需要注意的是SurfaceHolder.Callback的所有回调方法都是在主线程中回调的。
SurfaceView、SurfaceHolder、Surface的关系可以概括为以下几点: