存档

‘java’ 分类的存档

使用JDK中Jconsole的监视你的应用

2010年1月9日
199 views 没有评论

Jconsole,Java Monitoring and Management Console。

java监控和管理控制台,从java5开始,在JDK中提供。

用于对JVM中内存,线程和类等的监控。

一、Local方式
1、cmd进入dos下,进入到应用程序所在目录,执行语句如下:
java -Dcom.sun.management.jmxremote -jar 程序名.jar

阅读全文…

java

圣斗士星矢的状态模式和观察者模式

2010年1月9日
16 views 没有评论

星矢:动画片《圣斗士星矢》的男猪脚,超级小强,怎么打也打不死。
雅典娜:动画片《圣斗士星矢》的女猪脚,自称女神,手下有88个男人为他卖命。
状态模式:为了方便的控制状态的变化,避免一堆IF/ELSE,以及状态规则改变的时避免代码改动的混乱。
观察者模式:一个被观察者一动,多个观察者跟着动,经常用于界面UI。

阅读全文…

java

[转贴] 游戏服务器架构二

2010年1月9日
52 views 没有评论

来自:http://www.libing.net.cn/read.php/1724.htm

服务器公共组件实现 — 环形缓冲区

消息队列锁调用太频繁的问题算是解决了,另一个让人有些苦恼的大概是这太多的内存分配和释放操作了。频繁的内存分配不但增加了系统开销,更使得 内存碎片不断增多,非常不利于我们的服务器长期稳定运行。也许我们可以使用内存池,比如SGI STL中附带的小内存分配器。但是对于这种按照严格的先进先出顺序处理的,块大小并不算小的,而且块大小也并不统一的内存分配情况来说,更多使用的是一种 叫做环形缓冲区的方案,mangos的网络代码中也有这么一个东西,其原理也是比较简单的。

阅读全文…

java

使用Jakarta Commons Pool处理对象池化

2010年1月9日
36 views 没有评论

恰当地使用对象池化技术,可以有效地减少对象生成和初始化时的消耗,提高系统的运行效率。Jakarta Commons Pool组件提供了一整套用于实现对象池化的框架,以及若干种各具特色的对象池实现,可以有效地减少处理对象池化时的工作量,为其它重要的工作留下更多的 精力和时间。

阅读全文…

java

遭遇OutOfMemoryError

2010年1月9日
163 views 没有评论

这几天,网店系统基础架构进行了一次大的升级,升级之后例行的进行了压力测试,以前几次大的项目发布压力测试都没有任何问题,没想到这次出事故啦,而且是内存泄露?

系统运行环境:
硬件:Intel(R) Xeon(R) CPU 2.0G、4G RAM、Linux 2.6.9-42.ELsmp #1 SMP
软件:jboss-4.0.5.GA [Java HotSpot(TM) Server VM (build 1.5.0_10-b03, mixed mode)]
JAVA运行参数-server -Xms2048m -Xmx2048m -XX:NewSize=768m -XX:PermSize=128m -XX:MaxPermSize=128m

阅读全文…

java

log4j配置文件基本含义说明

2010年1月9日
75 views 没有评论
  • log4j.properties配置文件讲解如下:

    # Set root logger level to DEBUG and its only appender to A1
    #log4j中有五级logger
    #FATAL 0
    #ERROR 3
    #WARN 4
    #INFO 6
    #DEBUG 7
    配置根Logger,其语法为:
    #log4j.rootLogger = [ level ] , appenderName, appenderName, …
    log4j.rootLogger=INFO, A1 ,R
    #这一句设置以为着所有的log都输出
    #如果为log4j.rootLogger=WARN, 则意味着只有WARN,ERROR,FATAL
    #被输出,DEBUG,INFO将被屏蔽掉.
    # A1 is set to be a ConsoleAppender.
    #log4j中Appender有几层如控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等
    #ConsoleAppender输出到控制台
    log4j.appender.A1=org.apache.log4j.ConsoleAppender
    # A1 使用的输出布局,其中log4j提供4种布局. org.apache.log4j.HTMLLayout(以HTML表格形式布局)
    #org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
    #org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
    #org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
阅读全文…

java

C3P0 配置

2010年1月9日
37 views 没有评论

官方文档 : http://www.mchange.com/projects/c3p0/index.html

