JDK优化(个人观点)
2013-06-18 11:12
155 查看
今天上午JDK的源码看了一下。
首先从JDK的安装目录中找到SRC源码包,然后附加到MyEclipse 中。
看了其中一下DataSource:
觉得挺吓人的,光写日志那块,就得调用N个方法。
而且方法基本是:
try {
synchronized (lock) {
ensureOpen();
out.write(s, off, len);
}
}
catch (InterruptedIOException x) {
Thread.currentThread().interrupt();
}
catch (IOException x) {
trouble = true;
}
public void write(String str, int off, int len) throws IOException {
synchronized (lock) {
char cbuf[];
if (len <= writeBufferSize) {
if (writeBuffer == null) {
writeBuffer = new char[writeBufferSize];
}
cbuf = writeBuffer;
} else { // Don't permanently allocate very large buffers.
cbuf = new char[len];
}
str.getChars(off, (off + len), cbuf, 0);
write(cbuf, 0, len);
}
}
----
虽然机器速度快,想必这样速度就慢了,可以进行优化~
不知道国内的大公司有没有自己优化的JDK,IBM,ORACLE等公司的JDK都是优化过的!
首先从JDK的安装目录中找到SRC源码包,然后附加到MyEclipse 中。
看了其中一下DataSource:
觉得挺吓人的,光写日志那块,就得调用N个方法。
而且方法基本是:
try {
synchronized (lock) {
ensureOpen();
out.write(s, off, len);
}
}
catch (InterruptedIOException x) {
Thread.currentThread().interrupt();
}
catch (IOException x) {
trouble = true;
}
public void write(String str, int off, int len) throws IOException {
synchronized (lock) {
char cbuf[];
if (len <= writeBufferSize) {
if (writeBuffer == null) {
writeBuffer = new char[writeBufferSize];
}
cbuf = writeBuffer;
} else { // Don't permanently allocate very large buffers.
cbuf = new char[len];
}
str.getChars(off, (off + len), cbuf, 0);
write(cbuf, 0, len);
}
}
----
虽然机器速度快,想必这样速度就慢了,可以进行优化~
不知道国内的大公司有没有自己优化的JDK,IBM,ORACLE等公司的JDK都是优化过的!
相关文章推荐
- 说说Windows7破解版的个人观点
- 从JDK源码角度看并发锁的优化
- 关于防止重复刷投票的个人观点
- 关于Teradata数据库优化的一些个人心得
- 近期个人观点
- 【synchronized底层原理之3】JDK1.6对锁所做的优化
- 个人博客网建站优化经验总结(上)
- SQL Server2008 事务和锁详解(MSSQL个人笔记之数据库优化之路 五)
- C#中Length和Count的区别(个人观点)
- Oracle优化网上常见的5个错误观点
- 优化SQL查询(个人工作经验总结)
- MySQL优化建议--个人学习笔记
- 个人分享 站长们容易忽略的代码优化
- 个人经验总结:MySQL数据库优化技巧集锦
- 基于centos6.5快速搭建jdk,tomcat,nginx,显示个人静态页面(基于yum)
- LCD相关个人观点
- 权限学习--BlueDavy之技术Blog漫谈权限系统之结尾篇(开源产品、个人观点、知识体系)
- SQL优化个人总结
- 从JDK源码角度看并发锁的优化
- 个人观点:Adapter与Decorator的区别