- 博客(24)
- 收藏
- 关注
原创 【算法】n个小孩围成一圈,数到5出列,求最后剩下的人
n个小孩围成一圈,数到5出列,求最后剩下的人package jingtianxiaozhi;import java.io.FileNotFoundException;import java.io.PrintStream;import java.util.ArrayList;import org.omg.PortableInterceptor.SYSTEM_EXCEPTI
2013-11-18 11:05:16 1444
原创 【并行计算作业】java多线程技术求1000000以内的素数
CountDownLatchpackage jingtianxiaozhi;import java.util.concurrent.CountDownLatch;import java.util.concurrent.CyclicBarrier;import java.util.concurrent.ExecutorService;import java.util.concur
2013-11-18 10:25:33 3604
原创 Exchanger:线程交换数据
package jingtianxiaozhi;import java.util.concurrent.Exchanger;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class ExchangerTest { public static void m
2013-11-18 00:07:22 706
原创 CountDownLatch:倒计时计数器
可以实现一个人(也可以是多个人)等待其他所有人都来通知他,这犹如一个计划需要多个领导都签字后才能继续向下实施。还可以实现一个人通知多个人的效果,类似裁判一声口令,运动员同时开始奔跑。用这个功能做百米赛跑的游戏程序不错哦package jingtianxiaozhi;import java.util.concurrent.CountDownLatch;import j
2013-11-17 23:49:30 727
原创 CyclicBarrier公共屏障点:一个同步辅助类,它允许一组线程互相等待
一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrierpoint)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的barrier。package jingtianxiaozh
2013-11-17 23:18:28 746
原创 Semaphore信号灯:一个计数信号量
信号灯入门demopackage xiaozhijingtian;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Semaphore;public class SemaphoreTest { public st
2013-11-17 22:56:00 1029
原创 【读写锁】ReadWriteLock闪亮登场、自己写一个缓存系统
先看一个程序package xiaozhijingtian;import java.util.Random;public class ReadWriteLockTest { public static void main(String[] args) { final ReadWriteObject object=new ReadWriteObject(); for(int
2013-11-16 19:56:54 661
原创 【重点:线程池续】超人气组合:Callable和Future
Future 表示异步计算的结果。它提供了检查计算是否完成的方法,以等待计算的完成,并获取计算的结果。 计算完成后只能使用 get 方法来获取结果,如有必要,计算完成前可以阻塞此方法。package jingtianxiaozhi;import java.util.concurrent.Callable;import java.util.concurrent.Ex
2013-11-16 13:43:35 492
原创 【重点:定时器】定时器思想很重要
定时器可以定时完成任务,package jingtianxiaozhi;import java.util.Timer;import java.util.TimerTask;public class Test3 { public static void main(String[] args) { new Timer().schedule(new TimerTask() {
2013-11-15 22:24:47 493
原创 【重点:线程池的使用】线程池霸气来袭
往线程池放三个线程,运行完一个则重新载入一个。execute(Runnable command)在未来某个时间执行给定的命令。该命令可能在新的线程、已入池的线程或者正调用的线程中执行,这由Executor 实现决定。 虽然execute了十次,但是只有三个线程同时执行。package jingtianxiaozhi;import java.util.co
2013-11-15 21:48:57 474
原创 【重点:Lock】把sychronized改为lock的方法
sychronizedpackage com.xiaozhi.threadlocal2;public class Test { public static void main(String[] args) { MyRun myRun=new MyRun(); for(int i=0;i<10;i++) new Thread(myRun).start(); }}c
2013-11-14 19:07:41 575
原创 【线程高新】——【ThreadLocal实现线程范围的共享变量】
先说明问题:先让每个线程都有自己线程范围内的共享变量package com.xiaozhi.threadlocal;import java.util.Random;public class Test { private static int data=0; public static void main(String[] args) { new Thread(){
2013-11-13 20:57:35 586
原创 【线程高新】——【面试题】子线程运行10次,主线程运行100次,轮换运行50次
子线程运行10次,主线程运行100次,轮换运行50次我第一遍写的package com.xiaozhi.myInterClass;public class Test5 { /* * 子线程运行10次,主线程运行100次,轮换运行50次 */ public static void main(String[] args) { boolean mark=true
2013-11-13 20:18:58 1347
原创 一直怀疑c:\\是C盘根目录,那c:是什么呢
import java.io.*;class Test { public static void main(String[] args) throws IOException { File file=new File("c:"); String [] strs=file.list(); for(String str:strs) { System.ou
2013-11-06 10:53:23 1081
原创 【PrintWriter】略胜一筹,其实PrintWriter也相当一个转换流
PrintWriter的构造函数可以是StringFile字符流字节流 并且println方法自带换行 可以设置autoFlush的值为true,自己flush()[字符流底层是字节流,所以都需要flush。] import java.io.*;class Test { public static void main(String[] args) th
2013-11-06 10:31:15 1107
原创 【Properties】Properties的load方法
Properties的load方法其实就是传进去一个输入流,字节流或者字符流,字节流利用InputStreamReader转化为字符流,然后字符流用BufferedReader包装,BufferedReader读取properties配置文件,每次读取一行,分割,因为Properties是Map的子类,然后用put进Properties对象。
2013-11-05 23:43:15 29563
原创 【递归】递归的运用
递归遍历文件夹package com.xiaozhi.helloio;import java.io.File;import java.io.FilenameFilter;public class Test3 { public static void main(String[] args) { ShowFile(new File("c:\\root")); }
2013-11-05 00:13:42 460
原创 【IO流重点】转换流可以修改编码格式,FileWriter和FileReader的默认编码格式是gbk
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;
2013-11-04 15:31:49 2745
原创 【转换流】让字符流干点字节流的事
标准输入import java.io.IOException;import java.io.InputStream;public class Test { /* * 标准输入流 */ public static void main(String[] args) throws IOException { InputStream in=System.i
2013-11-04 11:02:17 613
原创 【装饰设计模式】写一个MyBufferedReader实现自己的ReadLine方法、增强BufferedReader的ReaderLine()
package com.xiaozhi.io;import java.io.BufferedReader;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class Test { public static void main(String[] args)
2013-11-03 14:01:08 1072
原创 【IO流一些小细节】IO流中一些方法的使用
FileWriter fw=new FileWriter("c:\\jingtianxiaozhi.txt");如果文件没有,则自动创建,路径不存在,创建失败,抛FileNotFoundException异常。写入数据有两种方法,一次写一个字符,一次写一个数组,显然数组效率高。FileReader的read()方法返回的是字符整数值,read(arr)返
2013-11-03 00:09:00 770
原创 【方法尽量用API的,方便】Colections和Arrays的使用
Collections里面有给集合加锁的方法,让集合更加安全Arrays里面有把对象数组转换成List的方法,可以进行contains、indexOf()等操作,但是不能进行增删改查操作
2013-11-01 21:41:22 486
原创 【安全】JDK5提高了安全性
StringBuilder代替了StringBufferArrayList代替了VectorHashMap代替了HashTable原因是后者都是同步,效率慢,集合可以使用Collections.sychronized-----()方法同步
2013-11-01 19:41:10 472
原创 【Lock】小领悟
同步函数的锁可以自己定义方法的锁是this静态方法的锁是类名.class因为锁不确定所以wait()方法、notify()、notifyAll()在Object类中
2013-11-01 13:11:15 418
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人