摘要:
JDK文档说明:创建一个使用单个 worker 线程的 Executor,以无界队列方式来运行该线程。(注意,如果因为在关闭前的执行期间出现失败而终止了此单个线程,那么如果需要,一个新线程将代替它执行后续的任务)。可保证顺序地执行各个任务,并且在任意给定的时间不会有多个线程是活动的。与其他等效的 n... 阅读全文
摘要:
JDK文档说明:创建一个可重用固定线程数的线程池,以共享的无界队列方式来运行这些线程。在任意点,在大多数 nThreads 线程会处于处理任务的活动状态。如果在所有线程处于活动状态时提交附加任务,则在有可用线程之前,附加任务将在队列中等待。如果在关闭前的执行期间由于失败而导致任何线程终止,那么一个新... 阅读全文
摘要:
java.util.concurrent.atomic包里提供了AtomicBoolean可以用原子方式更新的 boolean 值。AtomicInteger可以用原子方式更新的 int 值。AtomicIntegerArray可以用原子方式更新其元素的 int 数组。AtomicIntegerFi... 阅读全文
摘要:
1 /** 2 * 线程范围类的数据共享 3 * 核心:ThreadLocal类 4 * 实际场景: 5 * Hibernate的getCurrentSession方法,就是从线程范围内获取存在的session,如果不存在则新建一个并绑定到线程上 6 * struts将一个请求里的所有参... 阅读全文
摘要:
核心点:1、锁对象必须是同一个。2、wait()和notify()方法必须是调用锁对象的方法,而非this(线程)的。3、在多生产多消费的时候注意使用notifyAll而不是notifyAll,否则会造成死锁4、将需要同步的多个方法尽量分布在同一个对象里。测试代码: 1 import java.u... 阅读全文
摘要:
synchronized使用之基本原则:synchronized可以锁方法,也可以锁代码片段,但要实现互斥的基本就是在想要互斥的代码上加”同一把锁“,也就是同一个对象,也就是用==判断等于true的对象下面看一个例子:Work.java 真正做事情的类 1 package com.yzl; 2 ... 阅读全文
摘要:
1、直接使用Thread新建线程package com.yzl;public class ThreadPart_1 { //直接使用Thread对象新建线程并重run方法 public void test1(){ Thread thread1 = new Threa... 阅读全文
摘要:
POM: 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation="http://maven.apa 阅读全文
摘要:
添加spring的依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven. 阅读全文
摘要:
增加池的配置文件redis-pool.properties: #最大能够保持idel状态的对象数 redis.pool.maxIdle=200 #当池内没有返回对象时,最大等待时间 redis.pool.maxWait=1000 #当调用borrow Object方法时,是否进行有效性检查 redi 阅读全文
摘要:
eclipse默认编辑器:在有汉字的情况,特别是注释是汉字的情况,你会非常蛋疼的JP的properties插件:http://propedit.sourceforge.jp/eclipse/updates/安装后效果: 阅读全文
摘要:
下载安装: redis-server.exe redis服务器的daemon启动程序 redis.conf redis配置文件 redis-cli.exe redis命令行操作工具。当然,也可以用telnet根据其纯文本协议来操作 redis-check-dump.exe 本地数据库检查 redis 阅读全文
摘要:
当一个窗口不是通过window.open或者window.showModalDialog打开的时候,调用JS的window.close() 谷歌浏览器会提示如下警告,并拒绝执行 解决方法:(此方法无效) 如果找到真正有用的我到时再更新,如果你们有解决方案,可以在下面评论。 20161201编辑 在c 阅读全文