- 浏览: 422447 次
- 性别:
- 来自: 北京
最新评论
-
masuweng:
好好好,有时间了练习下
使用Java混淆工具yguard -
shengshihouzhe:
第一个eg实现的应该是循环栅栏,不是计数器
Java Phaser使用 -
yukaizhao:
推荐一个很全的guava教程 http://outofmemo ...
google guava cache 处理 -
yanqingluo:
谢谢分享,已关注.
BTrace入门及使用实例 -
luoxiaohui_java:
谢谢分享!
这么好的文章,怎么没人回复呢。
ibm was nd websphere 集群
文章列表
group_concat是mysql中的一个聚集函数,挺好用的,mysql的group_concat使用可参考:http://my.oschina.net/Kenyon/blog/70480。在postgresql中实现这个功能倒也容易,可以用array的转换或者函数string_agg()来做。 DB环境:postgresql 9.1.2 一.测试数据准备
postgres=# create table t_kenyon(id int,name text);
CREATE TABLE
postgres=# insert into t_kenyon values(1,'kenyon'), ...
Eclipse中10个最有用的快捷键组合
一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合。通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升。
1. ctrl+shift+r:打开资源
这可能是所有快捷键组合中最省时间的了。这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字母,比如applic*.xml。美中不足的是这组快捷键并非在所有视图下都能用。
2. ctrl+o:快速outline
如果想要查看当前类的方法或某个特定方法,但又不想把代码拉上拉下,也 ...
系统# uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# lspci -tv # 列出所有PCI设 ...
一些常用的命令 mvn help:effective-pom 用来查看当前工程的完整的pom文件, 比如从父类pom以及默认pom继承的内容 mvn install 将当前的maven构建(项目打包后的文件)安装到本地仓库 mvn install -Dmaven.test.skip=true 跳过测试(同时会跳过test compile) mvn deploy 将当前的maven构建(项目打包后的文件)安装到远程仓库 mvn archetype:create 这里的archetype是插件, create是目标(goal) profile命令: mvn install -DskipTests= ...
在我们熟知的建立在三层结构(表示层、业务逻辑层、持久层)基础之上的J2EE应用程序开发之中,表示层的解决方案最多。因为在表示层自身的知识触角很多,需要解决的问题也不少,这也就难免造成与之对应的解决方案层出 ...
1、在项目下pom.xml 文件中的<plugins >标签内加入:
Xml代码
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0-SNAPSHOT</version>
<configuration>
...
在maven工程里运行Java main方法是通过Maven的exec插件。
以命令行方式运行
在运行前,你需要先编译代码,记住exec:java不会自动为你编译代码,你需要先编译。
Java代码
mvn compile
编译完之后如下命令运行你的class
Java代码
mvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main"
如果需要添加参数
Java代码
mvn e ...
工作中多处接触到了ThreadPoolExecutor。趁着现在还算空,学习总结一下。
前记:
jdk官方文档(javadoc)是学习的最好,最权威的参考。
文章分上中下。上篇中主要介绍ThreadPoolExecutor接受任务相关的两方面入参的意义和区别,池大小参数corePoolSize和maximumPoolSize,BlockingQueue选型(SynchronousQueue,LinkedBlockingQueue,
工作中多处接触到了ThreadPoolExecutor。趁着现在还算空,学习总结一下。
【原文:http://dongxuan.iteye.com/blog/901689】
前记:
jdk官方文档(javadoc)是学习的最好,最权威的参考。
文章分上中下。上篇中主要介绍ThreadPoolExecutor接受任务相关的两方面入参的意义和区别,池大小参数corePoolSize和maximumPoolSize,BlockingQueue选型(SynchronousQueue,LinkedBlockingQueue,ArrayBlockingQueue);中篇中主要聊聊与keep ...
1、如何注入常量
@Value("${upload.filePath}")
2、如何配置Service、controler、DAO
@Controller
@Service("orgService")重命名为orgService否则按照orgServiceImpl命名
@Repository
3、如何配置延迟加载
@Lazy(false)
4、如何配置bean的 ...
概述
【原文:http://www.ibm.com/developerworks/cn/java/j-lo-spring25-ioc/】
注释配置相对于 XML 配置具有很多的优势:
它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作。如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO 的属性名、类型等信息,如果关系表字段和 PO 属性名、类型都一致,您甚至无需编写任务属性映射信息——因为这些信息都可以通过 Java 反射机制获取。
注释和 Java 代码位于一个文件中,而 XML 配置采用独立的配置文件,大多数配置信息 ...
BlockingQueue深入分析
- 博客分类:
- JAVA
一、概述:
BlockingQueue作为线程容器,可以为线程同步提供有力的保障。
二、BlockingQueue定义的常用方法
1.BlockingQueue定义的常用方法如下:
抛出异常
特殊值
阻塞
超时
CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。
主要方法
public CountDownLatch(int count);
public void countDown();
public void await() throws InterruptedException
构造方法参数指定了计数的次数
countDown方法,当前线程调用此方法,则计数减一
awaint方法,调用此方法会一直阻塞当前线程,直到计时器的值为0
例子
Java代码
public class Co ...
原文出处:http://blog.chenlb.com/2008/11/join-or-countdownlatch-make-main-thread-wait-all-sub-thread.html
在编写多线程的工作中,有个常见的问题:主线程(main) 启动好几个子线程(task)来完成并发任务,主线程要等待所有的子线程完成之后才继续执行main的其它任务。
默认主线程退出时其它子线程不会停,如果想让main退出时其它子线程终止,可以用subThread.setDaemon(true) 设置子线程为“守护线程”。但现在要的是主线程等待所有子线程完成后,还要执行其它操作(比 ...
JAVA线程池的分析和使用
- 博客分类:
- JAVA
【原帖:http://www.uml.org.cn/j2ee/201212193.asp】
1. 引言
合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务 可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线 程池可以进行统一的分配,调优和监控。但是要做到合理的利用线程池,必须对其原理了如指掌。
2. 线程池的使用
线程池的创建
我们可以通过ThreadPoolExecutor来创建一个线程池。
...