![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 59
xiongjin621
这个作者很懒,什么都没留下…
展开
-
自增 自减 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 · 232 阅读 · 0 评论 -
Jetty HttpClent 异常
使用Jetty HttpClent做异步请求,结果发现这个东东真是不如Apache的HttpClient和java内部HttpURLConnection 首先是性能问题太差,用默认配置或手动的20个并发,25个线程的情况,性能都比HttpURLConnection差很多 当请求数量过大时,出现java.lang.OutOfMemoryError: unable to crea...原创 2011-07-15 13:48:47 · 180 阅读 · 0 评论 -
关于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 · 96 阅读 · 0 评论 -
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 · 227 阅读 · 0 评论 -
java concurrent包理解
Java并发处理<!--[if !supportLists]-->1、 <!--[endif]-->简介了解java并发之前先了解java内存模型,java内存有主内存和工作内存,比有个对象Person,有实例变量name,那么Person的实例中name属性就是在主内存中,如果多个线程同时操作Person,那么每个线程会有Person属性name的副本放在...原创 2011-07-06 12:08:40 · 128 阅读 · 0 评论 -
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 · 100 阅读 · 0 评论 -
FileInputStream和BufferedInputStream
万恶的javaeye,编辑器能不能优化下,每次修改样式都变形了。 FileInputStream属于数据源BufferedInputStream属于FileInputStream的一个装饰 BufferedInputStream 有个内部缓冲区当read时会先把缓冲区填满,然后下次读取是直接从缓冲区读取。当读取的位置大于缓冲区时会再一次加载缓冲区。 ...原创 2011-06-28 15:10:04 · 166 阅读 · 0 评论 -
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 · 132 阅读 · 0 评论 -
阻塞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 · 87 阅读 · 0 评论 -
设置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 · 162 阅读 · 0 评论 -
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 · 104 阅读 · 0 评论 -
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 · 104 阅读 · 0 评论 -
通过反汇编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 · 173 阅读 · 0 评论 -
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 · 340 阅读 · 0 评论 -
Spring 事务异常回滚
先看如下代码 @Transactional(propagation = Propagation.REQUIRED, rollbackFor = { AppBizExeA.class } , noRollbackFor = { AppBizExeB.class }) public void method1() throws Exception { System.out....原创 2011-08-16 10:10:46 · 200 阅读 · 0 评论 -
设置java内存
-Xms256M -Xmx1024M -XX:MaxPermSize=128M -XX:+HeapDumpOnOutOfMemoryError原创 2011-05-23 15:15:13 · 78 阅读 · 0 评论 -
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 · 310 阅读 · 0 评论 -
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 · 146 阅读 · 0 评论 -
瞎聊系统性能优化
一个系统中影响性能的无非就是CPU计算能力,磁盘、网络的读写能力,解决的方式也无非是减少cpu,io 计算或访问次数,或者是提高cpu,io的计算能力或io访问能力 那么如果如何减少次数或提高能力呢? 这个讨论的范围很广:包含。。。。。。。。。。。。 不管是cpu计算还是IO,最重要的一种方式就是缓存,把常用的cpu计算结果缓存起来,把常用的数据缓存起来。 缓...原创 2012-02-19 23:46:44 · 165 阅读 · 0 评论 -
在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 · 317 阅读 · 0 评论 -
netty 疑惑
netty的nio 模式如下 一个线程Boss使用选择器监听OP_ACCEPT,当有accept请求过来时,挑选一个worker线程,注册到worker里面去 cpu内核*2个线程Worker监听OP_Read和OP_WRITE(实际上是线程池中这么多线程),当可读时,可写时,读取或写入数据,然后发起事件执行pipe中的hander链 问题在于,系统就这么几个线程,不管...原创 2011-12-01 18:27:59 · 106 阅读 · 0 评论 -
java 编码
先看一个字符串 String str = "Hello 简体 繁體 한국어 "; 字符串本无编码,就是一个字符串,但是计算机不能保存字符串,只能以二进制的形式保存,所以就会有字符串到二进制的转换动作,这个转换的规则叫编码规则,不同的规则就是不同的编码,比如gbk,gb2312,utf-8下面看一个例子 import java.io.Unsupporte...原创 2012-02-02 18:23:31 · 107 阅读 · 0 评论 -
javassist与classLoader
javassist.jar是个非常不错的classCode修改框架,简单实用 通过javassist和classLoader结合,在加载class时修改class,类似于Spring AOP,可以在指定的class中额外加载指定的功能 下面的例子中,在AppClassLoader的classPath中包含的class都加入了方法信息打印(参数打印、方法调用栈),方法返回信息打...原创 2012-02-02 15:22:56 · 594 阅读 · 0 评论 -
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 · 111 阅读 · 0 评论 -
ipod touch 通过手机蓝牙共享上网设置
出现双环不能上网十有八九是因为你的连接设置不正确,我将我的解决方式告诉大家,一般就是大家没有设置成cmnet上网,特此告诉大家S40系统的手机设置方法。(我的是s60系统,因为生4.3.1以后ibluever用不了,所以和同学换手机用用,直到新版ibluever出来)下面是设置设置设置过程:首先设置-〉配置设置-〉个人配置设置-〉操作-〉新增-〉接入点帐号名称:随便填接入点设置:传输方式:分组数据...原创 2011-04-08 18:21:05 · 289 阅读 · 0 评论 -
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 · 155 阅读 · 0 评论 -
Hibernate 二级缓存 和 查询缓存 (转)
Hibernate 二级缓存 和 查询缓存 二级缓存和查询缓存都相当于一个map。 二级缓存缓存的key为id,value为实体对象。一般load,get ,iterate使用到二级缓存,list()需要结合查询缓存使用。iterate和list区别如下: iterate不需要开启查询缓存,它首先发出一个sql如”selects.id from Student s”去...原创 2011-04-07 15:34:47 · 87 阅读 · 0 评论 -
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 · 545 阅读 · 0 评论 -
Hibernate LockMode
LockMode.NONE :有缓存用缓存,没缓存则从数据库读 LockMode.READ :直接从数据库读,不使用缓存数据 LockMode.WRITE :在insert update数据的时候,HIBERNATE内部使用的。 以上3种均为HIBERNATE级别的锁,也就是缓存级别的锁。 下面2种为数据库级别的锁: LockMode.UPGRADE:相当于SQL语句select for upda...原创 2011-03-31 16:26:58 · 162 阅读 · 0 评论 -
谈线程池
线程池原理:用指定数量的线程,执行大量的线程任务 线程池作用:假设目前有1000个任务需要执行,电脑的CPU核心为4,没有其他任务使用CPU。那么有如下方式可以执行上述任务:1、使用单个线程线性的执行1000个任务 缺点:不能最大程度的使用CPU,将会有3个CPU核心空闲,而且如果任务涉及IO读写等原因导致CPU中断,那么效率将极其低下。2、每个任务过来,开启一...2011-10-27 12:47:27 · 89 阅读 · 0 评论 -
java的锁
import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class LockTest { public Object Olock = new Object(); Lock lock = new ReentrantLock(); p...原创 2011-03-26 01:24:51 · 69 阅读 · 0 评论 -
静态锁和实例锁
Java中可以对静态方法和实例方法使用synchronized 当在静态方法前面加synchronized 表示锁定class , 当多个线程同时调用静态方法时会阻塞 当在实例方法前面加synchronized 表示锁定class的单个实例 , 当多个线程同时调用class的实例的实例方法时会阻塞 注意:静态方法synchronized 和实例方法synchroniz...原创 2011-07-28 18:21:13 · 447 阅读 · 0 评论 -
深刻理解Java中的堆和栈(转)
深刻理解Java中的堆和栈栈与堆都是Java用来在RAM中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。Java的堆是一个运行时数据区,类的对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,...原创 2011-03-16 10:04:32 · 95 阅读 · 0 评论 -
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 · 1102 阅读 · 0 评论 -
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 · 650 阅读 · 0 评论 -
模拟拦截器
[code="java"]import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;import java.util.ArrayList;import java.util.Date;import java.util.Ite...2010-03-02 20:54:10 · 145 阅读 · 0 评论 -
设计模式 设计原则
Head First中的设计原则总结:一、封装变化二、多用组合,少用继承三、针对接口编程,不针对实现编程四、为交互对象之间的松耦合设计而努力五、类应该对扩展开放,对修改关闭六、依赖抽象,不要依赖具体类七、只和朋友交谈八、别找我,我会找你九、类应该只有一个改变的理由 开-闭原则(open-closed principle或OCP)所谓开-闭原则:就是在设计模块时...原创 2010-02-22 22:07:35 · 80 阅读 · 0 评论 -
实现动态配置classpath 代码(转)
import java.io.File;import java.io.PrintStream;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.net.MalformedURLException;import java.net.URL;import java.net.U...原创 2010-02-06 22:46:35 · 245 阅读 · 0 评论 -
Myeclipse8.0 安装插件 (转)
1.把插件解压过后直接放在Myeclipse8.0下面的dropins目录就行了2.在myeclipse的configuration目录里面删除org.eclipse.update这个目录,myeclipse会自动加载这个插件 ...原创 2010-05-11 16:38:27 · 86 阅读 · 0 评论 -
volatile原理与技巧(转)
volatile, 用更低的代价替代同步为什么 使用volatile比同步代价更低? 同步的代价, 主要由其覆盖范围决定, 如果可以降低同步的覆盖范围, 则可以大幅提升程序性能.而volatile的覆盖范围仅仅变量级别的. 因此它的同步代价很低.volatile原理是什么?volatile的语义, 其实是告诉处理器, 不要将我放入工作内存, 请直接在主存操作我.(工作内存详见jav...2010-04-07 21:06:18 · 96 阅读 · 0 评论