使用Runtime.getRuntime().exec()方法时要注意工作目录
使用Runtime.getRuntime().exec()方法时要注意Working Directory 如果不设定Working Directory,被调用进程的工作目录就是调用进程的工作目录 设定方法是:使用以下方法调用 Runtime.getRuntime().exec(command, envp, dir), dir就是工作目录
使用Runtime.getRuntime().exec()方法时要注意Working Directory 如果不设定Working Directory,被调用进程的工作目录就是调用进程的工作目录 设定方法是:使用以下方法调用 Runtime.getRuntime().exec(command, envp, dir), dir就是工作目录
一个线程可能不会响应 thread.interrupt()方法。而且,如果线程不响应这个方法,也就不会响应 thread.stop()方法。 所以,这个线程就死不了。
private static void p(Object o) { System.out.println(o); } private static void p(int o) { System.out.println(o); } private static void p(long o) { System.out.println(o); } private static void p(boolean o) { System.out.println(o); } private static void pc(java.util.Collection c) { java.util.Iterator it = c.iterator(); while (it.hasNext()) { p(it.next()); } } private static void pa(Object[] c) { if …
6.4 配置文件的分类存放 代码中的配置文件可以分为两大类: 1. 只在开发时修改,而不能在运行时修改的配置文件,如Spring的Bean注入配置,Hibernate的字段映射等。此类文件若发生变更,则相当于JAVA源代码发生变更,必须由开发人员完成。因此此类文件适合放在classpath下。即web/WEB-INF/classes中。 2. 适于运行时修改的配置文件,它们代表着系统参数,跟着生产环境的变化而变化,如 线程池配置。为了方便部署,此类文件不应与java字节码混在一起,即不能在classpath下。此类文件必须放在non-classpath-config中。由于系统的分布式特性,non-classpath-config下又设置了两个目录: a) process-common-config. 对所有进程来说配置相同的配置,如数据源配置;或者只为一个进程使用,不为其他进程使用的配置文件。 b) process-specific-config. 在不同进程中,有不同的配置。如不同进程就有不同的log4j文件路径。
如果用了sitemesh,那么在它的decorator:body 中再次使用 jsp:include 时要注意 1.如果再次被包含的页面内容很大,而且放在最后,可能会导致浏览器中的整个页面坍塌 1.如果在decorator:body 中使用了两次 jsp:include ,也可能会导致浏览器中的整个页面坍塌 页面坍塌 就是 页面的布局混乱、而且内容残缺,有的地方会出现html源码 以上问题是在将sitemesh与tomcat一起使用时发现的
如果你发现打开JSP页面非常非常慢,而JSP页面中又用到了EL技术(如 displayTag, extremeTable),则原因十之八九是:用EL要求获取一个对象中的XX属性值,而实际上这个对象中根本没有XX属性 如“chick.hands”:Chick类中并没有“hands”这个属性
如: log4j.appender.file.File = log/theLog.log
WritableWorkbook workbook = Workbook.createWorkbook(new File("output.xls")); WritableSheet sheet = workbook.createSheet("First Sheet", 0); Label label = new Label(0, 2, "A label record"); sheet.addCell(label); Number number = new Number(3, 4, 3.1459); sheet.addCell(number); workbook.write(); workbook.close(); http://www.andykhan.com/jexcelapi/tutorial.html 经过研究源码发现, 如果workbook是用 WritableWorkbook createWorkbook(OutputStream output) 方法生成的,则workbook.close()后,相应的output也会被自动关闭
System.out.println(handler.getDataMode(DataType.IN)); System.out.println(handler.getDataMode(DataType.OUT)); 结果为: String String
很遗憾,EhCache不是session中的东西,因此不能仅仅利用应用服务器的 session replication使它在各个节点间维持一致 透明性是没有了,还是要显式地弄一下这个东西的。不过还好,EhCache提供的缓存分布机制还是比较简单的。只需要配置一下,不用写代码。 具体怎么配可以去官方网站看看。这里用最简短的话介绍一下实现的方案:每个实例配一个监听进程,用来接收其他实例发来的缓存通知信息;实例之前可以用组播协议互相通知,也可以用普通的IP协议进行多播。 以下是官方的正式文档: 设计思路: http://ehcache.sourceforge.net/documentation/distributed_design.html 配置办法: http://ehcache.sourceforge.net/documentation/distributed_caching.html