自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 资源 (4)
  • 收藏
  • 关注

原创 Spring框架设计模式一:观察者模式

观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新,在被观察者里会维护一个观察者的集合,当被观察者的状态发生改变时会去遍历集合中的观察者去执行对应的操作。 Spring中的观察者:常用的地方是listener的实现,如ApplicationListener: (1)ApplicationListener是观察者

2011-12-04 20:38:02 2093

原创 浅谈Iterator的用处

Iterator通常用来遍历集合元素,如在for循环中: List sList = new ArrayList(); for (Iterator it = sList.iterator(); it.hasNext();) { String string = it.next(); // do something } 另一种更加优雅的写法是增强的 for 循环:foreach,这个特性

2011-12-11 20:01:21 1487

转载 关于 Java Collections API 您不知道的 5 件事,第 1 部分

对于很多 Java 开发人员来说,Java Collections API 是标准 Java 数组及其所有缺点的一个非常需要的替代品。将 Collections 主要与ArrayList 联系到一起本身没有错,但是对于那些有探索精神的人来说,这只是 Collections 的冰山一角。 关于本系列 您觉得自己懂 Java 编程?事实上,大多数程序员对于 Java 平台都是浅尝则

2011-12-11 15:18:42 515

转载 编译器将字符串累加编译成StringBuilder

源代码 String aa = "aa"; String bb = "bb"; String cc = "cc"; String result = aa + bb + cc; 编译后 NEW StringBuilder

2011-09-18 01:57:32 869

原创 String类的创建和存储以及和StringBuilder、StringBuffer的区别

String不属于8种基本数据类型,它是种特殊对象,所以未初始化之前为null。String能通过①直接赋值字符串常量(String s = "a";))或者 ②new关键字(String s = new String("a");)或者 ③字符串常量拼接(String s = "

2011-09-18 01:44:14 1413

原创 解读java的包装类

Java是面向对象语言,在她的世界里充满了对象,对象让我们更好地彼此沟通,但是在java中有一块区域是不具备对象特性的,就是基本数据类型(boolean,byte,short,character,int,long,double,float),为了能让基本数据类型也具备对象的特性,

2011-09-10 17:05:39 1180

深入java虚拟机

第1章 java体系结构介绍 1.1 为什么使用java 1.2 网络带来的挑战和机遇 1.3 体系结构 1.3.1 java虚拟机 1.3.2 类装载器的体系结构 1.3.3 java class文件 1.3.4 java api 1.3.5 java程序设计语言 1.4 java体系结构的代价 1.5 结论 1.6 资源页 第2章 平台无关 2.1 为什么要平台无关 2.2 java的体系结构对平台无关的支持 2.2.1 java平台 2.2.2 java语言 2.3.3 java class文件 . 2.2.4 可伸缩性 2.3 影响平台无关性的因素 2.3.1 java平台的部署 2.3.2 java平台的版本 2.3.3 本地方法 2.3.4 非标准运行时库 2.3.5 对虚拟机的依赖 2.3.6 对用户界面的依赖 2.3.7 java平台实现中的bug 2.3.8 测试 2.4 平台无关的七个步骤 2.5 平台无关性的策略 2.6 平台无关性和网络移动对象 2.7 资源页 第3章 安全 3.1 为什么需要安全性 3.2 基本沙箱 3.3 类装载器体系结构 3.4 class文件检验器 3.4.1 第一趟:class文件的结构检查 3.4.2 第二趟:类型数据的语义检查 3.4.3 第三趟:字节码验证 3.4.4 第四趟:符号引用的验证 3.4.5 二进制兼容 3.5 java虚拟机中内置的安全特性 3.6 安全管理器和java api 3.7 代码签名和认证 3.8 一个代码签名示例 3.9 策略 3.10 保护域 3.11 访问控制器 3.11.1 implies()方法 3.11.2 栈检查示例 3.11.3 一个回答“是”的栈检查 3.11.4 一个回答“不”的栈检查 3.11.5 doprivileged()方法 3.11.6 doprivileged()的一个无效使用 3.12 java安全模型的不足和今后的发展 方向 3.13 和体系结构无关的安全性 3.14 资源页 第4章 网络移动性 4.1 为什么需要网络移动性 4.2 一种新的软件模式 4.3 java体系结构对网络移动性的支持 4.4 applet:网络移动性代码的示例 4.5 jini服务对象:网络移动对象的示例 4.5.1 jini是什么 4.5.2 jini如何工作 4.5.3 服务对象的优点 4.6 网络移动性:java设计的中心 4.7 资源页 第5章 java虚拟机 5.1 java虚拟机是什么 5.2 java虚拟机的生命周期 5.3 java虚拟机的体系结构 5.3.1 数据类型 5.3.2 字长的考量 5.3.3 类装载器子系统 5.3.4 方法区 5.3.5 堆 5.3.6 程序计数器 5.3.7 java栈 5.3.8 栈帧 5.3.9 本地方法栈 5.3.10 执行引擎 5.3.11 本地方法接口 5.4 真实机器 5.5 一个模拟:“eternal math” 5.6 随书光盘 5.7 资源页 第6章 java class文件 6.1 java class文件是什么 6.2 class文件的内容 6.3 特殊字符串 6.3.1 全限定名 6.3.2 简单名称 6.3.3 描述符 6.4 常量池 6.4.1 constant_utf8_info表 6.4.2 constant_integer_info表 6.4.3 constant_float_info表 6.4.4 constant_long_info表 6.4.5 constant_double_info表 6.4.6 constant_class_info表 6.4.7 constant_string_info表 6.4.8 constant_fieldref_info表 6.4.9 constant_methodref_info表 6.4.10 constant_interfacemethodref_ info表 6.4.11 constant_nameandtype_info 表 6.5 字段 6.6 方法 6.7 属性 6.7.1 属性格式 6.7.2 code属性 6.7.3 constantvalue属性 6.7.4 deprecated属性 6.7.5 exceptions属性 6.7.6 innerclasses属性 6.7.7 linenumbertable属性 6.7.8 localvariabletable属性 6.7.9 sourcefile属性 6.7.10 synthetic属性 6.8 一个模拟:“getting loaded” 6.9 随书光盘 6.10 资源页 第7章 类型的生命周期 7.1 类型装载、连接与初始化 7.1.1 装载 7.1.2 验证 7.1.3 准备 7.1.4 解析 7.1.5 初始化 7.2 对象的生命周期 7.2.1 类实例化 7.2.2 垃圾收集和对象的终结 7.3 卸载类型 7.4 随书光盘 7.5 资源页 第8章 连接模型 8.1 动态连接和解析 8.1.1 解析和动态扩展 8.1.2 类装载器与双亲委派模型 8.1.3 常量池解析 8.1.4 解析constant_class_info入口 8.1.5 解析constant_fieldref_info 入口 s.1.6 解析constant_methodref_info 入口 8.1.7 解析constant_interface- methodref_info入口 8.1.8 解析constant_string_info入口 8.1.9 解析其他类型的入口 8.1.10 装载约束 8.1.11 编译时常量解析 8.1.12 直接引用 8.1.13 _quick指令 8.1.14 示例:salutation程序的连接 8.1.15 示例:greet程序的动态扩展 8.1.16 使用1.1版本的用户自定义类装 载器 8.1.17 使用1.2版本的用户自定义类装 载器 8.1.18 示例:使用forname()的动态扩展 8.1.19 示例:卸载无法触及的greeter类 8.1.20 示例:类型安全性与装载约束 8.2 随书光盘 8.3 资源页 第9章 垃圾收集 9.1 为什么要使用垃圾收集 9.2 垃圾收集算法 9.3 引用计数收集器 9.4 跟踪收集器 9.5 压缩收集器 9.6 拷贝收集器 9.7 按代收集的收集器 9.8 自适应收集器 9.9 火车算法 9.9.1 车厢、火车和火车站 9.9.2 车厢收集 9.9.3 记忆集合和流行对象 9.10 终结 9.11 对象可触及性的生命周期 9.11.1 引用对象 9.11.2 可触及性状态的变化 9.11.3 缓存、规范映射和临终清理 9.12 一个模拟:“heap of fish” 9.12.1 分配鱼 9.12.2 设置引用 9.12.3 垃圾收集 9.12.4 压缩堆 9.13 随书光盘 9.14 资源页 第10章 栈和局部变量操作 10.1 常量入栈操作 10.2 通用栈操作 10.3 把局部变量压入栈 10.4 弹出栈顶部元素,将其赋给局部变量 10.5 wide指令 10.6 一个模拟:“fibonacci forever” 10.7 随书光盘 10.8 资源页 第11章 类型转换 11.1 转换操作码 11.2 一个模拟:“conversion diversion” 11.3 随书光盘 11.4 资源页 第12章 整数运算 12.1 二进制补码运算 12.2 inner int:揭示java int类型内部性质 的applet 12.3 运算操作码 12.4 一个模拟:“prime time” 12.5 随书光盘 12.6 资源页 第13章 逻辑运算 13.1 逻辑操作码 13.2 一个模拟:“logical results” 13.3 随书光盘 13.4 资源页 第14章 浮点运算 14.1 浮点数 14.2 inner float:揭示java float类型内部 性质的applet 14.3 浮点模式 14.3.1 浮点值集合 14.3.2 浮点值集的转换 14.3.3 相关规则的本质 14.4 浮点操作码 14.5 一个模拟:“circle of squares” 14.6 随书光盘 14.7 资源页 第15章 对象和数组 15.1 关于对象和数组的回顾 15.2 针对对象的操作码 15.3 针对数组的操作码 15.4 一个模拟:“three—dimensional array” 15.5 随书光盘 15.6 资源页 第16章 控制流 16.1 条件分支 16.2 五条件分支 16.3 使用表的条件分支 16.4 一个模拟:“saying tomato” 16.5 随书光盘 16.6 资源页 第17章 异常 17.1 异常的抛出与捕获 17.2 异常表 17.3 一个模拟:“play ball!” 17.4 随书光盘 17.5 资源页 第18章 finally子句 18.1 微型子例程 18.2 不对称的调用和返回 18.3 一个模拟:“hop around” 18.4 随书光盘 18.5 资源页 第19章 方法的调用与返回 19.1 方法调用 19.1.1 java方法的调用 19.1.2 本地方法的调用 19.2 方法调用的其他形式 19.3 指令invokespecial 19.3.1 指令invokespecial和[init]()方法 19.3.2 指令invokespecial和私有方法 19.3.3 指令invokespecial和super关键字 19.4 指令invokeinterface 19.5 指令的调用和速度 19.6 方法调用的实例 19.7 从方法中返回 19.8 随书光盘 19.9 资源页 第20章 线程同步 20.1 监视器 20.2 对象锁 20.3 指令集中对同步的支持 20.3.1 同步语句 20.3.2 同步方法 20.4 object类中的协调支持 20.5 随书光盘 20.6 资源页 附录a 按操作码助记符排列的指令集 附录b 按功能排列的操作码助记符 附录c 按操作码字节值排列的操作码助

2011-09-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除