自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 log4j入门教程(三)

常见的配置文件虽然可以用xml或者在运行时用Java来配置Log4j,但还是properties文件好用啊!log4j.rootLogger=info, stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLa...

2011-12-15 22:49:03 118

原创 log4j入门教程(二)

Log4j的简单思想    Log4j真的很简单,简单到令人发指的地步。不是要记录日志吗?那就给你一个Log,然后用Log来写东西就行了,先来一个完整类示例: package test.robin; import org.apache.commons.logging.Log; import org.apache.commons.logging.Lo...

2011-12-15 15:26:04 121

原创 log4j入门教程(一)

  在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作;跟踪代码运行时轨迹,作为日后审计的依据;担当集成开发环境中的调试器的作用,向文件或控制台打印代码的调试信息。  最普通的做法就是在代码中嵌入许多的打印语句,这些打印语句可以输出到控制台或文件中,比较好的做法就是构造一个日志操作类来封装此类操作,而不是让一系列的打印语句充斥了代...

2011-12-15 13:30:16 137

原创 软件设计原则:高内聚低耦合

这是软件工程中的概念,是判断设计好坏的标准,主要是面向OO的设计,主要是看类的内聚性是否高,偶合度是否低。    一个程序有50个函数,这个程序执行得非常好;然而一旦你修改其中一个函数,其他49个函数都需要做修改,这就是高耦合的后果。编写概要设计的时候设计类或者模块自然要考虑到“高内聚,低耦合”。    在程序的各各模块中,尽量让每个模块独立,相关的处理尽量在单个模块中完成,(该干嘛干吗去...

2011-10-26 11:04:04 1931

原创 Java Runtime.exec()注意事项 .

0. Runtime.exec()用来执行外部程序或命令   1. Runtime.exec() 有四种调用方法     * public Process exec(String command);    * public Process exec(String [] cmdArray);    * public Process exec(String command, Strin...

2011-10-19 11:49:39 198

原创 Runtime.exec()

最近老是和Runtime.exec()打交道。遇到了不少麻烦。从网上搜了不少方法还好一一解决的。现在总结一下吧。最经典的介绍Runtime.exec()的文章是 Michael C. Daconta 的When Runtime.exec() won’t好吧,他老人家还没有把Runtime.exec()的使用说完全。我来补充下吧。Sun的doc里其实说明还有其他的用法:exec(String[]...

2011-10-19 11:48:31 182

原创 java runtime.exec() 的编写

自己的一些评论:如果某些可执行程序如abc.bat在命令行可以执行,而在runtime中调用不可以执行!产生这种错误的原因就是没有处理runtime.exec()返回的process的输入输出流,这个process是必须自己handle输入输出流。执行打开命令行时,必须使用Runtime.getRuntime().exec(cmd.exe /C);,只用exec(cmd /C);是无法执行的。那就...

2011-10-19 11:46:45 120

原创 servlet跳转页面的几种方法

一直对Servlet的几种页面跳转方式,理解的糊里糊涂的,今天在网上搜了一把,找到一遍比较好的,记下来,以后看看。 跳转分两部分,一是发生在servlet,一是在JSP,其实JSP也就是servlet,不过还是有点差异滴。 Servlet: 当然,在servlet中,一般跳转都发生在doGet, doPost等方法里面。 1) redirect 方式 response...

2011-10-19 11:14:55 156

原创 【转】Java高级进阶学习-Java的内存回收(5)

内存管理的小技巧  尽可能多的掌握Java的内存回收,垃圾回收机制是为了更好地管理JVM的内存,这样才能提高java程序的运行性能。根据前面介绍的内存机制,下面给出java内存管理的几个小技巧。(1)尽量使用直接量  当需要使用字符串,还有Byte,Short,Integer,Long,Float,Double,Boolean,Charater包装类的实例时,程序不应该采用new的方式来创建对象...

2011-10-14 12:59:06 437

原创 【转】Java高级进阶学习-Java的内存回收(4)

对于c++程序来说,对象占用的内存空间都必须由程序显式回收,如果程序员忘记了回收它们,那它们所占用的内存空间就会产生内存泄漏;对于java程序来说,所有不可达的对象都由垃圾回收机制负责回收,因此程序员不需要考虑这部分的内存泄漏。但如果程序中有一些java对象,它们处于可达状态,但程序以后永远都不会再访问它们,那它们所占用的空间也不会被回收,它们所占用的空间也会产生内存泄漏.例如,如下图中有Arra...

2011-10-14 12:58:03 138

原创 【转】Java高级进阶学习-Java的内存回收(3)

(3)弱引用  弱引用与软引用有点相似,区别在于弱引用所引用对象的生存期更短。弱引用通过WeakReference类实现,弱引用和软引用很像,但弱引用的引用级别更低。对于只有弱引用的对象而言,当系统垃圾回收机制运行时,不管系统内存是否足够,总会回收该对象所占用的内存。当然,并不是说当一个对象只有弱引用时,它就会立即被回收,正如那些失去引用的对象一样,必须等到系统垃圾回收机制运行时才会...

2011-10-14 12:53:36 126

原创 【转】Java高级进阶学习-Java的内存回收(2)

  内存泄露:程序运行过程中,会不断分配内存空间,那些不再使用的内存空间应该即时回收它们,从而保证系统可以再次使用这些内存,如果存在无用的内存没有被回收回来,这就是内存泄漏.(1)强引用  这是java程序中最常见的引用方式,程序创建一个对象,并把这个对象赋给一个引用变量(变量指向对象所占空间地址的首地址--转者注),这个引用变量就是强引用.java程序可通过强引用来访问实际的对象。当一个对象被一...

2011-10-14 12:46:48 130

原创 【转】Java高级进阶学习-Java的内存回收(1)

下面几遍文章中,阿堂想和朋友们一起来探讨一个java中内存管理方面的一些细节和常见内存管理的小技巧。由于java中本身已经提供了垃圾回收机制,并且这个是由JVM来自动执行的,也就是说,当一个java对象失去引用时,JVM的垃圾回收机制会自动清理它们,并回收它们所占用的内存空间。正因为此,所以一般的java程序员,就完全相信了java承诺的垃圾回收的说法了,这样就导致了java的内存泄露更隐蔽。。...

2011-10-14 12:32:15 156

原创 内存泄露检测工具比较

1.     ccmalloc-Linux和Solaris下对C和C++程序的简单的使用内存泄漏和malloc调试库。 2.     Dmalloc-Debug Malloc Library. 3.     Electric Fence-Linux分发版中由Bruce Perens编写的malloc()调试库。 4.     Leaky-Linux下检测内存泄漏的程序。 5.   ...

2011-10-10 10:46:19 119

原创 Java虚拟机参数设置详解

Java虚拟机参数设置详解下面的讨论以Windows平台的Sun MicroSystem实现的java5虚拟机为蓝本,其他操作系统或其他公司实现的虚拟机参数会有部分不同,但大部分含义都和Windows上的类似。 Java5与以前版本相比,虚拟机参数大部分保持了向前兼容,同时也增加了一些新的参数,本文将对这些参数的作用作详细描述,使虚拟机能更符合运行环境的需要,获得更好的性能和稳定性。Jav...

2011-10-08 17:24:53 263

原创 java虚拟机jvm关于内存的设置与调优

1. Heap设定与垃圾回收Java Heap分为3个区,Young,Old和Permanent。Young保存刚实例化的对象。当该区被填满时,GC会将对象移到Old区。Permanent区则负责保存反射对象,本文不讨论该区。JVM的Heap分配可以使用-X参数设定,-Xms初始Heap大小 -Xmxjava heap最大值 ...

2011-10-08 16:51:30 114

原创 Java的内存泄漏

         Java的一个重要优点就是通过垃圾收集器GC (Garbage Collection)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java 不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC或JVM的问题。其实,这种想法是不正确的,因为Java也存在内存泄漏,但它的表现与C++不同。如果正在开发的Java 代码要全天24 小时在服...

2011-10-08 16:41:41 159

原创 JVM内存分析及导致内存溢出的不健壮代码及解决办法

一、JVM内存区域组成 java把内存分四种: 1、栈区(stack segment)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等,具体方法执行结束之后,系统自动释放内存资源 2、堆区(heap segment) — 一般由程序员分配释放,存放由new创建的对象和数组,jvm不定时查看这个对象,如果没有引用指向这个对象就回收 3、静态区(data segment)— 存放全局变量,静...

2011-10-08 16:00:20 120

原创 Java虚拟机_JVM_参数配置

Java虚拟机_JVM_参数配置 在Java、J2EE大型应用中,JVM非标准参数的配置直接关系到整个系统的性能。JVM非标准参数指的是JVM底层的一些配置参数,这些参数在一般开发中默认即可,不需要任何配置。但是在生产环境中,为了提高性能,往往需要调整这些参数,以求系统达到最佳新能。另外这些参数的配置也是影响系统稳定性的一个重要因素,相信大多数Java开发人员都见过“OutOfMe...

2011-10-08 14:52:56 183

原创 JQuery类选择器只对原始类名元素起作用

JQuery类选择器只对原始类名元素起作用,对后添加的class不起作用。html代码:[code="java"] joeking p1 p2 p3 p4 [/code]js:[code="java"]$(document).ready(function(){ $("p").click(function(){ $...

2010-09-11 09:29:47 142

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除