会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
吹雪的专栏
下雨初晴,水风清;烟敛云收,数峰青。
博客园
首页
新随笔
联系
管理
订阅
上一页
1
2
3
4
5
6
7
下一页
2016年11月20日
Java多线程之线程并发库的Semaphere同步工具
摘要: Semaphore这个东西和之前的synchronized干的事差不多。 synchronized保证了,我管理的那部分代码同一时刻只有一个线程能访问 Semaphore保证了,我管理的那部分代码同一时刻最多可以有n个线程访问 Semaphore可以维护当前访问自身的...
阅读全文
posted @ 2016-11-20 11:02 john8169
阅读(148)
评论(0)
推荐(0)
2016年11月19日
Java多线程之线程并发库条件阻塞Condition的应用
摘要: 锁(Lock/synchronized)只能实现互斥不能实现通信,Condition的功能类似于在传统的线程技术中的,Object.wait()和Object.notify()的功能,在等待Condition时,允许发生"虚假唤醒",这通常作为对基础平台语义的让步,对...
阅读全文
posted @ 2016-11-19 21:58 john8169
阅读(191)
评论(0)
推荐(0)
java多线程之线程并发库读写锁技术的妙用
摘要: 读写锁,分为读锁和写锁,多个读锁不互斥,读锁和写锁互斥,写锁与写锁互斥,这是JVM自己控制的,你只要上好相应的锁即可,如果你的代码只读数据,可以很多人同时读,但不能同时写,那就上读锁;如果你的代码修改数据,只能有一个人在写,且不能同时读取,那就上写锁.总之,读的时候上...
阅读全文
posted @ 2016-11-19 10:51 john8169
阅读(158)
评论(0)
推荐(0)
Java多线程之线程并发库的线程锁技术
摘要: Lock比传统线程模型中的Synchronied方式更加面向对象,与生活中的锁类似,锁本身也应该是一个对象.两个线程执行的代码段要实现同步互斥的效果,它们必须用同一个Lock对象,锁是在代表要操作的资源的类的内部方法中,而不是线程代码中.Lock就用来替代synchr...
阅读全文
posted @ 2016-11-19 10:03 john8169
阅读(114)
评论(0)
推荐(0)
Java多线程之线程并库Callable与Future的应用
摘要: 示例: package javaplay.thread.test;import java.util.Random;import java.util.concurrent.Callable;import java.util.concurrent.CompletionSe...
阅读全文
posted @ 2016-11-19 09:28 john8169
阅读(124)
评论(0)
推荐(0)
Java多线程之线程并发库的线程池
摘要: 应用示例如下: package javaplay.thread.test;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.uti...
阅读全文
posted @ 2016-11-19 08:42 john8169
阅读(124)
评论(0)
推荐(0)
2016年11月18日
Java多线程之线程并发库原子性操作类
摘要: AtomicInteger 用得不当被笑掉大牙AtomicIntegerArrayAtomicIntegerFieldUpdater:对类中整数字段进行操作,需要先反射获取对象身上的字段即atomic包,可以对基本数据、对数组中的基本数据、对类中的基本数据等进行操作,...
阅读全文
posted @ 2016-11-18 23:02 john8169
阅读(111)
评论(0)
推荐(0)
Java多线程之ThreadLocal类及应用技巧
摘要: 示例: package javaplay.thread.test;import java.util.Random;public class ThreadLocalTest { // 相当于一个hashmap,数据是线程范围内的,一个线程一个数据,特别简单 static...
阅读全文
posted @ 2016-11-18 22:39 john8169
阅读(142)
评论(0)
推荐(0)
Java多线程之线程范围内共享变量的概念与作用
摘要: 要实现线程范围内的数据共享,就是说不管是A模块还是B模块,如果它们现在在同一个线程上运行,它们操作的数据应该是同一个,下面的做法就不行: package javaplay.thread.test;import java.util.Random;public class...
阅读全文
posted @ 2016-11-18 20:22 john8169
阅读(297)
评论(0)
推荐(0)
Java多线程之传统线程同步通信技术
摘要: wait和notify实例子线程循环10次,主线程循环100次。接着子线程循环10次,主线程循环100次。如此循环50次。摘自张孝祥老师线程视频源码。 package javaplay.thread.test;public class TraditionalThrea...
阅读全文
posted @ 2016-11-18 19:26 john8169
阅读(133)
评论(0)
推荐(0)
2016年11月17日
Java多线程之传统线程互斥技术
摘要: package javaplay.thread.test;public class TraditionalThreadSynchronized { public static void main(String[] args) { new TraditionalThr...
阅读全文
posted @ 2016-11-17 23:04 john8169
阅读(113)
评论(0)
推荐(0)
Java多线程之传统定时器技术
摘要: package javaplay.thread.test;import java.util.Date;import java.util.Timer;import java.util.TimerTask;public class TraditionalTimerTes...
阅读全文
posted @ 2016-11-17 20:28 john8169
阅读(118)
评论(0)
推荐(0)
2016年11月16日
Java多线程之多个线程访问共享对象和数据的方式
摘要: 1.如果每个线程执行的代码相同,可以使用同一个Runable对象,这个Runable对象中有那个共享数据,例如卖票系统就可以这样做。 package javaplay.test;public class MulteThreadShareData { public st...
阅读全文
posted @ 2016-11-16 23:29 john8169
阅读(1367)
评论(0)
推荐(0)
Java多线程之创建线程的两种传统方式
摘要: package javaplay.thread.test;public class TraditionalThread { public static void main(String[] args) { // 第一种 Thread thread = new Th...
阅读全文
posted @ 2016-11-16 22:46 john8169
阅读(97)
评论(0)
推荐(0)
Java基础之实现类似spring的可配置的AOP
摘要: #xxx=java.util.ArrayListxxx=javaplay.day3.aopframework.ProxyFactoryBeanxxx.advice=javaplay.day3.MyAdvicexxx.target=java.util.ArrayList...
阅读全文
posted @ 2016-11-16 21:03 john8169
阅读(113)
评论(0)
推荐(0)
2016年11月7日
Java基础之AOP原理
摘要: 这篇博文如果不能在五分钟内写出来,说明没有掌握aop的原理终于知道为什么不能invoke方法里调用proxy.toString()方法,因为要转发 package javaplay.day3;import java.lang.reflect.InvocationHan...
阅读全文
posted @ 2016-11-07 22:10 john8169
阅读(202)
评论(1)
推荐(0)
2016年11月1日
Java基础之动态代理
摘要: 代理的原理与作用及AOP的概念代理1.要为已存在的多个具有相同接口的目标类的各个方法增加一些系统功能,例如,异常处理、日志、计算方法的运行时间、事务管理、等等,你准备如何做? 2.编写一个与目标类具有相同接口的代理类,代理类的每个方法调用目标类的相同方法,并在调用方法...
阅读全文
posted @ 2016-11-01 22:09 john8169
阅读(124)
评论(0)
推荐(0)
2016年10月25日
Java基础之类加载器
摘要: 1. 什么是类加载器? 加载类的工具.2. Java虚拟机中可以安装多个类加载器,系统默认三个主要的类加载器,每个类负责加载特定位置的类: BootStrap,ExtClassLoader,AppClassLoader3. 类加载器也是Java类,因为其是java类的...
阅读全文
posted @ 2016-10-25 22:05 john8169
阅读(141)
评论(0)
推荐(0)
2016年10月23日
Java基础之泛型
摘要: 1.使用泛型,集合中元素限定为一个特定类型,集合中只能存储同一个类型对象,这样更安全,获取元素时,不需要对对象进行强制类型转换,更方便。2.泛型是提供给javac编译器使用的,可以限定集合中的输入类型,让编译器挡住源程序的非法输入,编译器编译带类型说明的集合时会去掉类...
阅读全文
posted @ 2016-10-23 17:21 john8169
阅读(125)
评论(0)
推荐(0)
Java基础之注解
摘要: 编码习惯:类名/属性名是名词或者形容词加名词,方法名是动词或者是动词加名词了解注解,覆盖equals方法时类型参数不能是除Object之外的类型,否则equals不起作用,因为被调用的还是Object的equals方法,加上注解@Override即可解决;注解相当于一...
阅读全文
posted @ 2016-10-23 14:52 john8169
阅读(128)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
下一页
公告