JAVA
文章平均质量分 59
dacainiao007
这个作者很懒,什么都没留下…
展开
-
JAVA线程池
package cn.itcast.hemai2; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; /** * newSingleThreadExecutor:创建一个单线程的线程池。这个线程池只有一原创 2013-07-01 11:55:29 · 787 阅读 · 0 评论 -
JAVA CallableAndFuture CompletionService
package cn.itcast.hemai2; import java.util.Random; import java.util.concurrent.Callable; import java.util.concurrent.CompletionService; import java.util.concurrent.ExecutionException; import java.uti原创 2013-07-01 14:56:23 · 791 阅读 · 0 评论 -
JAVA 阻塞队列 ArrayBlockingQueue
package cn.itcast.hemai2; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; /** * 这是一个典型的“有界缓存区”,固定大小的数组在其中保持生产者插入的元素和使用者提取的元素。一旦创建了这样的缓存区,就不能再增加其容量。 * 试图向已满原创 2013-07-02 10:10:22 · 2497 阅读 · 0 评论 -
JAVA ReentrantReadWriteLock AND 缓存系统
package cn.itcast.hemai2; import java.util.Random; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; //notify和wait必须 在同步代码块里面写,而不能存在某个普通的代码或者代原创 2013-07-01 17:46:36 · 1613 阅读 · 5 评论 -
JAVA Semaphore实现信号灯
lSemaphore可以维护当前访问自身的线程个数,并提供了同步机制。使用Semaphore可以控制同时访问资源的线程个数,例如,实现一个文件允许的并发访问数。 ØSemaphore实现的功能就类似厕所有5个坑,假如有十个人要上厕所,那么同时能有多少个人去上厕所呢?同时只能有5个人能够占用,当5个人中的任何一个人让开后,其中在等待的另外5个人中又有一个可以占用了。 Ø另外等待的5个人中可以是随原创 2013-07-02 14:34:00 · 996 阅读 · 0 评论 -
JAVA集合的并发
l传统集合类在并发访问时的问题说明,见附件 l传统方式下用Collections工具类提供的synchronizedCollection方法来获得同步集合,分析该方法的实现源码。 l传统方式下的Collection在迭代集合时,不允许对集合进行修改。 Ø用空中网面试的同步级线程题进行演示 Ø根据AbstractList的checkForComodification方法的源码,分析产生Con原创 2013-07-02 14:28:07 · 1632 阅读 · 0 评论 -
Lock&Condition实现线程同步通信
package cn.itcast.hemai2; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /** * 互斥关键是要把同时执行的几个线程里面的东西加上同一把锁,而不是不同的锁。 * 是同时执行的东西加上同一把锁,这是最核心 的东西。下面有两个线程同时间在原创 2013-07-02 14:31:07 · 1771 阅读 · 0 评论 -
java其他同步工具类
lCyclicBarrier Ø表示大家彼此等待,大家集合好后才开始出发,分散活动后又在指定地点集合碰面,这就好比整个公司的人员利用周末时间集体郊游一样,先各自从家出发到公司集合后,再同时出发到公园游玩,在指定地点集合后再同时开始就餐,…。 lCountDownLatch Ø犹如倒计时计数器,调用CountDownLatch对象的countDown方法就将计数器减1,当计数到达0时,则所有等原创 2013-07-02 14:35:15 · 1110 阅读 · 0 评论 -
多线程项目框架
package com.threadpooltest; import java.util.concurrent.Callable; import java.util.concurrent.CompletionService; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorCo原创 2014-09-24 14:40:45 · 1985 阅读 · 0 评论 -
Practical Java 读书笔记
http://chenxiaojian.net/practical-java-readingnotes-part1.html http://chenxiaojian.net/practical-java-readingnotes-part2.html原创 2016-05-26 14:23:04 · 1315 阅读 · 0 评论 -
java中volatile关键字的含义
http://www.cnblogs.com/aigongsi/archive/2012/04/01/2429166.html 非常不错的文章!原创 2013-01-08 20:47:18 · 460 阅读 · 0 评论 -
遍历一下Properties
Properties p=System.getProperties(); for(Enumeration e=p.propertyNames(); e.hasMoreElements();){ String key=(String) e.nextElement(); System.out.println(key+"===>"+p.getProperty(key)); }原创 2012-11-29 17:36:27 · 1153 阅读 · 0 评论 -
第十六天:异常处理
@Override public int lastIndexOf(Object o) { //必须考虑元素为空的情况。因为空不空比较的方法不一样。 if(o==null){ for (int i = size-1; i >=0; i--) { if (data[i] == null) { return i; } } }else { for (int i = size-1; i原创 2012-07-05 20:44:12 · 2043 阅读 · 0 评论 -
第十七天:IO流
Week 04 day16 一. 要点 1. java.io.File 用于表示文件(目录);只用于表示文件(目录) 的信息(名称,大小等)不能对文件的内容进行访问 2. java.io.File基本API File(String) long length() //这个方法十分重要,如果是目录返回值不一定,如果是文件则返回文件内容有多个字节 long lastModifi原创 2012-07-05 20:45:05 · 618 阅读 · 0 评论 -
第十八天:IO流
FileInputStream(File) FileOutputStream(File) FileInputStream(File file) 通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的 File 对象 file 指定。 FileInputStream(String name) 通过打原创 2012-07-05 20:45:51 · 511 阅读 · 0 评论 -
第十九天:IO流
InputStream 字节输入流 InputStreamReader InputStream (byte) -> Unicode(char) Reader 字符输入流 1 打开一个文本文件: InputStream is = new FileInputStream("gbk.txt"); Reader in = new InputStreamReader(is);原创 2012-07-05 20:46:23 · 767 阅读 · 0 评论 -
第二十天:IO流
IO 流(Stream): 将数据Byte By Byte的处理方式 InputStream |-- 节点流 (流开始的地方, 流的源泉) | |-- FileInputStream | |-- ByteArrayInputStrem |-- 过滤流 | |-- BufferedInputStream | |-- ObjectInputStream原创 2012-07-05 20:47:11 · 1725 阅读 · 0 评论 -
第十二天:正则表达式
正则表达式: 负责的字符串匹配处理规则, 应用广泛. 学习建议: 1 要能够读懂"正则表达式" 2 能够写出简单的"正则表达式" 3 不要过多的分配学习时间! 可以应用于: java grep vi 1 字符集: [1234] 表示 1,2,3,4 之一 [^12] 表示除了 1,2原创 2012-07-05 20:37:05 · 889 阅读 · 0 评论 -
第十三天:时间日期
public static String leftPad(String str,int length,char ch){ //数组长度与所要的长度一样。 char[] chs = new char[length]; //把数组chs数组中每个位置上都替换成ch。 Arrays.fill(chs, ch); System.out.println(Arrays.toStrin原创 2012-07-05 20:38:54 · 702 阅读 · 0 评论 -
第十五天:集合二
Collection有两个接口了它List和Set。 List接口中有两个实现类ArrayList和LinkedList Set中用的并不多,它的一个实现类为HashSet,用散列表实现。 散列查找比顺序查找更加快! Map接口是一个映射。 Object[] temp = new Object[length]; System.arraycopy(原创 2012-07-05 20:42:59 · 523 阅读 · 0 评论 -
第二十一天:网络编程
Properties 属性文件 Property 属性 其实它就是一个文本文件,我们可以用流一行一行的读取然后截取字符串。但是比较 麻烦,所以java有一个特定的类,其实它就是 //Properties 是一个Map集合,相当于Map //Properties 是一个Map集合,相当于Map /* load(InputStream inStream)原创 2012-07-05 20:48:04 · 636 阅读 · 0 评论 -
第十四天:集合
Java 时间 1 时间标准:long GMT UTC 2 Date Calendar 3 DateFormat String Date 集合和数据结构(集合的底层用数组实现) 1 数学集合: 2 在软件开发中应用广泛:商品列表 3 Java中使用接口Collection定义了集合的概念 Collection接口中定义了集合的功能抽象:原创 2012-07-05 20:41:38 · 509 阅读 · 0 评论 -
文章标题
package datastructures.binarytree; /** * 演示二叉树的操作 */ public class BinaryTree { /** * 根节点 */ private Node root; /** * 查找一个节点 * @param key 要查找的id值 * @return */原创 2016-09-14 10:09:08 · 1198 阅读 · 0 评论