自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

转载 Java并发相关文章

http://blog.csdn.net/aitangyong/article/category/2298385/2 转载于:https://my.oschina.net/u/659286...

2016-05-25 10:53:00 85

转载 JDK-BlockingQueue中的生产消费者

范例代码: package com.rr.current2.c2_3_product_consumer.jdk;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueu...

2016-05-24 14:31:00 85

转载 线程池的优化

来源于 《java并发编程的艺术》 可以根据以下几点来分析: 1. 任务的性质: 任务性质不同的任务可以用不同规模的线程池分来处理。 a). cpu密集型的任务 : cpu密集型任务配置尽可能小的线程,如cpu数 + 1个线程的线程池。 b). IO密集型任务则由于线程并不是一直在...

2016-05-23 18:14:00 114

转载 队列 Queue 与双端队列 Deque

地址: http://uule.iteye.com/blog/2095650?utm_source=tuicool 转载于:https://my.oschina.net/u/659286/...

2016-05-23 16:16:00 94

转载 Synchronized 与 static synchronized的区别

1.synchronized与static synchronized 的区别 synchronized是对类的当前实例进行加锁,防止其他线程同时访问该类的该实例的所有synchronized块,注意这里是“类的当前实例”, 类的两个不同实例就没有这种约束了。那么static synchro...

2016-05-23 15:49:00 64

转载 ConcurrentHashMap

HashTable 容器使用synchronized 来保证线程的安全,但是在线程竞争激烈的情况下HashTable的效率非常低下!原因就在于所有访问HashTable的线程都必须竞争同一把锁,那假如容器里有多把锁,每一把锁用于锁容器中的一部分数据,那么当多线程访问容器里不同的数据段的数据时,...

2016-05-23 15:06:00 62

转载 Thinking in Java学习笔记,可以被Future.cancel()中断的资源

转载于:https://my.oschina.net/u/659286/blog/678693

2016-05-20 17:17:00 81

转载 并发编程实战 2.2. 生产者消费者 - wait() notifyAll()

//todo : 解释 wait() notifyAll() 范例: 生产者消费者 Storage package com.rr.current2.c2_3_product_consumer.test;import java.util.concurrent.TimeUnit;/...

2016-05-14 16:19:00 98

转载 并发编程实战 2.1. 使用synchronized实现同步

如果一个对象的方法已用synchronized关键字声明,那么只有一个线程被允许访问它。如果其他线程想要访问这个对象的其他方法,它将被挂起,直到第一个线程执行完正在执行的方法。静态方法则有不同的行为。用synchronized声明的静态方法,同时只能被一个线程访问,但是其他线程可以访问这个...

2016-05-12 17:22:00 89

转载 并发编程实战 1.10. 线程组处理异常 - 重写uncaughtException()

线程组通过重写uncaughtException(Thread t, Throwable e)方法处理线程组异常。 范例: 查询文件(sleep),其中一个抛出异常,threadGroup处理异常后,全部进程都interrupt 自定义的线程组: package com.rr.concu...

2016-05-11 17:56:00 180

转载 并发编程实战 1.9. 线程组 - ThreadGroup

如果想对一组线程进行统一操作,可以使用ThreadGroup类 范例: 模拟搜索文件,开启十个线程查询文件(使用sleep来模拟),当其中有一个线程找到之后,interrupt。 package com.rr.concurrent.chapter1.recipe10.test;impo...

2016-05-11 17:26:00 106

转载 并发编程实战 1.8. 线程中变量的使用 - ThreadLocal

多线程使用同一个Runnable接口实现类的对象,那么所有的线程将共享相同的属性。也就是说,如果在A线程中修改了一个属性,那么所有的线程都会被改变。 如果,对象属性不希望被所有线程共享,可以使用ThreadLocal 范例: 1. 创建线程,每隔一段时间就修改一次里面的成员变量info,并输...

2016-05-11 15:53:00 138

转载 Java方法中的参数是值传递

