随笔分类 -  Core Java

摘要:Java的信号量主要的作用是控制线程对资源的访问例如我一个线程池里面有100个线程等待执行,但是我允许最多同时运行5个线程,这5个线程只有其中一个线程执行完毕后,在线程池中等待的线程才能进入开始执行,我们可以这样设计程序: /** * 该示例展示了如何使用信号量 * @author Administ 阅读全文
posted @ 2016-10-16 21:20 石头缝 阅读(1197) 评论(0) 推荐(1)
摘要:在使用多线程的时候有时候我们会使用 java.util.concurrent.Executors的线程池,当多个线程异步执行的时候,我们往往不好判断是否线程池中所有的子线程都已经执行完毕,但有时候这种判断却很有用,例如我有个方法的功能是往一个文件异步地写入内容,我需要在所有的子线程写入完毕后在文件末 阅读全文
posted @ 2016-10-16 19:44 石头缝 阅读(88945) 评论(0) 推荐(7)
摘要:1 public class DeadLock3 implements Runnable { 2 3 private static Object obj1 = new Object(); 4 private static Object obj2 = new Object(); 5 6 @Overri 阅读全文
posted @ 2016-09-03 16:56 石头缝 阅读(495) 评论(0) 推荐(0)
摘要:在做项目的时候,有一个增强是需要把两个列从一个表迁移到另一个表,在做正式的迁移之前需要对原始数据进行备份,备份的实现也比较简单,就是把数据从数据库中读出来然后写到CSV文件中,主键以及列与列之间用分号分隔。我count了一下,总共是有559行数据,数据量其实挺小,之前的实现并没有使用多线程并发取数据 阅读全文
posted @ 2016-09-01 12:03 石头缝 阅读(395) 评论(0) 推荐(0)
摘要:线程是程序内部不同的执行分支,实现多线程主要有两种方式:继承自Thread类或实现Runnable接口,其实Thread类也是实现了Runnable接口,基于Java的单继承机制,我们建议使用实现Runnable的方式来实现线程类,Runnable接口里面只有一个run方法,线程类必须实现这个方法, 阅读全文
posted @ 2016-08-28 17:03 石头缝 阅读(215) 评论(0) 推荐(0)
摘要:今天来学习学习java对象的克隆,在写代码的时候,有时候我们会这样写:对象1=对象2,也就是把对象2赋值给对象1了,但是这样做有个问题,就是如果我们修改了对象2的属性值,对象1的相同属性值也被修改了,反过来亦如此,让我来证明一下: 运行结果: 从Main类可以看到,一开始我们new了两个对象,也就是 阅读全文
posted @ 2016-08-25 19:54 石头缝 阅读(672) 评论(0) 推荐(1)