自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Lucas的成长之路

I‘ll keep doing it.

  • 博客(12)
  • 资源 (1)
  • 论坛 (8)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java并发编程:Callable&Future

Java并发编程:Callable&Future 在之前的线程中,执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从Java 1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕之后得到任务执行结果。   用一个简单的例子说明用法: import java.u...

2015-05-24 15:31:56 64

原创 Java并发编程:线程池

Java并发编程:线程池 什么是线程池,当一个线执行完一个任务后就死亡了,如果程序并发的线程数量非常多,频繁的创建销毁线程会降低执行的效率。 这样,可以创建一些线程,它们的集合称为线程池,当服务器接受到一个客户请求后,就从线程池中取出一个空闲的线程为之服务,服务完后不关闭该线程,而是将该线程还回到线程池中。   在线程池的编程模式下,任务是提交给整个线程池,而不是直接交给某个线程,线程...

2015-05-24 15:31:53 55

原创 Java并发编程:阻塞队列

Java并发编程:阻塞队列     阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。阻塞队列就是生产者存放元素的容器,而消费者也只从容器里拿元素。   Java...

2015-05-24 15:31:40 67

原创 Java并发编程:同步工具类

Java并发编程:同步工具类 1.Semaphore类  一个计数信号量,通常用于限制可以访问某些资源(物理或逻辑的)的线程数目。功能和锁有点类似,它一般用于控制对某组资源的访问权限。           acquire()用来获取一个许可,若无许可能够获得,则会一直等待,直到获得许可。           release()用来释放许可。注意,在释放许可之前,必须先获获得许可。 im...

2015-05-24 15:31:32 70

转载 Java并发编程:并发容器之CopyOnWriteArrayList(转载)

原文链接:   http://ifeve.com/java-copy-on-write/      Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOn

2015-05-23 14:34:14 434

原创 Java并发编程:Lock

Java并发编程:Lock  一.Lock 实现提供了比使用 synchronized 方法和语句更灵活、更具可伸缩性的锁定机制,可以支持多个相关的 Condition 对象。    Lock&synchronized用途比较 基本语法上,ReentrantLock与synchronized很相似,它们都具备一样的线程重入特性,只是代码写法上有点区别而已,一个表现为API层...

2015-05-23 13:43:22 71

原创 Java并发编程:线程安全

 Java并发编程:线程安全  当多个线程需要同时访问同一个资源(成为临界资源)时,可能会对数据造成破坏。  例如:money += 1000;  当第一个线程取出money值,然后+1000完成这两步之后,第二个进程进入读取了count的值,又+1000 再赋值给count。 这时 第一个线程再进行第三步,把它的值赋给count,这就出现了混乱,没有达到预期的效果(两个线程只存进去了100...

2015-05-23 13:31:04 45

原创 Java并发编程:线程的生命周期

 一.线程的生命周期:      1. New:新生      2. Runnable:可运行。 可能正在运行也可能没运行      3. Blocked:被阻塞并等待某个监视器锁的线程处于这种状态。      4. Waiting:无限期地等待另一个线程来执行某一特定操作的线程处于这种状态      5. Timed waiting:计时等待      6. Terminated...

2015-05-23 13:25:00 68

原创 Java并发编程:如何创建线程

一.如何创建线程 1.实现java.lang.Runnable 接口 public interface Runnable{ public abstract void run(); }     2.继承java.lang.Thread 类     源码: public class Thread extends Object implements Runnable{ ...

2015-05-23 13:15:59 62

原创 Java并发编程:多线程介绍

进程和线程: 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间。 线程是轻量级的进程,每个CPU核心在同一时刻只能执行一个线程,线程是操作系统可识别的最小执行和调度单位 在Java并发编程中 总结了以下知识点:         如何创建线程         线程的生命周期         线程安全:synchronized Lock         Calla...

2015-05-23 13:09:41 68

原创 Java笔记 _ 集合

原文章地址:http://www.blogjava.net/changcheng/archive/2009/12/06/304940.html   一.为什么需要集合   当需要存储一组类型相同的元素时,我们需要一种容器来存储,通常用数组来保存。 数组的缺点:     1.数组一旦定义,长度不能改变 (可以新建一个更大的数组用arrayCopy()方法拷贝,但是效率太低)    ...

2015-05-13 21:09:36 78

原创 Java笔记 _ 泛型

泛型的本质:参数类型的应用。将所操作的数据类型定义为一个参数,并在应用的时候指定类型。1.为什么使用泛型     在JDK1.5之前,泛型程序设计是通过继承来实现的,例如:    List list = new ArrayList(); //当加入或取出元素时,都被当成Object类型来看待 list.add(new Integer(10)); list.add("10");    那...

2015-05-09 23:38:54 39

至少让你在互联网上少走三年弯路

在网上看到的 觉得挺有帮助的,关于技术 思路 项目 产品定位

2015-01-28

关于强制转换成 Map 取值的问题。困扰了一天了,大家帮帮忙

发表于 2017-03-11 最后回复 2017-03-12

eclipse mars 创建maven失败

发表于 2016-03-25 最后回复 2016-04-03

从键盘读取数据,出现乱码的问题

发表于 2015-10-05 最后回复 2016-03-23

Java环境变量的问题。

发表于 2015-12-04 最后回复 2016-03-23

Myeclipse中启动Tomcat失败。

发表于 2015-09-13 最后回复 2015-09-14

关于创建子类对象时,父类中成员变量初始化,和构造函数执行的问题

发表于 2015-05-31 最后回复 2015-06-02

Java for循环中碰到 await()方法时

发表于 2015-05-21 最后回复 2015-05-22

servlet环境变量问题

发表于 2014-11-04 最后回复 2015-05-21

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除