`
ikon
  • 浏览: 102978 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表

jstack命令详解

    博客分类:
  • jvm
  jstack命令该命令打印java线程的堆栈跟踪,可以得知哪些线程被阻塞或正等待,以便于查找如线程死锁的原因用法:jstack [ option ] pid -F:强制产生一个线程dump-m:打印java和native frames-l:打印关于锁的附加信息举例:

Mina 框架总结

  简单介绍:MINA框架是对java的NIO包的一个封装,简化了NIO程序开发的难度,封装了很多底层的细节,然开发者把精力集中到业务逻辑上来,最近做了一个相关的项目,为了备忘对MINA做一个总结。 下面这个start方法用来初始化MINA: Java代码  private void start(int port, WebContext ctx)           throws IOException, InstantiationException            , IllegalAccessException, ClassNotFoundExcept ...
在上一篇中,通过一个简单的例子,得以管中窥豹,了解了Mina的基本编写方法。在MinaTimeServer演示程序中,我们添加了两个过滤器,一个是日志过滤器LoggingFilter,一个是文本编解码过滤器。前者实现日志信息的自动处理,后者实现对按行读写的文本数据的编码和解码。 其中LoggingFilter默认的是slf4j,它是一个日志Facade,实际并不实现真正的日志处理功能,它在程序运行时自动判断classpath中加载的日志组件,比如:log4j/Logback/JUL等,确定之后调用真正的日志组件实现真正的日志处理操作。这一点对于组件式的程序,很明显是非常灵活的,因为你并 ...
Mina主要是作为服务器端底层框架来实现数据处理,它的实现很简单,如下例所示:   view plain package com.gftech.mytool.mina;  
1.Apache Mina是一个高性能的基础网络构架平台,构建在java NIO的基础上 2.Mina使用了SLF4J做为日志记录器,全称Simple Logging Facade for Java,它是一个日志门面,只负责为客户端提供应用接口,实际的日志记录由Log4j/JUL等日志记录器 ...
我们在使用collection框架code时,会时常遇到UnsupportedOperationException异常,有些人很不了解为什么抛出这个异常,会很郁闷,但是那些只知道code的代码工人不会想这些问题。下面我作一下解释,可能也不是很正确。 其实我们主要 ...

关注一下druid

    博客分类:
  • java
关注一下druid,阿里开源的jdbc组件,可以监控数据库访问性能; http://code.alibabatech.com/wiki/display/Druid/Home

字节流调试

    博客分类:
  • java
针对后台的字节流数据调试比较麻烦,通常的做法是将刚从socket上读入或将要写入的字节数组已16进制的方式打印出来;逐位分析; public static void debugData(String desc,byte[] data){ System.out.println(desc); for(int i=0;i<data.length;i++){ int b=data[i]; if(b<0){ b+=256; } String hexString=Integer.toHexString(b); hexS ...

collections的max()

    博客分类:
  • java
 
java.util.Collections的max方法可以获得集合中的最大值;之前取map的最大key值,还得自己写方法,原来有现成的; max(Collection<? extends T> coll) 根据元素的自然顺序,返回给定 collection 的最大元素。 max(Collection<? extends T> coll, Comparator<? super T> comp) 根据指定比较器产生的顺序,返回给定 collection 的最大元素。  取得最小值min,类似; 
readFully(byte[] b) 要求读出的字节长度与byte[]的长度相同; read(byte[] b)可能不会读满就会返回; 如果在通讯协议中,明确知道需要读取多少字节,可以采用readFully方法
1、调大新生代; 2、调大survivor,让新生代对象在minor之后再多活点时间; 3、调大TenuringThreshold(存货周期);   <!--StartFragment -->  如何调整survivor: 如果新生代的gc方式为ps Gc,survivor space会被动态调整,有些时候会被调整得很小,所以minor Gc导致经常有对象直接分配到old;于是为了不让其动态调整,使用-XX:-UseAdaptiveSizePolicy(减号是去掉,加号增加);

jmap -dump 导致gc

 
jmap -dump这种方式会在dump前产生一次GC,这样会导致一些Unreachable objects,无法分析他们的引用路径。

学习之道

      要想获得一些真正属于自己的知识,最好是用自己的语言通过口述表达、文字写作再创作一次甚至多次,否则再美妙的阅读或观赏体验,都仅仅只是看个热闹,过往云烟而已。
org.springframework.scheduling.quartz.CronTriggerBean允许你更精确地控制任务的运行时间,只需要设置其cronExpression属性。一个cronExpression表达式有至少6个(也可能是7个)由空格分隔的时间元素。从左至右,这些元素的定义如下:1.秒(0–59)2.分钟(0–59)3.小时(0–23)4.月份中的日期(1–31)5.月份(1–12或JAN–DEC)6.星期中的日期(1–7或SUN–SAT)7.年份(1970–2099)0 0 10,14,16 * * ? 每天上午10点,下午2点和下午4点0 0,15,30,45 * 1- ...

oracle 分析函数

一.分析函数(OVER) 目录:===============================================1.Oracle分析函数简介2. Oracle分析函数简单实例3.分析函数OVER解析 一、Oracle分析函数简介: 在日常的生产环境中,我们接触得比较多的是OLTP系统(即Online Transaction Process),这些系统的特点是具备实时要求,或者至少说对响应的时间多长有一定的要求;其次这些系统的业务逻辑一般比较复杂,可能需要经过多次的运算。比如我们经常接触到的电子商城。 在这些系统之外,还有一种称之为OLAP的系统(即Online Aanaly ...
Global site tag (gtag.js) - Google Analytics