- 浏览: 72486 次
- 性别:
- 来自: 上海
-
最新评论
-
di1984HIT:
写的不错,学习了、
JAVA-JVM分析工具 -
mingren135:
本机这样做可以取到服务器日志,但部署到服务器,因java进程是 ...
j2ssh实现日志搜索
文章列表
java自带压缩方式的性能比较
- 博客分类:
- JAVA
Java常用的压缩方式是gzip,它的性能比另外一种zip压缩方式好多少呢,抽空写了个程序来验证一下
分别用以下长度的字节字符串进行压缩比较
int[] intArr = { 1, 10, 50, 100, 200, 300, 500, 700, 900, 1000, 2000, 5000, 10000, 100000, 1000000 };
测试结果如下
// 压缩大小分析
origin=1,gzip=21,zip=123
origin=10,gzip=30,zip=132
origin=50,gzip=70,zip=172
origin=100,gzip=119, ...
一、构造HttpClient对象
static {
httpParams = new BasicHttpParams();
// 设置连接超时时间
HttpConnectionParams.setConnectionTimeout(httpParams, 500);
// 设置读取超时时间
HttpConnectionParams.setSoTimeout(httpParams, 2000);
SchemeRegistry registry = new SchemeRegistry();
registry.register(new ...
HelloWorld深入思考
http://www.programcreek.com/2013/04/what-can-you-learn-from-a-java-helloworld-program/
反射性能优化
setAccessible=false,禁用安全检查
http://bbs.itheima.com/thread-2668-1-1.html
Class信息缓存,避免重复获取
http://blog.csdn.net/huoyu ...
rz、sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具,比ftp命令方便,而且服务器不用打开FTP服务。
sz:将选定的文件发送到本地机器
rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器
1、下载rzsz
wget http://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz
2、解压
tar zxf rzsz-3.48.tar.gz
3、安装
cd src
make posix
4、添加指令
cp rz sz /usr/bin/
...
HTML5实践Drag&Drop
- 博客分类:
- Javascript
互联网技术总是在向强大、便捷发展,怎样使用这些层出不穷的技术来改善我们的既有设计,是很能检验开发人员想象力和创造力的。
一个引子:
因为要搜索电影的字幕,打开了http://www.shooter.cn,发现可以直接拖动文件到搜索栏,这是HTML5支持的功能,用在这里能够很好的提升搜索效率,避免用户手动输入电影名,也能够提升搜索结果的准确度。
有篇文章介绍了Drag&Drop功能,http://javascript.ruanyifeng.com/dom/dragndrop.html,mark一下
1、html元素可拖动
<div dra ...
SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务 ...
计算机内存,它算是CPU与计算机打交道最频繁的区域,所有数据都是先经过硬盘至内存,然后由CPU再从内存中获取数据进行处理,又将数据保存到内存,通过分页或分片技术将内存中的数据再flush至硬盘。那JVM的内存结构到底是如何呢?JVM做为一个运行在操作系统上,但又独立于os运行的平台,它的内存至少应该包括象寄存器、堆栈等区域。
JVM在运行时将数据划分为了6个区域来存储,而不仅仅是大家熟知的Heap区域。
一、PC寄存器:一块很小的内存区域,主要作用是记录当前线程所执行的字节码的行号。字节码解释器工作时就是通过改变当前线程的程序计数器选取下一条字节码指令来工作的。任何分支,循环, ...
Base64、MD5加解密及应用
- 博客分类:
- 加解密
一、Base64编码:把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用'=',因此编码后输出的文本末尾可能会出现1或2个'='。为了保证所输出的编码位可读字符,Base64制定了一个编码表,以便进行统一转换,编码表的大小为2^6=64,这也是Base64名称的由来。
二、Base64编码步骤
1)将所有字符转化为ASCII码
2)将ASCII码转化为8位二进制
3)将二进制3个归成一组(不足3个在后边补0)共24位,再拆分成4组,每组6位
4)统一 ...
BTrace:https://kenai.com/projects/btrace,BTrace is a safe, dynamic tracing tool for the Java platform. BTrace can be used to dynamically trace a running Java program (similar to DTrace for OpenSolaris applications and OS). BTrace dynamically instruments the classes of the target application to inje ...
服务器linux+tomcat,本机windows,简单记录一下Jprofiler remote的使用方法
1、服务端安装jprofiler
chmod +x jprofiler_linux_8_0_2.sh
./jprofiler_linux_8_0_2.sh -c
2、客户端配置
Integration type: [Generic application]
Selected JVM: Oracle 1.6.0 (hotspot)
...
intern在jdk7的变化
- 博客分类:
- JAVA
之前的印象都是string pool分配在perm gen内存中的,也通过intern方法验证过perm gen的oom,今天在用jprofiler观察时却发现是heap一直在做gc,直到报heap oom,还以为是测试代码有误,检查了好久猛然想到会不会是jdk7对intern方法有改变呢?参考http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html,原文如下:
Area: HotSpot
Synopsis: In JDK 7, interned strings are no longer alloca ...
案例1:输出debug信息需要加enable判断
log.debug("userId:"+ user.getId())//-->
if(log.isDebugEnable()){
log.debug("userId:"+ user.getId())
}
分析:1、不加enable判断,括号中的字符串相加会产生中间字符,大量调用时创建和销毁的数量非常庞大,会造成gc频繁执行,进而影响性能。2、线上日志一般不会是debug,因此执行字符串拼接是无意义的运算。根据log优先级,对error、warn可以不用判断
案例2 ...
public String[] split(String regex):Splits this string around matches of the given regular expression.
split用来拆分一个有分隔符的字符串,但是由于参数regex是一个 re的匹配模式而不是一个简单的String,所以对一些特殊的字符可能会出现预想不到的结果。例如:
1、||
String str= "abc||15112345678";
String[] arr = str.split("\\|\\|");
//错误
//St ...
遇到中文decode的问题,从cookie中拿到urlencode的值是中文,在urldecode时发现中文的最后1个字丢失,通过打日志最终定位到是字符编码的问题。
//不带charset参数的decode,不建议使用。。。
@Deprecated
public static String decode(String s)
De ...
一、String类的基本特征
1、final的,不可被继承。public final class String
2、本质是字符数组char[],并且其值不可改变。private final char value[]
3、有个特殊的创建方式,就是直接指定String x = "abc","abc"就表示一个字符串对象。而x是"abc"对象的地址,也叫做"abc"对象的引用。
4、可以通过“+”串联,串联后会生成新的字符串,也可以通过concat()来串联。
5、Jvm会维护一个String Pool,用来 ...