自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 收藏
  • 关注

原创 自增 自减 java和c的区别

 JAVA public class Test { public static void main(String[] args) { int i = 1000; int j = 2000; int a = i++; int b = ++j; } } ...

2012-03-10 15:57:23 240

原创 瞎聊系统性能优化

一个系统中影响性能的无非就是CPU计算能力,磁盘、网络的读写能力,解决的方式也无非是减少cpu,io 计算或访问次数,或者是提高cpu,io的计算能力或io访问能力 那么如果如何减少次数或提高能力呢? 这个讨论的范围很广:包含。。。。。。。。。。。。  不管是cpu计算还是IO,最重要的一种方式就是缓存,把常用的cpu计算结果缓存起来,把常用的数据缓存起来。 缓...

2012-02-19 23:46:44 172

原创 在tomcat中,通过IP访问web系统,不需要端口号的方法(转)

源文章地址:http://sinian.iteye.com/blog/149363 如果想要通过IP直接访问web系统,而不加端口号的话,需要在server.xml文件中进行如下修改:     1、把默认的8080端口,改成浏览器请求的默认端口80。 Java代码  <Connector port="80" maxHttpHeaderSize="8192...

2012-02-06 11:10:27 325

原创 java 编码

 先看一个字符串 String str = "Hello 简体 繁體 한국어 "; 字符串本无编码,就是一个字符串,但是计算机不能保存字符串,只能以二进制的形式保存,所以就会有字符串到二进制的转换动作,这个转换的规则叫编码规则,不同的规则就是不同的编码,比如gbk,gb2312,utf-8下面看一个例子  import java.io.Unsupporte...

2012-02-02 18:23:31 113

原创 javassist与classLoader

 javassist.jar是个非常不错的classCode修改框架,简单实用 通过javassist和classLoader结合,在加载class时修改class,类似于Spring AOP,可以在指定的class中额外加载指定的功能 下面的例子中,在AppClassLoader的classPath中包含的class都加入了方法信息打印(参数打印、方法调用栈),方法返回信息打...

2012-02-02 15:22:56 609

原创 tcp 和 java socket

 tcp socket 总结点 1、操作系统分为内核态和用户态,tcp协议实现属于操作系统内核态,然后socket传输过程中发送方和接收方都有自己的窗口(buffer),那么就必须会有内核态的buffer到用户态的buffer拷贝 2、java 的socket只是通过java本地方法调用基于操作系统的tcp实现 3、 tcp不同与udp,udp只是尽自己努力的把数据传送...

2011-12-31 12:52:55 117

原创 netty 疑惑

 netty的nio 模式如下  一个线程Boss使用选择器监听OP_ACCEPT,当有accept请求过来时,挑选一个worker线程,注册到worker里面去 cpu内核*2个线程Worker监听OP_Read和OP_WRITE(实际上是线程池中这么多线程),当可读时,可写时,读取或写入数据,然后发起事件执行pipe中的hander链 问题在于,系统就这么几个线程,不管...

2011-12-01 18:27:59 112

原创 Apache Tomcat http_proxy 连接方式配置

1、安装Tomcat ,为了使域名保持一致,在conf\Catalina\localhost中新建ROOT.xml内容如下2、安装Aache ,需2.2或以上版本3、修改httpd.conf添加或打开如下内容LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_ajp_module module...

2011-11-02 18:03:01 550

谈线程池

线程池原理:用指定数量的线程,执行大量的线程任务 线程池作用:假设目前有1000个任务需要执行,电脑的CPU核心为4,没有其他任务使用CPU。那么有如下方式可以执行上述任务:1、使用单个线程线性的执行1000个任务     缺点:不能最大程度的使用CPU,将会有3个CPU核心空闲,而且如果任务涉及IO读写等原因导致CPU中断,那么效率将极其低下。2、每个任务过来,开启一...

2011-10-27 12:47:27 96

原创 设置tomcat启动参数

window:在catalina.bat 文件的开始处添加如下set JAVA_OPTS=%JAVA_OPTS% -server -Xms512m -Xmx512m -XX:MaxPermSize=80M linux在 cataliba.sh 文件中添加JAVA_OPTS='-server -Xms512m -Xmx512m -XX:MaxPermSize=80...

2011-09-15 16:58:57 173

原创 通过反汇编class看i++和++i的区别

[code="java"] public void method4() { int i = 1; int j = 2; int a = i++; int b = ++j; }[/code]使用javap -c 解开class后[code="java"] 0: iconst_1 ...

2011-08-17 14:32:58 182

