2010年12月29日

JVMS3总结之JVM基本结构

摘要: 数据类型:主要分为两种类型的数据:primitive types(基本类型) and reference types(引用类型)基本类型:•byte :2个bit有符号的二进制补码整数,范围-128 to 127•short :16个bit有符号的二进制补码整数,范围-128 to 127• int :32个bit有符号的二进制补码整数,范围−2147483648 to 2147483647• long :64个bit有符号二进制补码整数,范围−9223372036854775808 to 9223372036854775807• char :16个bit无符号二进制补码整数表示的UTF16字 阅读全文

posted @ 2010-12-29 14:48 NanguoCoffee 阅读(674) 评论(0) 推荐(1) 编辑

2010年12月10日

分析Netty工作流程

摘要: 分析Netty工作流程:下面以Netty中Echo的例子进行流程跟踪,并简要的服务器启动-客户端连接- 服务器处理连接- 服务器处理客户端数据- 客户端处理服务器数据1:客户端连接:我们直接看这行代码:bootstrap.connect(new InetSocketAddress(host, port));通过帮助类ClientBootstrap来连接服务器。Debug源码进去发现最后是某个Channel类进行connect操作。而这个Channel是如何来的呢?其实是从前面的 ChannelFactory和ChannelPipelineFactory得到的。Channel.conn 阅读全文

posted @ 2010-12-10 16:48 NanguoCoffee 阅读(7378) 评论(0) 推荐(2) 编辑

2010年11月25日

支持start,stop,restart的运行脚本

摘要: linux下的运行脚本,支持start,stop,restart使用说明;1:run.sh startrun.sh stoprun.sh restart2: 修改最大内存memlimit=512run.sh 阅读全文

posted @ 2010-11-25 14:08 NanguoCoffee 阅读(790) 评论(0) 推荐(0) 编辑

2010年11月24日

oracle点滴记录

摘要: 表空间自动拓展1: 查看表空间:SELECT *FROMdba_data_filesWHEREtablespace_name = 'TABLESPACE';2: 查看表空间大小:SELECTtablespace_name,SUM(bytes/1024/1024)FROMdba_segmentsGROUP BYtablespace_name;3: 构造 修改表空间自动拓展的 sqlSELECT'al... 阅读全文

posted @ 2010-11-24 17:52 NanguoCoffee 阅读(154) 评论(0) 推荐(0) 编辑

Java concurrency in practice 笔记

摘要: 概念篇1: 为什么需要多线程 在程序处理多任务时,在单线程下,如果其中一个任务被阻塞了(比如IO操作),那么所有的任务都无法前进,知道被阻塞的任务进行前进,将浪费很大的系统资源。 那么解决方案就是某一项任务暂时不适用资源时,就将资源释放出来,供其他的任务适用,这种方式就是多线程。2:多线程有什么问题 多线程能极大程度上利用空闲的资源。如果多个线程之间共享了某一份数据,如果不进行同步,共享的数据将被... 阅读全文

posted @ 2010-11-24 17:49 NanguoCoffee 阅读(269) 评论(0) 推荐(0) 编辑

优化原则(持续更新)

摘要: 优化原则:1: 在能应付当前性能需求的情况下,不建议进行性能优化。2: 仅仅优化性能瓶颈3: 编码时必须进行压力测试4: 优化时,考虑现实生活中遇到的问题,现实如何处理,代码也如何处理。5: 优化的唯一方法:去掉没有必要的操作 和 采取高效的算法。可以看到所有的优化方法都离不开这条原则,而最常用、也最容易发现的方案就是去掉没必要的操作。代码优化代码优化的唯一目的: 减少执行时间。两种优化方法: 减少没必要的内存分配;减少没必要的计算。 当然这两种方法一般都会同时出现,如分配没必要的内存,分配这个操作就是没必要的计算。内存分配: 最好的效果:一次申请正好足够的内存。不过一般都做不到,只能尽可能。 阅读全文

posted @ 2010-11-24 17:46 NanguoCoffee 阅读(2330) 评论(0) 推荐(0) 编辑

优化JavaMail发送性能

摘要: 本文优化JavaMail发送性能的原则: 一个连接发送多个邮件Java代码SessionmailSession=Session.getDefaultInstance(props);Transporttransport=mailSession.getTransport("smtp");transport.connect("192.168.15.85","webmaster","password");... 阅读全文

posted @ 2010-11-24 17:44 NanguoCoffee 阅读(2201) 评论(0) 推荐(0) 编辑

[转]Java编码浅析(注意区分三个概念)

摘要: PS: 转自http://www.javaeye.com/topic/311583Java与Unicode:Java的class文件采用utf8的编码方式,JVM运行时采用utf16。Java的字符串是unicode编码的。总之,Java采用了unicode字符集,使之易于国际化。Java支持哪些字符集:即Java能识别哪些字符集并对它进行正确地处理?查看Charset类,最新的JDK支持160种字符集。可以通过static方法availableCharsets拿到所有Java支持的字符集。Java代码assertEquals(160,Charset.availableCharsets().s 阅读全文

posted @ 2010-11-24 17:40 NanguoCoffee 阅读(973) 评论(0) 推荐(0) 编辑

【转】字符编码笔记:ASCII,Unicode和UTF-8

摘要: 作者:阮一峰日期:2007年10月28日今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识。1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以 阅读全文

posted @ 2010-11-24 17:24 NanguoCoffee 阅读(668) 评论(0) 推荐(0) 编辑

[转]java中byte转换int时为何与0xff进行与运算

摘要: PS:本文转自http://www.blogjava.net/orangelizq/archive/2008/07/20/216228.html在剖析该问题前请看如下代码public static String bytes2HexString(byte[] b) {String ret = "";for (int i = 0; i b.length; i++) { String hex = Integer.toHexString(b[ i ] & 0xFF); if (hex.length() == 1) { hex = '0' + hex; } ret += hex.toUpperCa 阅读全文

posted @ 2010-11-24 17:17 NanguoCoffee 阅读(806) 评论(2) 推荐(1) 编辑

导航