`
生亦何欢
  • 浏览: 11486 次
社区版块
存档分类
最新评论
文章列表
http://www.cnblogs.com/samqiu/p/4279836.html 这个博客已经很仔细的介绍了BlockingQueue. 我现在修改几个方法来说明BlockingQueue几个方法的区别。 1。修改等待时间 消费者等待时间非常短,没有产品加到队列 String data = queue.poll(20, TimeUnit.MILLISECONDS); 打印出的消息: 引用启动生产者线程! 正在生产数据... 启动消费者线程! 启动生产者线程! 正在生产数据... 启动生产者线程! 正在生产数据... 正从队列获取数据... 退出消费者线程! 将数据:data:1放入 ...
http://www.cnblogs.com/samqiu/p/4279836.html 这个博客已经很仔细的介绍了BlockingQueue. 我现在修改几个方法来说明BlockingQueue几个方法的区别。 1。修改等待时间 消费者等待时间非常短,没有产品加到队列 String data = queue.poll(20, TimeUnit.MILLISECONDS); 打印出的消息: 引用启动生产者线程! 正在生产数据... 启动消费者线程! 启动生产者线程! 正在生产数据... 启动生产者线程! 正在生产数据... 正从队列获取数据... 退出消费者线程! 将数据:data:1放入 ...
转载地址:http://www.ibm.com/developerworks/cn/java/l-threadPool/#icomments 1. 任务接口(Task):每个任务必须实现的接口,以供工作线程调度任务的执行。 /** * <p>Title: </p> * <p>Description: use to test thread pool</p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: </p> * * ...
测试类 public class PerGenTest { public static void main(String[] args) { ArrayList<TestClass> list = new ArrayList<TestClass>(); String i = ""; while(true){ i = i + "a"; TestClass test = new TestClass(); test.setName(i); list.add(test) ...
abstract (关键字 ) 抽象 ['.bstr.kt] access vt.访问,存取 ['.kses]'(n.入口,使用权) algorithm n.算法 ['.lg.riem] Annotation [java]代码注释 [.n.u'tei..n] anonymous adj.匿名的[.'n.nim.s]'(反义:directly adv.直接地,立即[di'rektli, dai'rektli]) apply v.应用,适用 [.'plai] application n.应用,应用程序 [,.pli'kei..n]' (application ...

String intern方法

    博客分类:
  • java
String a = "ab"; String b = new String("ab"); System.out.println(a == b); System.out.println(a.equals(b)); System.out.println(b.intern() == a); System.out.println(a.intern() == b); 打印结果: false true true false new String不会去String常量迟中找已有的字符串。string.intern()方 ...

select结果作为新表

    博客分类:
  • SQL
SELECT A FROM (SELECT A,B FROM TABLE) T where A='XXXX'; select name, count from (select b.name name, sum(c.count) count from websites b inner join access_log c on b.id = c.site_id group by c.site_id) d where d.count > 500

having语法

    博客分类:
  • SQL
select  b.name,  sum(c.count) from websites b inner join access_log c on b.id = c.site_id group by c.site_id having sum(c.count) > 500
http://www.cnblogs.com/peida/archive/2013/04/23/3036035.html 什么是注解(Annotation):   Annotation(注解)就是Java提供了一种元程序中的元素关联任何信息和着任何元数据(metadata)的途径和方法。Annotion(注解)是一个接口,程序可以通过反射来获取指定程序元素的Annotion对象,然后通过Annotion对象来获取注解里面的元数据。   Annotation(注解)是JDK5.0及以后版本引入的。它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。从某些方面看,annotatio ...
竞争锁是造成多线程应用程序性能瓶颈的主要原因 区分竞争锁和非竞争锁对性能的影响非常重要。如果一个锁自始至终只被一个线程使用,那么 JVM 有能力优化它带来的绝大部分损耗。如果一个锁被多个线程使用过,但是在任意 ...
SUN/Oracle 的 HotSpot JVM 又把新生代进一步划分为 3 个区域: 1. 一个相对大点的区域,称为“伊甸园区 (Eden)”; 2. 两个相对小点的区域称为“From 幸存区 (survivor)” 和“To 幸存区 (survivor)”。 按照规定,新对象会首先分配在 Eden 中 (如果新对象过大,会直接分配在老年代中)。在 GC 中,Eden 中的对象会被移动到 survivor 中,直至对象满足一定的年纪 (定义为熬过 GC 的次数),会被移动到老年代。 新生代的 GC 使用复制算法: 1. 在 GC 前 To 幸存区 (survivor) 保持清空 2. Ed ...
echo y | rm example_folder
HotSpot JVM 的并发标记清理收集器 (CMS 收集器) 的主要目标就是:低应用停顿时间。该目标对于大多数交互式应用很重要,比如 web 应用。 CMS 收集器的过程 CMS 收集器的 GC 周期由 6 个阶段组成。其中 4 个阶段 (名字以 Concurrent 开始的) 与实际的应用程序是并发执行的,而其他 2 个阶段需要暂停应用程序线程。 1.初始标记:为了收集应用程序的对象引用需要暂停应用程序线程,该阶段完成后,应用程序线程再次启动。 2.并发标记:从第一阶段收集到的对象引用开始,遍历所有其他的对象引用。 3.并发预清理:改变当运行第二阶段时,由应用程序线程产生的对象引用,以 ...

什么是JIT

    博客分类:
  • JVM
http://java-mzd.iteye.com/blog/838514 JIT(just-in-time compilation,即时编译)指计算机领域里,即时编译也被称为动态翻译(dynamic translation),是一种通过在运行时将字节码翻译为机器码,从而改善字节码编译语言性能的技术。 参数-Xcomp执行(优先jit编译器) 使用参数-Xint(忽略jit编译器) 更详细的解释在原文中
[size=medium]http://swiftlet.net/archives/639 1. 定义 JRE(Java Runtime Enviroment)是Java的运行环境。面向Java程序的使用者,而不是开发者。如果你仅下载并安装了JRE,那么你的系统只能运行Java程序。JRE是运行Java程序所必须环境的集合,包含JVM标准实现及 Java核心类库。它包括Java虚拟机、Java平台核心类和支持文件。它不包含开发工具(编译器、调试器等)。 JDK(Java Development Kit)又称J2SDK(Java2 Software Development Kit),是Java开 ...
Global site tag (gtag.js) - Google Analytics