原创 hotspot 控制参数

 文档来源于http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html  This document provides information on typical command-line options and environment variables that can af...

2011-08-17 09:25:32 352

原创 Spring 事务异常回滚

 先看如下代码  @Transactional(propagation = Propagation.REQUIRED, rollbackFor = { AppBizExeA.class } , noRollbackFor = { AppBizExeB.class }) public void method1() throws Exception { System.out....

2011-08-16 10:10:46 212

原创 java IO和NIO测试

测试环境:cpu:Q9500 4核    频率2.83GHZ      内存4G   文件大小200M 测试代码 package com.lottery;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;...

2011-08-11 12:08:16 165

原创 静态锁和实例锁

 Java中可以对静态方法和实例方法使用synchronized 当在静态方法前面加synchronized 表示锁定class , 当多个线程同时调用静态方法时会阻塞 当在实例方法前面加synchronized 表示锁定class的单个实例 , 当多个线程同时调用class的实例的实例方法时会阻塞 注意:静态方法synchronized 和实例方法synchroniz...

2011-07-28 18:21:13 458

原创 BASE64 和Dom4j

 项目当中用到MD5做消息摘要,后通过BASE64转成字符串后再通过XML传输;因为BASE64 有换行符和终结符 默认是\r\n    但是Dom4j在解析Dom的时候可能会把\r去掉,剩下\n 所以导致在做消息摘要验证时原始消息摘要默认后面是加\r\n但是dom解析后成了\n导致不匹配,现在解决方案是在比较之前把md5后的字符包含\r\n的全部去掉。...

2011-07-20 09:45:28 153

原创 jetty httpServer和java6内置httpServer比较

测试情况是客户端100个线程同时同时请求10000次,服务器端jetty 服务器使用默认配置,java自带服务器 httpServer使用HttpServer.create(new InetSocketAddress(8080), 100) 测试结果是速度大致相当,但jetty当请求数量到了100000次后速度明显降低 而且导致Exception in thread "qtp4565111...

2011-07-19 12:03:28 319

原创 Jetty HttpClent 异常

 使用Jetty HttpClent做异步请求,结果发现这个东东真是不如Apache的HttpClient和java内部HttpURLConnection 首先是性能问题太差,用默认配置或手动的20个并发,25个线程的情况,性能都比HttpURLConnection差很多 当请求数量过大时,出现java.lang.OutOfMemoryError: unable to crea...

2011-07-15 13:48:47 192

原创 关于Hibernate延迟加载

package com.lottery.test;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.FetchType;import javax.persistence.GeneratedValue;import javax.persiste...

2011-07-14 17:42:56 102

原创 Jetty内嵌Http服务器

本例只是以HttpServlet方式实现,更多的方式可以通过http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty查看注意里面的HttpClient为eclipse的HttpClient,非apache的HttpClient[code="java"]import java.io.IOException;import ja...

2011-07-14 11:13:17 234

原创 java concurrent包理解

Java并发处理<!--[if !supportLists]-->1、  <!--[endif]-->简介了解java并发之前先了解java内存模型,java内存有主内存和工作内存,比有个对象Person,有实例变量name,那么Person的实例中name属性就是在主内存中,如果多个线程同时操作Person,那么每个线程会有Person属性name的副本放在...

2011-07-06 12:08:40 133

原创 JAXB2

package com.benx.test;import java.io.ByteArrayInputStream;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;import javax.xml.bind.JAXBContext;import ja...

2011-06-30 11:08:05 108

原创 FileInputStream和BufferedInputStream

 万恶的javaeye,编辑器能不能优化下,每次修改样式都变形了。 FileInputStream属于数据源BufferedInputStream属于FileInputStream的一个装饰  BufferedInputStream 有个内部缓冲区当read时会先把缓冲区填满,然后下次读取是直接从缓冲区读取。当读取的位置大于缓冲区时会再一次加载缓冲区。 ...

2011-06-28 15:10:04 174

原创 SpringSide的Hibernate封装

 下面的代码是SpringSide的Hibernate简单封装,使用这个封装Dao层基本只需要声明,而不需要写任何代码(当然如果有复杂的SQl还是需要手写方法),对于查询的逻辑都可以放置Service. package org.springside.modules.orm.hibernate;import java.io.Serializable;import jav...

2011-06-13 09:17:04 139

原创 阻塞java线程通讯例子

import java.io.BufferedReader;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.net.InetSocketAddress;...

2011-06-10 12:44:05 93

原创 log4j简单使用例子

#根配置,输出Debug级别以上,包含appender为stdout和logfilelog4j.rootLogger=DEBUG, stdout, logfile #配置目录com.MC只打印ERROR级别以上信息log4j.category.com.MC=ERROR #控制台输出log4j.appender.stdout=org.apache.log4j.Con...

2011-06-09 16:04:22 115

原创 java字符编码实验

    import java.io.IOException;import java.nio.charset.Charset;import java.util.ArrayList;import java.util.List;import java.util.Set;public class Test { /** * @param args...

2011-05-28 13:59:35 116

原创 设置java内存

-Xms256M -Xmx1024M -XX:MaxPermSize=128M -XX:+HeapDumpOnOutOfMemoryError

2011-05-23 15:15:13 85

原创 keytool简单使用和tomcat双向认证

 本文将使用keytool和openssl工具来自己生成证书,包含CA,私钥,jks证书管理,配置tomcat的双向认证 1、安装openssl# tar –zxvf openssl# cd openssl# ./config--prefix=/usr/local/openssl# make# make install 2、生成CA证书和私钥open...

2011-05-19 16:26:33 166

原创 数字证书格式 (转)

本文转自(http://wgchwgch.iteye.com/blog/243382) cer后缀的证书文件有两种编码-->DER二进制编码或者BASE64编码(也就是.pem) p7b一般是证书链,里面包括1到多个证书 pfx是指以pkcs#12格式存储的证书和相应私钥。 在Security编程中,有几种典型的密码交换信息文件格式: DER-encoded certificate:...

2011-05-19 10:03:55 133

原创 java 加解密例子

[code="java"]package com.benx.test;import java.io.IOException;import java.security.Key;import java.security.KeyPair;import java.security.KeyPairGenerator;import java.security.MessageDige...

2011-05-17 15:59:10 148

原创 ASCII EBCDIC 互转

ASCII -> Java: new String(bytes, "ASCII")EBCDIC -> Java: new String(bytes, "Cp1047")Java -> ASCII: string.getBytes("ASCII")Java -> EBCDIC: string.getBytes("Cp1047")

2011-05-10 17:02:33 1117

Drools 之 drl引擎 简单使用

     package benx;import java.io.IOException;import java.io.InputStreamReader;import java.io.Reader;import java.util.ArrayList;import java.util.List;import java.util.Map;...

2011-05-08 11:23:29 659

原创 Mina Server/Client 例子

Mina 需要mina.jar ,log4j.jar,slf4j.jar Server端package Server;import java.net.InetSocketAddress;import org.apache.mina.common.DefaultIoFilterChainBuilder;import org.apache.mina.common....

2011-04-28 17:18:37 306

Spring MVC REST 例子

 package com.benx;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.servlet.http.HttpServletRespo...

2011-04-28 10:47:28 112

使用ThreadLocal 做上下文

 package Local;/** * 本例子主要是测试ThreadLocal,其实ThreadLoacl内部非常的简单,主要是内部维护一个ThreadLocalMap,为什么要自己维护一个ThreadLocalMap呢? *而使用HashMap, 因为ThreadLocalMap里面得Entry是WeakReference(弱引用)的,便于垃圾回收。 * ThreadL...

2011-04-26 22:41:30 544

原创 Spring AOP 之 HelloWorld

java代码import org.aspectj.lang.JoinPoint;import org.aspectj.lang.ProceedingJoinPoint;import org.springframework.context.ApplicationContext;import org.springframework.context.support.Class...

2011-04-26 11:39:32 71

原创 ProxyFactory 之HelloWorld

import org.aopalliance.intercept.MethodInterceptor;import org.aopalliance.intercept.MethodInvocation;import org.springframework.aop.framework.ProxyFactory;import org.springframework.aop.framew...

2011-04-26 09:29:31 105

HashMap 源码分析

 今天面试提到了HasmMap,之前也有看过其源代码,了解其原理,不过又忘得差不多,今天就在读下,加深印象。 1、HashMap得内部元素以Entry存在,继承Map.Entry,元素包含,Entry相当于一个LinkedList  final Object key; Object value; final int hash;...

2011-04-24 21:42:12 89

原创 java ClassLoader 小例子

import java.io.*;import java.lang.reflect.*;/** * * 这个例子中类加载顺序为BootstrapClassPath----ExtClassPath--SystemClassPath--CClassLoader * --DClassLoader * <p> * 如果不想加载的指定类可以把CClassL...

2011-04-19 22:58:40 176

空空如也

空空如也

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

TA关注的人

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