`
marb
  • 浏览: 422447 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
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作为线程容器,可以为线程同步提供有力的保障。   二、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) 设置子线程为“守护线程”。但现在要的是主线程等待所有子线程完成后,还要执行其它操作(比 ...
【原帖:http://www.uml.org.cn/j2ee/201212193.asp】 1. 引言 合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务 可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线 程池可以进行统一的分配,调优和监控。但是要做到合理的利用线程池,必须对其原理了如指掌。 2. 线程池的使用 线程池的创建 我们可以通过ThreadPoolExecutor来创建一个线程池。 ...
Global site tag (gtag.js) - Google Analytics