- 博客(27)
- 资源 (24)
- 收藏
- 关注
原创 多线程等待(超时)/通知的应用场景-数据库连接池
闲话少说,直接上代码:package com.ilucky.test.jdk.util.concurrent.pool;import java.sql.Connection;import java.util.LinkedList;/** * 数据库连接池 * @author IluckySi * */public class ConnectionPool { private Lin
2017-05-24 18:18:04 1042
原创 多线程之等待超时模式
package com.ilucky.test.jdk.util.concurrent;/** * 等待/通知机制. * 等待超时模式. * @author IluckySi * */public class WaitNotifyTest2 { private static Object lock = new Object(); public static void main
2017-05-24 15:31:46 1361
原创 多线程之等待通知机制
闲话少说,直接上代码:package com.ilucky.test.jdk.util.concurrent;import java.util.Date;/** * 等待/通知机制. * 等待/通知机制,是指一个线程A调用了对象O的wait()方法进入等待状态,而另一个线程B调用了O对象的notify() * 或者notifyAll()方法, 线程A收到通知后从对象O的wait()方法返回,进
2017-05-24 14:25:23 331
原创 Java命令行程序构建工具airlift使用之分组(group)
闲话少说,直接上代码:package com.ilucky.druid.airlift.test2;import java.util.Arrays;import io.airlift.airline.Cli;import io.airlift.airline.Cli.CliBuilder;import io.airlift.airline.Help;import io.airlift.airl
2017-05-22 17:44:18 2142
原创 Java命令行程序构建工具airlift使用
package com.ilucky.airlift;import java.util.Arrays;import io.airlift.airline.Cli;import io.airlift.airline.Cli.CliBuilder;import io.airlift.airline.Help;import io.airlift.airline.ParseArgumentsUnexp
2017-05-22 17:40:42 3770
原创 Guice bindInterceptor的使用
package com.ilucky.guice.test12;import com.google.inject.Guice;import com.google.inject.Injector;import com.google.inject.name.Named;/** * v1.0:20161116 * bindInterceptor的使用 * aop:面向切面编程. */publ
2017-05-22 17:12:29 1982
原创 Guice Providers注解和Names模板
package com.ilucky.guice.test11;import com.google.inject.Guice;import com.google.inject.Injector;import com.google.inject.Key;import com.google.inject.name.Names;/** * v1.0:20161116 * @author Iluc
2017-05-22 17:01:11 529
原创 Guice 注解@Provides
package com.ilucky.guice.test10;import com.google.inject.Guice;import com.google.inject.Injector;import com.google.inject.Key;/** * v1.0:20161114 * @author IluckySi * * 注解@Provides. * 当使用@Provi
2017-05-22 16:36:21 2921
原创 Guice 链式绑定,常量绑定, 基本类型绑定和Properties绑定
package com.ilucky.guice.test9;import java.util.Properties;import com.google.inject.Binder;import com.google.inject.Guice;import com.google.inject.Inject;import com.google.inject.Injector;import co
2017-05-22 15:38:42 987
原创 Guice provider注解
package com.ilucky.guice.test8;import com.google.inject.Guice;import com.google.inject.Injector;/** * v1.0:20161116 * Provider绑定注解. * @ProvidedBy(MyProvider.class)等价于binder.bind(MyService.class).to
2017-05-22 15:32:19 1337
原创 Guice Provider绑定
package com.ilucky.guice.test7;import com.google.inject.Guice;import com.google.inject.Injector;/** * v1.0:20161114 * Provider绑定. * 如果建对象的过程很复杂,我们就会考虑,是不是可以把它独立出来,形成一个专门的类,基于这个思想, * Guice提供了一个接口Pr
2017-05-22 15:26:59 1053
原创 Guice Names的模板来生成注解
package com.ilucky.guice.test6;import com.google.inject.Guice;import com.google.inject.Injector;import com.google.inject.Key;import com.google.inject.name.Names;/** * v1.0:20161114 * v1.0:20161116
2017-05-22 15:17:45 1121
原创 Guice注解实现一个类型绑定多个实现.
package com.ilucky.guice.test5;import com.google.inject.Guice;import com.google.inject.Injector;import com.google.inject.Key;/** * v1.0:20161116 * 注解实现一个类型绑定多个实现. * 在Java的语言中,一个接口可以有多个实现类,基于这个思想,G
2017-05-22 15:14:16 2427
原创 Guice依赖注入的三种方式和injectMembers方法的使用
package com.ilucky.guice.test4;import com.google.inject.Guice;import com.google.inject.Injector;/** * v1.0:20161114 * 注解:依赖注入@Inject * 依赖注入的方式有三种:属性注入,构造方法注入和setter方法注入. * Injector.injectMembers方法
2017-05-22 14:58:20 3595
原创 Guice依赖注入(@Inject)
package com.ilucky.guice.test3;import com.google.inject.Guice;import com.google.inject.Injector;/** * v1.0:20161114 * 注解:依赖注入@Inject * @author IluckySi */public class MainTest { public static
2017-05-22 14:47:39 589
原创 Guice注解(单例)
package com.ilucky.guice.test2;import com.google.inject.Guice;import com.google.inject.Injector;/** * v1.0:20161116 * 注解(单例). * @ImplementedBy(MyServiceImpl.class)等价于binder.bind(MyService.class).to
2017-05-22 14:44:11 1783
原创 Guice入门实例和单例模式
package com.ilucky.guice;import com.google.inject.Guice;import com.google.inject.Injector;/** * v1.0:20161114 * @author IluckySi * 入门实例和单例模式 * Binder接口作用是创建接口和其实现类的映射关系. * Module接口作用是维护一组 Binding
2017-05-22 14:35:39 1653
原创 线程安全之如何实现多线程下的自增安全
package com.ilucky.test.jdk.util.concurrent;import java.util.concurrent.CountDownLatch;import java.util.concurrent.atomic.AtomicInteger;/** * 线程安全: 当多个线程访问某个类时, 这个类始终都能表现出正确的行为, 那么就称这个类是线程安全的。 * @au
2017-05-21 19:05:58 4718
原创 Sychronized学习之死锁
package com.ilucky.test.jdk.util.concurrent;/** * 死锁 * 如下这段代码会引起死锁,两个线程会互相等待对方释放锁。 * 一般发生的原因是: 某个线程拿到锁后, 因为一些异常没有释放锁。 * 避免死锁的方法: * 避免一个线程同时获取多个锁。 * 避免一个线程同时占用多个资源。 * 尝试使用定时锁,使用tryLock(timeout)来替
2017-05-21 18:20:13 433
转载 java8__forEach内部迭代(转载)
java8中集合类新增forEach方法,以进行内部迭代,数据可以用lambda进行处理。 和之前迭代比较public class ListTest { public static void main(String[] args) { List<String> list=new ArrayList<String>(); list.add("a")
2017-05-17 12:00:04 1488
原创 Semaphore使用之公平锁
闲话少说,直接上demo:package com.ilucky.test.jdk.util.concurrent;import java.util.Date;import java.util.concurrent.Semaphore;/** * 公平锁和非公平锁: * 默认使用非公平锁,因为非公平锁的的效率要高于公平锁。但是非公平锁会导致"线程饿死"的问题. * 所以, 要结合具体的业务场
2017-05-12 14:56:34 1230 2
原创 CountDownLatch使用之等待超时
闲话少说,直接上demo:package com.ilucky.test.jdk.util.concurrent;import java.util.Date;import java.util.concurrent.CountDownLatch;import java.util.concurrent.TimeUnit;/** * cdl.await(long, TimeUnit);等待超时,针对
2017-05-12 14:41:48 27680 1
原创 CyblicBarrier使用
闲话少说直接上demopackage com.ilucky.test.jdk.util.concurrent;import java.util.Date;import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;/** * n个线程互相等待, 任何一个线程完成之前,
2017-05-11 10:47:30 379
使用eclipse通过weblogic开发简单的ejb应用(weblogic 10.x & ejb3.x)
2017-08-21
使用eclipse通过jboss开发简单的ejb应用(jboss7.x & ejb3.x)
2017-08-18
jfreechart一&二维报表导出为word&pdf&html 一
2014-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人