HelloWorld开发者社区

www.helloworld.net - 开发者专属的技术社区

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2017年4月17日

摘要: 定义: 在面向对象开发过程中,通常会遇到一些问题,比如我们知道一个算法所需要的关键步骤,并确定了这些步骤的执行顺序,但是,其中的某些步骤的具体实现是不可知的,或者说某些步骤是会随着环境的变化而变化,我们以一个小品中的故事为例,例如,把大象装冰箱,分三步: 第一步:把冰箱门打开 第二步:把大象放进去 阅读全文
posted @ 2017-04-17 21:28 HelloWorld开发者社区 阅读(141) 评论(0) 推荐(0) 编辑

2017年4月16日

摘要: 定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。 类型:创建类模式 类图: 原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Prototype类需要具备以下两个条件: 实现Cloneable接口。在java语言有一个Cloneable接口,它的作用只有 阅读全文
posted @ 2017-04-16 11:27 HelloWorld开发者社区 阅读(143) 评论(0) 推荐(0) 编辑

摘要: 建造者模式是一步一步创建一个比较复杂的对象的创建型模式,它允许用户在不知道内部构建细节的情况下,可以更精细地控制对象的创建过程。该模式是为了将构建复杂对象的过程和它的部件解耦,使得构建过程和部件的表示隔离开来。 本例以组装一台电脑为例,电脑有CPU,硬盘,内存,当然还有其它的,本例只用这三个属性表示 阅读全文
posted @ 2017-04-16 00:01 HelloWorld开发者社区 阅读(150) 评论(0) 推荐(0) 编辑

2017年4月15日

摘要: 工厂模式适用于大量产品需要创建,并且具有共同的接口时,可以通过工厂方法模式进行创建。我不喜欢看一堆的理论,书上把工厂模式分为下面三种。 1 简单工厂模式 2 工厂方法模式 3 抽象工厂模式 一 简单工厂模式 先看第1种,简单工厂模式,所谓简单,就是直接能想到的,直接 if 判断,符合条件就创建相应的 阅读全文
posted @ 2017-04-15 23:38 HelloWorld开发者社区 阅读(274) 评论(0) 推荐(1) 编辑

摘要: 所谓单例模式,就是程序运行过程中只有一个实例,这对于程序来说是很有用的,在任何地方都可以访问,比如全局配置就可以做成一个单例模式。 下面是Java实现的一个单例模式 单例模式使用时需要注意内存泄露问题,因为单例模式是静态的实例保存,生命周期和所在的进程的生命周期一样长,如果在单例中保存了生命周期适于 阅读全文
posted @ 2017-04-15 22:57 HelloWorld开发者社区 阅读(157) 评论(0) 推荐(0) 编辑

摘要: 我们知道,设计模式很有用,学好设计模式不但能让你写出更简洁,优雅的代码,还能使得代码的结构更清晰,也更有利于扩展 当然设计模式也不是万能的,一成不变的.设计模式只是前人总结出来的一种经验,一种特定问题的解决方法,不能看作是死的东西 不一定非要生搬硬套,非得按照设计模式书上来来,只要我们写的代码符合一 阅读全文
posted @ 2017-04-15 12:03 HelloWorld开发者社区 阅读(369) 评论(0) 推荐(0) 编辑

2017年4月11日

摘要: 在堆中存放着几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事就是要确定这些对象之中哪些还活着,哪些对象已经死去. 判断对象是否已经死亡有以下几种算法: 定义 : 给对象中添加一个引用计数器,当有一个地方引用时,计数器加1,引用失效时,就减1,当对象的引用计数器为0时,对象就是不可再被使用的. 阅读全文
posted @ 2017-04-11 10:22 HelloWorld开发者社区 阅读(437) 评论(0) 推荐(0) 编辑

2017年4月10日

摘要: 先来看看Java对象在内存中的布局 一 Java对象的内存布局 在HotSpot虚拟机中,对象在内存中的布局分为3个区域 对象头(Header) Mark Word(在32bit和64bit虚拟机上长度分别为32bit和64bit)存储对象自身的运行时数据,包括哈希码,GC分代年龄,锁状态标志,线程 阅读全文
posted @ 2017-04-10 18:21 HelloWorld开发者社区 阅读(1487) 评论(0) 推荐(0) 编辑

2017年4月9日

摘要: JAVA中创建对象直接new创建一个对象,对么对象的创建过程是怎样的呢? 程序运行过程中有许多的对象被创建出来.那么对象是如何创建的呢? 一 对象创建的步骤 1 遇到new指令时,检查这个指令的参数是否能在常量池中找到一个符号引用 2 如果找到符号引用,就检查这个符号引用是否已经被加载,解析和初始化 阅读全文
posted @ 2017-04-09 15:44 HelloWorld开发者社区 阅读(214) 评论(0) 推荐(0) 编辑

2017年4月8日

摘要: 1 java虚拟机对内存的管理 java虚拟机在执行java程序的时候把内存分为若干个不同的区,这些区各自有不同的用处,以及创建和销毁时间. 有的区随着虚拟机的启动而启动,有的区则依赖用户线程的启动和结束而启动和结束. 根据java虚拟机规范,java虚拟机将内存分为下面几个部分:如下图 下面是对这 阅读全文
posted @ 2017-04-08 14:03 HelloWorld开发者社区 阅读(152) 评论(0) 推荐(0) 编辑