2014-07-12 14:21:40

View Mode: Normal | Article List
Category: Java | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | >
server.xml

<Server port="9005" shutdown="SHUTDOWN">
<Service name="Catalina">
<Executor name="tomcatThreadPool"
maxThreads="500" minSpareThreads="10" maxIdleTime="600000"/>
<Connector port="80" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000" executor="tomcatThreadPool" acceptorThreadCount="4"
redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps" unpackWARs="false" autoDeploy="false">
...

Read More...

DES加密解密 JAVA与.NET互通

[ 2012-04-04 17:59:41 | Author: zhenhua ]
JAVA版本
Quote
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import javax.crypto.spec.IvParameterSpec;


public class Des {
private byte[] desKey;


//解密数据
public static String decrypt(String message,String key) throws Exception {

byte[] bytesrc =convertHexString(message);
Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
...

Read More...

深入JVM

[ 2010-11-25 21:22:39 | Author: zhenhua ]
1 JVM简介

JVM是我们Javaer的最基本功底了,刚开始学Java的时候,一般都是从“Hello World”开始的,然后会写个复杂点class,然后再找一些开源框架,比如Spring,Hibernate等等,再然后就开发企业级的应用,比如网站、企业内部应用、实时交易系统等等,直到某一天突然发现做的系统咋就这么慢呢,而且时不时还来个内存溢出什么的,今天是交易系统报了StackOverflowError,明天是网站系统报了个OutOfMemoryError,这种错误又很难重现,只有分析Javacore和dump文件,运气好点还能分析出个结果,运行遭的点,就直接去庙里烧香吧!每天接客户的电话都是战战兢兢的,生怕再出什么幺蛾子了。我想Java做的久一点的都有这样的经历,那这些问题的最终根结是在哪呢?—— JVM。
JVM全称是Java Virtual Machine,Java虚拟机,也就是在计算机上再虚拟一个计算机,这和我们使用 VMWare不一样,那个虚拟的东西你是可以看到的,这个JVM你是看不到的,它存在内存中。我们知道计算机的基本构成是:运算器、控制器、存储器、输入和输出设备,...

Read More...

JVM内存模型以及垃圾回收

[ 2010-11-22 10:06:42 | Author: zhenhua ]
JVM内存模型以及垃圾回收
内存由 Perm 和 Heap 组成. 其中

Heap = {Old + NEW = { Eden , from, to } }

JVM内存模型中分两大块,一块是 NEW Generation, 另一块是Old Generation. 在New Generation中,有一个叫Eden的空间,主要是用来存放新生的对象,还有两个Survivor Spaces(from,to), 它们用来存放每次垃圾回收后存活下来的对象。在Old Generation中,主要存放应用程序中生命周期长的内存对象,还有个Permanent Generation,主要用来放JVM自己的反射对象,比如类对象和方法对象等。


垃圾回收描述:

在New Generation块中,垃圾回收一般用Copying的算法,速度快。每次GC的时候,存活下来的对象首先由Eden拷贝到某个Survivor Space, 当Survivor Space空间满了后, 剩下的live对象就被直接拷贝到Old Generation中去。因此,每次GC后,Eden内存块会被清空。在Old ...

Read More...

jvm 内存溢出问题的解决

[ 2010-11-18 22:19:15 | Author: zhenhua ]
java.lang.OutOfMemoryError: PermGen space

发现很多人把问题归因于: spring,hibernate,tomcat,因为他们动态产生类,导致JVM中的permanent heap溢出 。然后解决方法众说纷纭,有人说升级 tomcat版本到最新甚至干脆不用tomcat。还有人怀疑spring的问题,在spring论坛上讨论很激烈,因为spring在AOP时使用CBLIB会动态产生很多类。

但问题是为什么这些王牌的开源会出现同一个问题呢,那么是不是更基础的原因呢?tomcat在Q&A很隐晦的回答了这一点,我们知道这个问题,但这个问题是由一个更基础的问题产生。

于是有人对更基础的JVM做了检查,发现了问题的关键。原来SUN 的JVM把内存分了不同的区,其中一个就是permenter区用来存放用得非常多的类和类描述。本来SUN设计的时候认为这个区域在JVM启动的时候就 固定了,但他没有想到现在动态会用得这么广泛。而且这个区域有特殊的垃圾收回机制,现在的问题是动态加载类到这个区域后,gc根本没办法回收!

1、首先是:java.lang.OutOfMemoryError: Java heap space
...

Read More...

逃离 MVC

[ 2010-10-25 23:42:48 | Author: zhenhua ]
最近在公司做一个小功能, 由于时间迫切,用纯servlet/jsp的方式完成,仅花了半个多小时,恍惚之间不禁反思为什么要使用定死的传统的开发框架,而不用敏捷轻便的方式去实现一些功能,这些不需要任何解决方案、不用考虑action、xml、拦截器等。

之前来自JDON的一篇文章值得再次反思:http://zhenhua.org/article.asp?id=701

另:http://www.ibm.com/developerworks/cn/java/j-pureserv/index.html
Quote
这里演示的纯 servlet 设计在客户机和业务逻辑之间建立一个视图层。Model-View-Controller(MVC,或者说 Model 2)实际上不是万能的,而且支持它的 Web 框架往往比较难以处理。Spring MVC 和 JavaServer Faces(JSF)太过复杂,我可以断言,Struts 的麻烦程度不亚于此,每次调整控制逻辑时都必须调整臃肿复杂的配置文件。N. Alex Rupp 甚至将 MVC 称为反模式,一种 “看似聪明其实非常愚蠢的” Web 技术。
...

Read More...

Opencms 后台CSS显示不出

[ 2009-09-11 13:47:13 | Author: zhenhua ]
环境:Opencms7.5.0+Tomcat5.5.28+Apache2.2.11
安装搭建好并安装汉化包 “OpenCms7.5.0千寻汉化包_2009-08-11修正版”后,默认的CSS文件会被删除。
进入后台出现版面错乱的情况。
解决方法:
将备份好的CSS文件重新放到\export\system\workplace\commons\style目录下即可

共三个CSS文件。
下载地址:
Download Click Here To Download