摘要: 当要查看上千行的大文件时,我们可不会用cat命令把整个文件内容给打印出来,相反,我们可能只需要看文件的一小部分地内容(例如文件的前十行和后十行),我们也有可能需要打印出来前n行或后n行,也有可能打印除了前n行或后n行之外的所有行,也有可能需要实时监控log日志的更新,那么怎么实现呢?下面一起来看一下 阅读全文
posted @ 2018-06-10 21:30 小推爱学习 阅读(1874) 评论(0) 推荐(0) 编辑
摘要: 系统环境为:ubuntu 14.04 一、JDK 自动安装脚本 jdk自动安装bash shell脚本,截止今天(2014/10/15)亲测可用: 简单解释一下:用wget直接下载jdk和tar.gz包,然后解压,然后再修改系统环境变量,并更新。 输入javac 或java -version即可进行 阅读全文
posted @ 2018-06-10 21:28 小推爱学习 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 理论知识很枯燥,但这些都是基本功,学完可能会忘,但等用的时候,会发觉之前的学习是非常有意义的,学习线程就是这样子的. 1.如何创建锁? Lock lock = new ReentrantLock(); 2.如何使用锁? 可以参看Lock文档,其使用格式如下: 在要用的方法前加上锁,比如写操作,然后在 阅读全文
posted @ 2018-06-10 21:25 小推爱学习 阅读(2114) 评论(0) 推荐(0) 编辑
摘要: 前面已经指出通过实现Runnable时,Thread类的作用就是将run()方法包装成线程执行体,那么是否可以直接把任意方法都包装成线程执行体呢?Java目前不行,但其模仿者C#中是可以的. Callabel接口可以看成是Runnable接口的增强版,只不过其线程执行体call()方法比run方法更 阅读全文
posted @ 2018-06-10 21:23 小推爱学习 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 线程池是多线程学习中需要重点掌握的. 系统启动一个新线程的成本是比较高的,因为它涉及与操作系统交互.在这种情形下,使用线程池可以很好的提高性能,尤其是当程序中需要创建大量生存期很短暂的线程时,更应该考虑使用线程池. 一.如何创建线程池?? 在Java5之前,线程池都是开发才手动实现的,从Java5开 阅读全文
posted @ 2018-06-10 21:21 小推爱学习 阅读(199) 评论(0) 推荐(0) 编辑