上一页 1 2 3 4 5 6 7 8 9 ··· 15 下一页
摘要: 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析、初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制从类被加载到虚拟机内存中开始,到卸载出内存为止,类的生命周期包括加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)7个阶段其中验证、准备和解析三部分称为连接,在Java语言中,类型的加载和连接过程都是在程序运行期间完成的(Java可以动态扩展的语言特性就是依赖运行期动态加载、动态连接这个特点 阅读全文
posted @ 2013-12-06 13:59 心意合一 阅读(174) 评论(0) 推荐(0) 编辑
摘要: Class文件是一组以8位字节为基础单位的二进制流,包含多个数据项目(数据项目的顺序,占用的字节数均由规范定义),各个数据项目严格按照顺序紧凑的排列在Class文件中,不包含任何分隔符,使得整个Class文件中存储的内容几乎全部都是程序运行的必要数据,没有空隙。当遇到需要占用超过8位字节以上空间的数据项目时,会按照高位在前的方式分割为多个8位字节进行存储数据项目分为2种基本数据类型(以及由这两种基本数据类型组成的集合):1,无符号数,以u1、u2、u4、u8分别代表1个字节、2个字节、4个字节、8个字节的无符号数2,表,以“_info”结尾,由多个无符号数或其它表构成的复合数据类型Class文 阅读全文
posted @ 2013-12-01 16:51 心意合一 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 保证浮点运算的结果不受平台的影响,在任何平台上,使用统一的标准进行浮点运算,提高程序的可移植性(毕竟结果更可控,更精确),相应的,以降低性能为代价Strictfp ensures that you get exactly the same results from your floating point calculations on every platform. If you don't use strictfp, the JVM implementation is free to use extra precision where available.In other words 阅读全文
posted @ 2013-11-26 10:31 心意合一 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 怀旧的愁绪可能是我们所告诉自己的谎言中最大的。它是拿美化了的过去当标准,来情绪性地看现在。对有些人而言,它可以给我们带来某种程度的安慰,让我们重新感受自己与自己的根源。但是我担心对大部分其他的人来说,这只会让他们扭曲了记忆,并且因此对周围的现实浑然不觉。我怀疑有多少人在渴望“当年更单纯,并且更美好的世界”。他们从来没有看出事实上是他们自己当年更单纯,更美好,而不是这个世界以前在WOW吧看帖子,一个外国的哥们说道:什么是回忆,无数过去的回忆构成了现在的我。人生已然二十又五,此情可待成追忆,只是当时已惘然。 阅读全文
posted @ 2013-11-14 22:01 心意合一 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 使用的是apache开源包commons-net-3.3.jar所提供的FTPClientFTP服务器使用Quick Easy FTP Server 4.0.0(服务器ip为192.168.31.104,端口使用默认21端口,用户名为test,密码为123)JDK版本为1.6,Junit使用4.8.1FTP上传工具类:import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;imp 阅读全文
posted @ 2013-11-04 17:58 心意合一 阅读(354) 评论(0) 推荐(0) 编辑
摘要: HTTP请求报文格式:HTTP请求报文主要由请求行、请求头部、空行以及请求正文4部分组成1,请求行由3部分组成,分别为:请求方式,URI(注意这里不是URL)以及协议版本组成,之间由空格分隔请求方法主要包括GET、POST等;常见的协议版本有HTTP/1.12,请求头部包含很多有关客户端环境以及请求正文的有用信息请求头部由“关键字/值”对组成,每行一对,关键字和值之间使用英文“:”分隔3,空行,这一行非常重要,必不可少,表示请求头部结束,接下来为请求正文4,请求正文,如以POST方式提交的表单数据GET请求示例:POST请求示例:GET请求方式和POST请求方式到底有什么不同:1,POST方式 阅读全文
posted @ 2013-11-01 17:29 心意合一 阅读(454) 评论(0) 推荐(0) 编辑
摘要: 代码如下:public class CommonUtils { //高位在前,低位在后 public static byte[] int2bytes(int num){ byte[] result = new byte[4]; result[0] = (byte)((num >>> 24) & 0xff);//说明一 result[1] = (byte)((num >>> 16)& 0xff ); result[2] = (byte)((num >>> 8) & 0xff ); result[3] = (byte)( 阅读全文
posted @ 2013-10-30 11:06 心意合一 阅读(582) 评论(0) 推荐(0) 编辑
摘要: 简单来说,对象内存分配主要是在堆中分配。但是分配的规则并不是固定的,取决于使用的收集器组合以及JVM内存相关参数的设定以下介绍几条基本规则(使用的ParNew+Serial Old收集器组合):一,对象优先在新生代Eden区分配//-XX:+UseParNewGC -Xms20m -Xmx20m -Xmn10m -XX:+PrintHeapAtGC -XX:+PrintGCDetailspublic class test { static int mb = 1024*1024; public static void main(String[] args) { byte[] b1 = new.. 阅读全文
posted @ 2013-10-29 10:00 心意合一 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 当前商业虚拟机的垃圾收集都采用“分代收集”算法,即根据对象生命周期的不同,将内存划分几块,一般为新生代和老年代,不同的代根据其特点使用最合适的垃圾收集算法一,标记-清除算法:该算法分为“标记”、“清除”2个过程,首先标记需要清除的对象,然后统一清除这个算法有2个明显的缺点:1,标记和清除的效率都不高2,垃圾收集后,内存碎片化严重二,复制算法:将内存分大小相同的2块,每次只使用其中的一块。当一块中的内存耗光,则将还活着的对象复制到另一块,并清空原先的那一块这个算法的优缺点都比较明显优点是实现比较简单,效率也很高,而且没有内存碎片化的问题缺点是最大的可用内存变为原先的二分之一,估计这谁也受不了新生 阅读全文
posted @ 2013-10-22 09:37 心意合一 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 相对于非阻塞通信的复杂性,通常客户端并不需要使用非阻塞通信以提高性能,故这里只有服务端使用非阻塞通信方式实现客户端:package com.test.client;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.net.InetAddress;import java.net.InetSocketAddress;import java.nio.channels.SocketChannel;import org.apache.log4j.Log 阅读全文
posted @ 2013-10-17 10:31 心意合一 阅读(1043) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 15 下一页