`
robinjoe
  • 浏览: 44850 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
常见的配置文件 虽然可以用xml或者在运行时用Java来配置Log4j,但还是properties文件好用啊! log4j.rootLogger=info, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
Log4j的简单思想    Log4j真的很简单,简单到令人发指的地步。不是要记录日志吗?那就给你一个Log,然后用Log来写东西就行了,先来一个完整类示例: package test.robin; import org.apache.commons.logging.Log; import org.apach ...
  在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作;跟踪代码运行时轨迹,作为日后审计的依据;担当集成开发环境中的调试器的作用,向文件或控制台打印代码的调试信息。  最普通的做法就是在代码中嵌入许多的打印语句,这些打印语句可以输出到控制台或文件中,比较好的做法就是构造一个日志操作类来封装此类操作,而不是让一系列的打印语句充斥了代码的主体。Log4j简介    Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNI ...
这是软件工程中的概念,是判断设计好坏的标准,主要是面向OO的设计,主要是看类的内聚性是否高,偶合度是否低。     一个程序有50个函数,这个程序执行得非常好;然而一旦你修改其中一个函数,其他49个函数都需要做修改 ...
0. Runtime.exec()用来执行外部程序或命令     1. Runtime.exec() 有四种调用方法     * public Process exec(String command);    * public Process exec(String [] cmdArray);    * public Process exec(String command, String [] envp);    * public Process exec(String [] cmdArray, String [] envp);     2. 得到程序执行返回值, 0为succ ...

Runtime.exec()

最近老是和Runtime.exec()打交道。遇到了不少麻烦。从网上搜了不少方法还好一一解决的。现在总结一下吧。最经典的介绍Runtime.exec()的文章是 Michael C. Daconta 的When Runtime.exec() won’t好吧,他老人家还没有把Runtime.exec()的使用说完全。我来补充下吧。 Sun的doc里其实说明还有其他的用法:exec(String[] cmdarray, String[] envp, File dir)Executes the specified command and arguments in a separate process ...
自己的一些评论:如果某些可执行程序如abc.bat在命令行可以执行,而在runtime中调用不可以执行!产生这种错误的原因就是没有处理runtime.exec()返回的process的输入输出流,这个process是必须自己handle输入输出流。执行打开命令行时 ...
一直对Servlet的几种页面跳转方式,理解的糊里糊涂的,今天在网上搜了一把,找到一遍比较好的,记下来,以后看看。   跳转分两部分,一是发生在servlet,一是在JSP,其实JSP也就是servlet,不过还是有点差异滴。 Servlet: 当然,在servlet中,一般跳转都发生在doGet, doPost等方法里面。 1)  redirect 方式 response.sendRedirect("/a.jsp"); 页面的路径是相对路径。sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如: response.sendRedi ...
内存管理的小技巧  尽可能多的掌握Java的内存回收,垃圾回收机制是为了更好地管理JVM的内存,这样才能提高java程序的运行性能。根据前面介绍的内存机制,下面给出java内存管理的几个小技巧。(1)尽量使用直接量  当需要使用字符串,还有Byte,Short,Integer,Long,Float,Double,Boolean,Charater包装类的实例时,程序不应该采用new的方式来创建对象,而应该直接采用直接量来创建它们。例如,程序需要"hello"字符串,应该采用如下代码String str="hello"'上面这种方式创建一个"hel ...
对于c++程序来说,对象占用的内存空间都必须由程序显式回收,如果程序员忘记了回收它们,那它们所占用的内存空间就会产生内存泄漏;对于java程序来说,所有不可达的对象都由垃圾回收机制负责回收,因此程序员不需要考虑 ...
(3)弱引用  弱引用与软引用有点相似,区别在于弱引用所引用对象的生存期更短。弱引用通过WeakReference类实现,弱引用和软引用很像,但弱引用的引用级别更低。对于只有弱引用的对象而言,当系统垃圾回收机制运行时,不管系统内存是否足够,总会回收该对象所占用的内存。当然,并不是说当一个对象只有弱引用时,它就会立即被回收,正如那些失去引用的对象一样,必须等到系统垃圾回收机制运行时才会被回收. 下面程序示范了弱引用所引用对象也会被系统垃圾回收的过程.import java.lang.ref.*;import java.util.*;public class WeakReferenc ...
  内存泄露:程序运行过程中,会不断分配内存空间,那些不再使用的内存空间应该即时回收它们,从而保证系统可以再次使用这些内存,如果存在无用的内存没有被回收回来,这就是内存泄漏.(1)强引用  这是java程序中最常见的引用方式,程序创建一个对象,并把这个对象赋给一个引用变量(变量指向对象所占空间地址的首地址--转者注),这个引用变量就是强引用.java程序可通过强引用来访问实际的对象。当一个对象被一个或一个以上的强引用变量引用时,它处于可达状态,它不可能被系统垃圾回收机制回收。  强引用是Java编程中广泛使用的引用类型,被强引用所引用的Java对象绝不会被垃圾回收机制回收,即使系统内存紧张;即使 ...
下面几遍文章中,阿堂想和朋友们一起来探讨一个java中内存管理方面的一些细节和常见内存管理的小技巧。由于java中本身已经提供了垃圾回收机制,并且这个是由JVM来自动执行的,也就是说,当一个java对象失去引用时,JVM的垃圾回收机制会自动清理它们,并回收它们所占用的内存空间。正因为此,所以一般的java程序员,就完全相信了java承诺的垃圾回收的说法了,这样就导致了java的内存泄露更隐蔽。。实际上,java的内存泄漏,也是一个比较常见的情况了。一个内存泄露点导致的内存泄露可能并不多,但并发用户一多,运行时间一长后,内存泄露就显得比较可怕了...  Java的内存管理包括内存分配(创建jav ...
1.     ccmalloc-Linux和Solaris下对C和C++程序的简单的使用内存泄漏和malloc调试库。 2.     Dmalloc-Debug Malloc Library. 3.     Electric Fence-Linux分发版中由Bruce Perens编写的malloc()调试库。 4.
Java虚拟机参数设置详解 下面的讨论以Windows平台的Sun MicroSystem实现的java5虚拟机为蓝本,其他操作系统或其他公司实现的虚拟机参数会有部分不同,但大部分含义都和Windows上的类似。 Java5与以前版本相比,虚拟机参数大部分保持了向前兼容,同时也增加了一些新的参数,本文将对这些参数的作用作详细描述,使虚拟机能更符合运行环境的需要,获得更好的性能和稳定性。 Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOME\bin\java –option 来启动,-option为虚拟机参数,JAVA_HOME为 ...
Global site tag (gtag.js) - Google Analytics