Java编程经验技巧
文章平均质量分 79
wanly3643
这个作者很懒,什么都没留下…
展开
-
关于StreamGobbler读取Stream的线程同步问题
使用Java Runtime执行系统命令时,有时候会定义一个类似StreamGobbler的Thread来异步读取命令的输出,有的时候会遇到主进程关闭了Stream而StreamGobbler还没有读完Stream的情况,这样就会抛出类似"bad file descriptor stream closed"的IOException.对于上述情况,一般使用synchronized关键字进行线...2011-02-21 16:00:51 · 797 阅读 · 0 评论 -
任务控制队列工具类
最近要写一个工具类,用静态方法控制执行的任务的最大数量。让其他的进入等待队列。主要用到了多线程的一些知识。以下是代码[code="java"]// 用于同步的锁private static Object lock = new Object();// 等待任务队列private static List waitingList = new LinkedList();//...2011-02-22 16:03:35 · 146 阅读 · 0 评论 -
Java或Web中解决所有路径问题(转载)
Java中使用的路径,分为两种:绝对路径和相对路径。归根结底,Java本质上只能使用绝对路径来寻找资源。所有的相对路径寻找资源的方法,都不过是一些便利方法。不过是API在底层帮助我们构建了绝对路径,从而找到资源的!在开发Web方面的应用时, 经常需要获取 服务器中当前WebRoot的物理路径。如果是Servlet , Action , Controller, 或则Filter , ...原创 2011-02-26 20:54:31 · 77 阅读 · 0 评论 -
两个synchronized方法可以相互调用吗
今天写程序的时候遇到一个问题:两个synchronized方法可以相互调用吗?略微搜索一下,发现有人跟我说不可以,理由是会死锁,大致意思就是A()方法占有了锁,调用B方法的时候需要等待,会形成死锁。我特地写了小程序验证了一下,程序如下[code="java"]package test;public class TestSync { public synchronized...2011-03-03 16:04:36 · 955 阅读 · 0 评论 -
说说Hibernate的save方法
最近做项目,很多时候都用到hibernate的save方法,发现了一些自己原来不知道的东西,在这里总结总结首先就是save方法的作用Session的save()方法使一个临时对象转变为持久化对象。这句话看似简单,还是很多东西要注意的。1. 不要把持久化对象或游离对象传给save()方法来看一段代码[code="java"]Customer custome...2011-03-09 12:02:53 · 264 阅读 · 0 评论 -
Java语言基础:内部类(转载)
1. 普通内部类 * 普通内部类的一个最简单的例子:[code="java"]// 外部类class OutterClass { // 内部类 public class InnerClass { private int i = 0; public int getInt(){ return ...原创 2011-03-25 14:53:50 · 89 阅读 · 0 评论