package com.rr.concurrent;/** * Created by isaac_gu on 2016/5/9. */public class Test { public static void main(String[] args) { In...

2016-05-11 15:12:00 89

转载 并发编程实战 1.7. 处理运行时异常 - setUncaughtExceptionHand()

在java中有两种异常: 1. Checked Exception(非运行时异常):这种异常必须在方法的throws语句中指定,或者在方法体内使用try/catch块捕获,例如: IOException和 ClassNotFoundException。 2. UncheckedExcep...

2016-05-11 14:52:00 222

转载 并发编程实战 1.6. 守护线程 - Daemon线程

Java里有一种特殊的线程叫守护线程(Daemon)。这种线程的优先级很低,通常,当同一个应用程序里没有其他线程运行的时候,守护线程才运行。当没有其他线程的时候,守护线程执行结束后,jvm也将结束这个程序了。 因为这种特性,通常作为普通线程的服务提供者。它通常时无限循环的,以等待服务请求或者...

2016-05-11 00:26:00 97

转载 并发编程实战 1.5. 等待线程终止-join()方法

在一些情况下,我们需要等待线程的终止,再继续执行剩下的代码,为达到这个目的,可以使用Thread类中的join()方法。当一个线程对象的join()方法被调用时,调用它的线程被挂起,直到这个线程对象结束时。 范例: 加载两个资源,当两个资源全部加载完之后,输出主线程结束 资源一: pac...

2016-05-10 22:43:00 98

转载 并发编程实战 1.4. 线程的休眠与恢复 - sleep()

线程睡眠可以使用 Thread.sleep() 或者使用 TimeUtil.SECOND.sleep()方法 范例:循环打印日期, 5秒后打断 package com.rr.current2.c1_4_sleep.test;import java.util.Date;import j...

2016-05-10 22:23:00 152

转载 并发编程实战 1.3. 线程的中断 - interrupt()与isInterrupted()

Java 提供了中断几只,我们可以使用它来结束一个线程。这种机制要求线程检查它是否被中断了,然决定是不是响应这个中断请求,或者继续执行。范例:打印质数,2秒后结束方法一:手动控制package com.rr.concurrent.chapter1.recipe3.test;/...

2016-05-10 21:44:00 104

转载 并发编程实战 1.2. 线程信息

1. ID: 保存了线程的唯一标识;不能被修改; 2. Name:保存了线程的名称;如果没有置顶一个名字,JVM将自动分配一个,格式是 Thread-123; 3. Priority:保存了线程的优先级。线程的优先级从1(最低)到10(最高); 4. Status:保存了线程的状态: n...

2016-05-10 18:17:00 68

转载 并发编程实战 1.1. 实现多线程的两种方式

java 提供了两种方式来创建线程: 1. extends Thread类,并且覆盖run()方法; 2. implements Runnable接口,使用带参Thread构造器来创建Thread对象 范例: 创建并运行10个线程。每个线程用以计算和打印计算结果 package co...

2016-05-10 17:41:00 70

转载 java 可变参数

1. 可变长参数的定义 使用...表示可变长参数,例如print(String... args){ ...} 在具有可变长参数的方法中可以把参数当成数组使用,例如可以循环输出所有的参数值。 print(String...args){for(Stringtemp:args...

2016-04-22 10:51:00 49

转载 HashMap的实现原理

1. HashMap概述 HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 2. HashMap的数据结构 在java编程语言中,最基本的结构就是两种,一个是数组,...

2016-04-21 11:27:00 59

转载 javascript的回调函数

在JavaScript中,回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称(函数表达式),就叫做匿名回调函数。 因此callback 不一定用于异步,一般同步(阻塞)的场景下也经常用到回调,比如要求执行某...

2016-04-20 17:54:00 56

转载 简单的Map

packagecom.rr.java.e3_Map;/***键值对*Createdbyisaac_guon2016/4/20.*/publicclassMyMap{privateEntry[]arr=newEntry[1000];...

2016-04-20 17:16:00 53

转载 简易的linklist

packagecom.rr.java.e2_List;/***Createdbyisaac_guon2016/4/20.*/publicclassMyLinkedList{privateNodefirst;privateNodelas...

2016-04-20 15:17:00 137

转载 一些学习笔记

1. boolean 占一位 而不是一个字节! 0 - 1 ,默认是 0 2. 除了八种基础类型,其他的都是引用类型,初始化都是null; 八种类型是 int:0 double0.0 char:\u0000 boolean:0 3. 方法参数是值传递 4. 内存: 栈(st...

2016-04-20 13:32:00 50

空空如也

空空如也

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

TA关注的人

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