J2SE
nomad2
<a href="http://www.fi
展开
-
Some notes for Java
1. CallableStatement: The interface used to execute SQL stored procedures, not PreparedStatement, which represents a precompiled SQL statement.2. Hashtable: Neither the key nor the value can be null原创 2015-12-09 09:58:05 · 758 阅读 · 1 评论 -
《Java Concurrency in Practice》ch9 GUI Applications
1. EDT (Event Dispatch Thread)Question: Why are GUIs Single-threaded?1) 不要再EDT执行时间较长的任务,否则GUI无法及时响应。2) SwingUtilities.invokeLater() 可以将一个Runnable任务调度到事件线程中执行(可以在任意线程中调用)2. 短时间的GUI任务在EDT中处理原创 2012-03-21 22:00:20 · 705 阅读 · 0 评论 -
《Java Concurrency in Practice》ch11 Performance and Scalability
1. 没有免费的午餐While the goal may be to improve performance overall, using multiple threads always introduces some performance costs compared to the single-threaded approach. These include the overhead a原创 2012-03-21 22:26:23 · 616 阅读 · 0 评论 -
《Java Concurrency in Practice》ch5 Building Blocks
《Java并行编程实战》ch5 基础构建模块 这章写的真不错,总结了3个有意思的问题。1. 不使用信号量,实现生产者-消费者问题import java.util.concurrent.BlockingQueue;import java.util.concurrent.LinkedBlockingQueue;public class PC { public static原创 2012-03-20 21:14:36 · 647 阅读 · 0 评论 -
《Java Concurrency in Practice》ch8 Applying Thread Pools
1. 线程池中,如果任务之间相互依赖,可能导致死锁。2. 设置线程池的大小其它可能影响线程池大小的因素:内存、文件句柄、socket句柄、数据库连接等。3. ThreadPoolExecutorJDK上这样写,为了便于跨大量上下文使用,此类提供了很多可调整的参数和扩展钩子 (hook)。但是,强烈建议程序员使用较为方便的 Executors 工厂方法 Executors.n原创 2012-03-20 21:41:39 · 621 阅读 · 0 评论 -
《Java Concurrency in Practice》ch6 Task Execution
3个notes,1. don't use Thread, use ExecutorExecutor may be a simple interface, but it forms the basis for a flexible and powerful framework for asynchronous task execution that supports a wide varie原创 2012-03-20 21:28:22 · 743 阅读 · 0 评论 -
找出环的初始节点
Given a circular linked list, implement an algorithm which returns node at the beginning of the loop.refer to careerup分析的很形象,If we move two pointers, one with speed 1 and another with spee原创 2012-03-16 19:57:42 · 693 阅读 · 0 评论 -
使用C3P0-0.9.1.jar包的问题:APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
from: http://blog.csdn.net/dingherry/article/details/6534494C3P0-0.9.1.jar包的问题出现了:view plain2011-06-09 16:15:57.500 [com.mchange.v2.c3p0.C3P0Registry]-[INFO] Initializing c3p0-0.9.1 [built 16-转载 2012-01-01 19:40:30 · 9053 阅读 · 0 评论 -
tomcat 内存溢出问题
from: http://www.iteye.com/problems/10072最近客户反映经常抛出内存溢出的异常,在下面贴出一部分异常信息,希望大家能帮我分析一下,找出原因,万分感激! [CLOSE] ID:107 28000 [ACTION : get_mod ] Exception in thread "Thread-2" 2008-12-28 5:58:29 or转载 2012-01-01 19:17:03 · 11558 阅读 · 0 评论 -
java thread CountDownLatch and CyclicBarrier
1. CountDownLatch山寨了一个的实现等待所有子线程结束的轮子,发现JDK已经支持了。CountDownLatch可以实现2种功能,1) 所有线程都结束时(wait for several threads to complete)2) 所有线程同时开始(coordinate the starting of threads)具体例子参考:http://www.javam原创 2012-01-01 19:33:04 · 867 阅读 · 0 评论 -
java thread.join method
最近用到了这样的一个功能,主进程需要等待一段功能完成后再继续运行,例如计算这段功能运行的时间。原来的实现使用了最基本的wait/notify来实现,后来发现了thread的join功能,发现用这个来实现更合理。原理如下:main thread. ... thread func; func.start(); func.join(); ...// the原创 2012-01-01 19:23:27 · 816 阅读 · 0 评论 -
eclipse不能自动编译工程的解决方法
from: http://www.blogjava.net/javafield/archive/2008/01/05/172940.htmleclipse出现不编译工程的现象。怎么刷新classes目录下也是空的.具体都操作了:打开project->build automatically 试后不行,还是不编译.打开project --> build automatically转载 2011-12-15 19:23:49 · 650 阅读 · 0 评论 -
HTTPS in Tomcat
1. Certificate basichttp://www.sslshopper.com/article-most-common-java-keytool-keystore-commands.htmlhttp://www.sslshopper.com/what-is-a-csr-certificate-signing-request.htmlhttp://www.原创 2011-12-04 20:43:05 · 1668 阅读 · 0 评论 -
mysql与datetime
最近遇到了这样的一个问题,从数据库中取出的数据明明是“2011-11-11”,但是程序在运行时总是显示得到的数据是“2011-11-10”。后来经过debug,发现JDBC connection以及resultset均是东8区(系统时区),而数据在存储时使用的是UTC时区,得到的时间总是提前了一天。在stackoverflow上找到了类似的问题http://stackoverflow.com/qu原创 2011-12-04 20:28:48 · 799 阅读 · 0 评论 -
Keeping a Branch in Sync
from: http://chestofbooks.com/computers/revision-control/subversion-svn/Keeping-A-Branch-In-Sync-Branchemerge-Basicmerging-Stayinsyn.htmlDescriptionThis section is from the "Version Control转载 2012-05-27 21:10:44 · 640 阅读 · 0 评论 -
java多线程学习-java.util.concurrent详解(三)ScheduledThreadPoolExecutor
from: http://janeky.iteye.com/blog/7704416. ScheduledThreadPoolExecutor 我们先来学习一下JDK1.5 API中关于这个类的详细介绍: "可另行安排在给定的延迟后运行命令,或者定期执行命令。需要多个辅助线程时,或者要求 ThreadPoolExecutor 具有额外的灵活性或功能时,此类要优于 Timer。转载 2012-05-27 21:12:13 · 1394 阅读 · 0 评论 -
java程序打包成jar,图片文件问题
from: http://hnzhoujunmei.iteye.com/blog/808249问题描述: 在编写完Java程序后,打包成Jar时发布,会发现找不到Jar文件中的图片和文本文件,其原因是程序中载入图片或文本文件时,使用了以当前工作路径为基准的方式来指定文件和路径。这与用户运行Jar包时的当前工作路径并不一致。问题分析: 例如:以Windows为例说明,转载 2012-05-27 21:13:12 · 2929 阅读 · 0 评论 -
Java 7中的TransferQueue
from: http://ifeve.com/java-transfer-queue/原文链接,译文链接,作者:Alex Miller,译者:Greenster,校对:梁海舰Java7中加入了JSR 166y规范对集合类和并发类库的改进。其中的一项是增加了接口TransferQueue和其实现类LinkedTransferQueue。TransferQueu转载 2016-01-08 21:31:40 · 504 阅读 · 0 评论 -
swingworker类中的哪些方法里面可以写GUI相关的代码?
参考:http://stackoverflow.com/questions/20260372/swingworker-progressbarThere are four rules to follow with SwingWorker. You can refer to this diagram:原创 2015-02-11 20:26:33 · 744 阅读 · 0 评论 -
Java程序控制CPU使用率
参考: http://stackoverflow.com/questions/1202184/throttling-cpu-memory-usage-of-a-thread-in-javaone way would be to adaptively sleep the threads, similarly as video playback is done in Java. If you原创 2014-11-25 16:08:00 · 3333 阅读 · 0 评论 -
OutOfMemoryError 应该catch吗?
see: http://stackoverflow.com/questions/2679330/catching-java-lang-outofmemoryerrorThere are a number of scenarios where you may wish to catch an OutOfMemoryError and in my experience (on Window原创 2013-12-26 21:30:24 · 2600 阅读 · 0 评论 -
Java 5和6的改进
1. Java 52. Java 6原创 2013-04-02 20:24:56 · 989 阅读 · 0 评论 -
Java 动态覆盖测试工具
1. EMMAhttp://grepcode.com/snapshot/repo1.maven.org/maven2/emma/emma/2.1.53202. coberturahttp://mojo.codehaus.org/cobertura-maven-plugin/project-info.html3. EclEMMAhttp://www.51testing.c原创 2013-01-03 19:58:49 · 900 阅读 · 0 评论 -
OpenFusion memory leak II
1. 使用MAT确定了泄漏的对象类型为T,通过反编译fusion的源代码,发现toString()方法为“Filter”,猜想T为Filter。2. 如何对导致Filter泄漏呢?断开网线?异常退出?通过验证,以上两种均可以导致Corba对象无法被销毁,进而导致T对象泄漏在OpenFusion中。总结下Java程序的debug,1. 总是可以找到根源的,随着时间的推移,对问题的理解也在原创 2012-11-25 15:35:40 · 666 阅读 · 0 评论 -
OpenFusion memory leak
最近遇到了一个关于OpenFusion的问题,系统在运行了一段时间(几天至30多天不等),Notification Service Java进程中堆占用的内存超过了memory limit,使得内部的MemoryManager不断的去调用system.gc()去释放内存,进而导致新收到的event全部丢弃。这时对外部的显示是系统反应缓慢,直至响应超时。最终发现了导致这个问题的原因,1)采购原创 2012-09-26 22:13:11 · 772 阅读 · 0 评论 -
java进程统计已使用的heap大小
命令如下:jstat -gc $pid | grep -v S0C | awk '{ print $3+$4+$6+$8;}'具体参数可以参考 http://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jstat.html原创 2012-09-03 21:59:22 · 707 阅读 · 0 评论 -
实现BlockingQueue
看了下JDK的源代码实现,模拟了一下ArrayBlockQueue,代码如下:import java.util.LinkedList;import java.util.List;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReentrantLock;public cla原创 2012-08-28 18:53:51 · 940 阅读 · 0 评论 -
Shuffle an Array or a List - Algorithm in Java
From: http://www.vogella.com/articles/JavaAlgorithmsShuffle/article.htmlThis article describes how to shuffle the content of an array or a list in Java. After the shuffle the elements in the array o原创 2012-07-25 22:18:19 · 1766 阅读 · 0 评论 -
Java class loader的一些总结
1. classloader.loadclass 与 class.forName 之间的区别http://stackoverflow.com/questions/4285855/difference-betweeen-loading-a-class-using-classloader-and-class-fornamehttp://www.javaworld.com/javaworld/原创 2012-06-02 18:01:24 · 1606 阅读 · 0 评论 -
json-simple
from: http://code.google.com/p/json-simple/wiki/DecodingExamplesExample 1 - Convenient way: Use JSONValueSystem.out.println("=======decode=======");String s="[0,{\"1\":{\"2\":{\"3\":{\"4\":[5,转载 2012-05-13 14:34:22 · 1052 阅读 · 0 评论 -
c3p0 and MySQL connection lost after 8 hours
最近遇到了这样的一个问题,使用了c3p0数据库连接池,连接池中的连接在第二天使用“show processlist;”检查时全部断掉了。Application在执行sql时,报出“communication failure with Mysql database”异常。查询了下,发现mysql的默认wait_timeout是8小时,c3p0中可以在checkout connection时检原创 2011-11-08 19:22:31 · 1547 阅读 · 0 评论 -
eclipse不能自动编译工程的解决方法
from:http://www.blogjava.net/javafield/archive/2008/01/05/172940.html eclipse出现不编译工程的现象。怎么刷新classes目录下也是空的.具体都操作了:打开project->build aut转载 2011-09-28 19:35:02 · 568 阅读 · 0 评论 -
log4j WARN No appenders could be found for logger
log4j WARN No appenders could be found for logger原创 2011-03-12 13:51:00 · 6231 阅读 · 0 评论 -
maven and RPM
maven rpm spec原创 2011-01-25 20:27:00 · 3185 阅读 · 0 评论 -
Fixing the security exception : "class /"" + packageName + "/" does not match trust level of other classes in the same package"
mixed code, trust level, JNLP, security, JWS原创 2011-01-15 22:26:00 · 4934 阅读 · 4 评论 -
Java程序员面试笔试题三
59、JSP的常用指令isErrorPage(是否能使用Exception对象),isELIgnored(是否忽略表达式) http://……”%> 60、什么情况下调用doGet()和doPost()?Jsp页面中的form标签里的method属性为get时调用doGet(),为post时调用doPost()。 61、servlet的生命周期web容器加载servlet,生命周期开始。通过调用s转载 2007-05-23 22:00:00 · 3243 阅读 · 0 评论 -
初探Java类加载机制的奥秘
一、在jdk1.2以后,类加载是通过委托来完成的,这意味着如果 ClassLoader 不能找到类,它会请求父代 ClassLoader 来执行此项任务,所有 ClassLoaders 的根是系统 ClassLoader,它会以缺省方式装入类 -- 即,从本地文件系统。今天我们就来探讨一下在jvm中这些机制是怎样运行的。让我们假设有一个class字节码文件(比如Hello.class文件),那么在转载 2007-05-23 22:08:00 · 845 阅读 · 0 评论 -
Java程序员面试笔试题二
40、构造器Constructor是否可被override?构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。 41、是否可以继承String类?String类是final类故不可以继承。 42、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?switch(expr1)中,expr1是一个整数表达式转载 2007-05-23 21:57:00 · 2645 阅读 · 0 评论 -
Java程序员面试笔试题一
面向对象的特征有哪些方面 1. 抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。 抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象, 二是数据抽象。 11. 继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用, 它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生, 这个过程称为类继承转载 2007-05-23 21:52:00 · 2974 阅读 · 0 评论 -
BitSet的使用
关于BitSet的一些要注意的地方:(1)打印集合中的所有置位的元素,直接使用*.toString()即可。(2)length()是最高置位+1(3)size()是当前最多可以容纳的位数,例如new BitSet(10),其size()为64。原创 2007-08-09 21:30:00 · 866 阅读 · 0 评论