<c3p0-config>

<default-config>

<!–当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 –>

<property name=”acquireIncrement”>3</property>

阅读全文…

java

ehcache 缓存设置策略

2010年1月9日
136 views 没有评论
  1. <ehcache xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
  2. xsi:noNamespaceSchemaLocation=”ehcache.xsd”>
  3. <diskStore path=”java.io.tmpdir”/>
  4. <defaultCache
  5. maxElementsInMemory=”10000″
  6. maxElementsOnDisk=”0″
  7. eternal=”true”
  8. overflowToDisk=”true”
  9. diskPersistent=”false”
  10. timeToIdleSeconds=”0″
  11. timeToLiveSeconds=”0″
  12. diskSpoolBufferSizeMB=”50″
  13. diskExpiryThreadIntervalSeconds=”120″
  14. memoryStoreEvictionPolicy=”LFU”
  15. />
  16. <cache name=”demoCache”
  17. maxElementsInMemory=”100″
  18. maxElementsOnDisk=”0″
  19. eternal=”false”
  20. overflowToDisk=”false”
  21. diskPersistent=”false”
  22. timeToIdleSeconds=”119″
  23. timeToLiveSeconds=”119″
  24. diskSpoolBufferSizeMB=”50″
  25. diskExpiryThreadIntervalSeconds=”120″
  26. memoryStoreEvictionPolicy=”FIFO”
  27. />
  28. </ehcache>
  29. name:Cache的名称,必须是唯一的(ehcache会把这个cache放到HashMap里)。
    maxElementsInMemory:内存中保持的对象数量。
    maxElementsOnDisk:DiskStore中保持的对象数量,默认值为0,表示不限制。
    eternal:是否是永恒数据,如果是,则它的超时设置会被忽略。
    overflowToDisk:如果内存中数据超过内存限制,是否要缓存到磁盘上。
    timeToIdleSeconds:对象空闲时间,指对象在多长时间没有被访问就会失效。只对eternal为false的有效。默认值0,表示一直可以访问。
    timeToLiveSeconds:对象存活时间,指对象从创建到失效所需要的时间。只对eternal为false的有效。默认值0,表示一直可以访问。
    diskPersistent:是否在磁盘上持久化。指重启jvm后,数据是否有效。默认为false。
    diskExpiryThreadIntervalSeconds:对象检测线程运行时间间隔。标识对象状态的线程多长时间运行一次。
    diskSpoolBufferSizeMB:DiskStore使用的磁盘大小,默认值30MB。每个cache使用各自的DiskStore。
    memoryStoreEvictionPolicy:如果内存中数据超过内存限制,向磁盘缓存时的策略。默认值LRU,可选FIFO、LFU。
阅读全文…

java

DES SecretKeyFactory not available 解决方法

2010年1月9日
203 views 没有评论

我们在linux运行时一般都会加上-Djava.ext.dirs=xxxxxx

如果这样就会把系统默认加载java_home/lib/ext/作为扩展包代替了

所以我们只要加java_home/lib/ext/加上就OK了

也可以把这个包sunjce_provider.jar 复制到你的扩展DIRS目录那里

在网上还说可以用以下方法解决

阅读全文…

java

mina read方法出现BufferUnderflowException异常的解决办法

2010年1月9日
88 views 1 条评论

现象:

先连续发几十个很小很小的包(<10 byte)

再突然发一个大小64byte的包

这时你会发现mina就会出现以下错误
java.nio.BufferUnderflowException
at java.nio.HeapByteBuffer.get(Unknown Source)
at org.apache.mina.core.buffer.AbstractIoBuffer.get(AbstractIoBuffer.java:419)
at org.apache.mina.core.buffer.AbstractIoBuffer.get(AbstractIoBuffer.java:827)
at com.labox.common.net.ProtocolHandler.messageReceived(ProtocolHandler.java:81)
at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:752)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:414)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$5(DefaultIoFilterChain.java:411)
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:832)
at org.apache.mina.core.filterchain.DefaultIoFilterChain$HeadFilter.messageReceived(DefaultIoFilterChain.java:616)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:414)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:408)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:582)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:542)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:534)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$7(AbstractPollingIoProcessor.java:532)
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Worker.run(AbstractPollingIoProcessor.java:861)

阅读全文…

java

  • 粤ICP备09032914号