Eason-S

导航

2016年7月13日 #

Java集合(1):ArrayList

摘要: Java容器类的用途是“保存对象”,分为两类:Map——存储“键值对”组成的对象;Collection——存储独立元素。Collection又可以分为List和Set两大块。List保持元素的顺序(有序可重复),而Set不能有重复的元素(无序唯一)。 我们从List中最常用的ArrayList展开对 阅读全文

posted @ 2016-07-13 21:19 Eason_S 阅读(1465) 评论(0) 推荐(0) 编辑

浅谈JSON

摘要: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。 易于人 阅读全文

posted @ 2016-07-13 19:58 Eason_S 阅读(354) 评论(0) 推荐(0) 编辑

2016年7月11日 #

每天一个设计模式(3):装饰者模式

摘要: 3.装饰者模式 装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 一.问题引入 咖啡店的类设计: 一个饮料基类,各种饮料类继承这个基类,并且计算各自的价钱。 饮料中需要加入各种调料,考虑在基类中加入一些布尔值变量代表是否加入各种调料,基类的cost()中的计算 阅读全文

posted @ 2016-07-11 15:40 Eason_S 阅读(370) 评论(0) 推荐(0) 编辑

每天一个设计模式(2):观察者模式

摘要: 2.观察者模式 观察者模式很好理解,类似于邮件订阅和RSS订阅,当我们浏览一些博客或wiki时,经常会看到RSS图标,就这的意思是,当你订阅了该文章,如果后续有更新,会及时通知你。其实,简单来讲就一句话:当一个对象变化时,其它依赖该对象的对象都会收到通知,并且随着变化!对象之间是一种一对多的关系。 阅读全文

posted @ 2016-07-11 14:44 Eason_S 阅读(352) 评论(0) 推荐(0) 编辑

每天一个设计模式(1):策略模式

摘要: 1.策略模式 策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口,设计一个抽象类(可有可无,属于辅助类),提供辅助函数。 一.问题的提出 一个模拟鸭子的游戏,游戏中出现各种鸭子 阅读全文

posted @ 2016-07-11 13:14 Eason_S 阅读(626) 评论(0) 推荐(0) 编辑

每天一个设计模式(0):设计模式概述

摘要: 本系列是基于阅读《Head First 设计模式》而产生的,也算是此书的阅读笔记。 由于目前事情比较多,本系列内容参考了几个大神的博客内容。以后时间充裕了,或对某种模式有了更深入的理解后,会及时更新对应文章。 参考的几个大神的博客主页如下:http://www.cnblogs.com/mengdd/ 阅读全文

posted @ 2016-07-11 11:49 Eason_S 阅读(511) 评论(0) 推荐(0) 编辑

2016年7月10日 #

常量池、栈、堆的比较

摘要: JAVA中,有六个不同的地方可以存储数据: 1.寄存器:最快的存储区,位于不同于其他存储区的地方——处理器内部。寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。 2. 栈:存放基本类型的变量数据和对象的引用。位于通用RAM中,但通过 阅读全文

posted @ 2016-07-10 17:46 Eason_S 阅读(11358) 评论(7) 推荐(9) 编辑

常量池小结

摘要: Java中的常量池,实际上分为两种形态:静态常量池和运行时常量池。 所谓静态常量池,即*.class文件中的常量池,class文件中的常量池不仅仅包含字符串(数字)字面量,还包含类、方法的信息,占用class文件绝大部分空间。 而运行时常量池,则是jvm虚拟机在完成类装载操作后,将class文件中的 阅读全文

posted @ 2016-07-10 17:39 Eason_S 阅读(2284) 评论(0) 推荐(0) 编辑

Java虚拟机体系结构分析

摘要: 下图是JAVA虚拟机的结构图: 每个Java虚拟机都有一个类装载子系统,它根据给定的全限定名来装入类型(类或接口)。同样,每个Java虚拟机都有一个执行引擎,它负责执行那些包含在被装载类的方法中的指令。 当JAVA虚拟机运行一个程序时,它需要内存来存储许多信息,Java虚拟机把这些信息都组织到几个“ 阅读全文

posted @ 2016-07-10 17:30 Eason_S 阅读(1591) 评论(0) 推荐(0) 编辑

2016年7月7日 #

Java并发(3):volatile及Java内存模型

摘要: Java 语言中的 volatile 变量可以被看作是一种“程度较轻的 synchronized“;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。为了真正搞明白volatile的语义和 阅读全文

posted @ 2016-07-07 19:57 Eason_S 阅读(572) 评论(0) 推荐(0) 编辑