自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 资源 (1)
  • 收藏
  • 关注

原创 设计模式六大原则例子(五)-- 最少知识原则(LKP)/ 迪米特法则(LOD)例子

之前我们对设计模式的六大原则做了简单归纳,这篇博客是对最少知识原则进行的举例说明。最少知识原则的意义朋友类的定义:出现在成员变量、方法的输入输出参数中的类。而方法体类内部的类不能算。每个对象都必然会与其他对象有耦合关系,两个对象之间的耦合就成为朋友关系,这种关系的类型有很多,如组合、聚合、依赖等。具体实现:在实际应用中经常会出现这样一个方法:放在本类中也可以,放在其他类中也没有问题,怎么去衡量

2017-06-29 18:01:02 4501

原创 设计模式六大原则例子(四)-- 依赖倒置原则(DIP)例子

之前我们对设计模式的六大原则做了简单归纳,这篇博客是对依赖倒置原则进行的举例说明。依赖倒置原则的意义DIP是6大原则中最难以实现的原则,它是实现开闭原则的重要途径,DIP没有实现,就别想实现对扩展开放,对修改关闭。在项目中只要记住“面向接口编程”就基本上抓住了DIP的核心对各种概念进行一个描述:低层模块:不可分割的原子逻辑,可能会根据业务逻辑经常变化。高层模块:低层模块的再组合,对低层模块的

2017-06-28 14:12:25 16050 2

原创 设计模式六大原则例子(三)-- 里氏替换原则(LSP)例子

之前我们对设计模式的六大原则做了简单归纳,这篇博客是对里氏替换原则进行的举例说明。里氏替换原则的意义子类可以扩展父类的功能,但不能改变父类原有的功能 继承机制的优点:代码共享,减少创建类的工作量提高代码的重用性;子类可以形似父类,又异于父类;提高父类的扩展性,实现父类的方法即可随意而为;继承机制的缺点:继承是入侵性的(只要继承,就必须拥有父类的所有属性与方法);降低了代码的灵活性(

2017-06-27 18:18:01 7920 1

原创 设计模式六大原则例子(二)-- 单一职责原则(SRP)例子

之前我们对设计模式的六大原则做了简单归纳,这篇博客是对单一职责原则进行的举例说明。单一职责原则的意义对象不应该承担太多职责,正如人不应该一心分为二用。唯有专注,才能保证对象的高内聚;唯有单一,才能保证对象的细粒度。对象的高内聚与细粒度有利于对象的重用。一个庞大的对象承担了太多的职责,当客户端需要该对象的某一个职责时,就不得不将所有的职责都包含进来,从而造成冗余代码或代码的浪费。这实际上保证了DRY

2017-06-27 17:05:25 8752 2

原创 设计模式六大原则例子(一)-- 接口隔离原则(ISP)例子

之前我们对设计模式的六大原则做了简单归纳,这篇博客是对接口隔离原则进行的举例说明。接口隔离原则的意义建立单一接口,不要建立庞大臃肿的接口,尽量细化接口,接口中的方法尽量少。也就是说,我们要为各个类建立专用的接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。 在程序设计中,依赖几个专用的接口要比依赖一个综合的接口更灵活。接口是设计时对外部设定的“契约”,通过分散定义多个接口,可以预防外

2017-06-27 09:49:44 4422 4

原创 设计模式六大原则(六)-- 开放封闭原则 ( OCP )

From Now On,Let us begin Design Patterns。开放封闭原则 Open Closed Principle 定义一个软件实体如类,模块和函数应该对扩展开放,对修改关闭。 Software entities like classes, modules and functions should be open for extension but closed for m

2017-06-26 11:03:00 1013

原创 设计模式六大原则(五)-- 最少知识原则 ( LKP ) / 迪米特法则 ( LOD )

From Now On,Let us begin Design Patterns。最少知识原则 Least Knowledge Principle / 迪米特法则 Law Of Demeter 定义一个对象应该对其他对象保持最少的了解。An object should keep a minimum understanding of other objects.只与直接的朋友通信。Only

2017-06-26 10:06:48 1348

原创 设计模式六大原则(四)-- 依赖倒置原则(DIP)

From Now On,Let us begin Design Patterns。依赖倒置原则 Dependence Inversion Principle 定义高层模块不应该依赖低层模块,两者都应该依赖其抽象 , High level modules should not depend upon low level modules. Both should depend upon abstrac

2017-06-24 13:55:13 728

原创 设计模式六大原则(三)-- 里氏替换原则 ( LSP )

From Now On,Let us begin Design Patterns。里氏替换原则 Liskov Substitution Principle(LSP)定义如果对每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1都代换成o2时,程序P的行为没有发生变化,那么类型S是类型T的子类型。 If for each object o1 of type S

2017-06-20 16:56:30 699

原创 设计模式六大原则(二)-- 单一职责原则 ( SRP )

From Now On,Let us begin Design Patterns。单一职责原则 Single Responsibility Principle(SRP)定义 应该有且仅有一个原因引起类的变更。There should never be more than one reason for a class to change.可以理解为:一个类只负责一项职责,如果发生变更时,可以考虑将

2017-06-20 14:43:09 606

原创 设计模式六大原则(一)-- 接口隔离原则(ISP)

From Now On,Let us begin Design Patterns。接口隔离原则 Interface Segregation Principle 定义客户端不应该依赖它不需要的接口(一个接口中的方法不应该冗余)Clients should not be forced to depend upon interfaces that they don’t use.类间的依赖关系应该建立在

2017-06-20 10:34:41 780

转载 深入java(类)接口默认修饰符问题

在深入理解java的abstract class和interface的时候,遇到过很多很小的问题,网上很多的资料给了很多帮助,对于接口的默认修饰符方面参考了一篇博文,很赞同作者自己找工具对源代码进行分析的主动进取的精神,自己积极找出路的做法。转载请注明:http://www.cnblogs.com/BaiLaowu/p/6618117.htmlpackage test;public interfac

2017-06-19 18:25:14 2644

原创 深入java(类)设计层次看抽象类和接口

上一篇文章说到抽象类和接口,总结抽象类和接口的基础知识点,同时解答为何会有这些知识点,例如:为什么Java的类只能单继承,接口倒是可以引用多个,为什么接口可以继承多个接口,为什么抽象的方法必须实现。这篇文章会在更高的角度出发,理解抽象类和接口。原创不易,转载请注明出处:http://blog.csdn.net/yabay2208抽象类和接口的区别从设计角度看抽象类和接口(举例子)一:抽象类和接

2017-06-19 17:33:40 2823 1

原创 深入java(类)抽象类和接口语法解答

上一篇文章对象初始化,类构造函数的调用以及多态,这一篇文章继续到抽象类和接口,总结抽象类和接口的基础知识点,同时解答为何会有这些知识点,例如:为什么java的类只能单继承,接口倒是可以引用多个,为什么接口可以继承多个接口,为什么抽象的方法必须实现。然后会在更高的角度出发,理解抽象类和接口。原创不易,转载请注明出处:http://blog.csdn.net/yabay2208 抽象类的使用准则以及为

2017-06-19 09:58:58 607

原创 深入java (类)对象初始化,类构造函数的调用以及多态(java中多态的实现机制以后补充)

上一篇文章初探类的加载和初始化顺序,这一篇文章继续总结在继承的场景中,我们构造对象的时候,构造方法的调用顺序(以及简单解释为什么会这样执行构造函数,这些构造函数的调用顺序一定是jvm里面的一些规则定下来的,其实这样的目的就是多态和其他(其他是什么我现在也不确定,满怀期待呀!!)),给自己解答当年的疑惑,对于虚拟机里面多态的实现机制,我们会在深入java虚拟机。原创不易,转载请注明出处:http://

2017-05-15 15:30:24 716

原创 深入java (类)初探类的加载和初始化顺序

上一篇博客深入理解了java中类的继承的作用和意义:复用和规范,我们也对重写父类的方法规范做出了解释:1.返回值和参数类型、参数个数和参数顺序必须一样;2.而且方法访问的权限一定要越来越大或者相等,因为如果你的父类方法是public,而子类的方法是private,程序在编译器可以通过,在执行期间突然变得不可读写和存取(多态机制),这显然是不合理的,同时编译器也不会允许你这样做。这是java的多态机制

2017-05-13 22:23:20 336

原创 深入java (类)深入理解类的继承和初始化顺序

上一篇文章从计算机原理角度初探java类对象使用堆和栈,也总结了构造函数的使用要点,这一篇文章我们继续深入,总结类的继承及意义,类的初始化顺序,从jvm的角度以及java语言设计的角度分析:构造类对象的时候构造函数的调用顺序。下一篇咱们从设计的角度出发,探讨继承(父类),抽象类和接口,不用死记硬背,就可以理解为什么用这几种不同的设计。原创不易,转载请注明出处:http://blog.csdn.net

2017-05-12 11:24:23 1125

原创 深入java (类)构造函数和对象创建的内存分配

之前的文章总结了java一些较为常用的关键字,现在我们要进入到类里面,总结类的特征(其中包括了内存和构造函数,gc垃圾回收),java中类的继承和初始化顺序(会涉及到ClassLoader),java多态的深入,java抽象类、接口的深入理解和例子。今天从类开始。原创不易,转载请注明出处:http://blog.csdn.net/yabay2208从计算机原理角度初探java类对象使用的堆和栈j

2017-05-11 17:44:06 3099

原创 深入java String拼接和StringBuffer、StringBuilder(分析源码)

上一篇文章我们查看了《阿里巴巴Java开发手册》(四.OOP规则)第17条对String有进行说明,看了String的源码,也从内存的角度分析了字符串的拼接。这一篇文章接着上一篇的内容,分析String在连接的时候发生的内容、StringBuffer和StringBuilder的用法和源码。原创不易,转载请注明出处:http://blog.csdn.net/yabay2208阿里巴巴的文档规范(上

2017-05-10 17:48:18 1006 3

原创 深入java String JVM对String对象的连接优化 一(源码分析)

上一篇文章我们总结了final关键字需要注意的地方和JVM对final关键字的优化。我看《阿里巴巴Java开发手册》,发现(四.OOP规则)第17条对String有进行说明。这一篇文章分析一下String、StringBuffer和StringBuilder的用法和源码。原创不易,转载请注明出处:http://blog.csdn.net/yabay2208阿里巴巴的文档规范String使用以及源

2017-05-10 16:41:49 2183

原创 深入java final关键字 用法注意点和JVM对其进行的优化(例子)

上一篇文章我们总结了final关键字的基本用法和优点,这一篇文章我们继续深入,总结开发中遇到的使用final关键字需要注意的地方和JVM对final关键字的优化。我们用例子说明,原创不易,转载请注明出处:http://blog.csdn.net/yabay2208(按照Java代码惯例,final变量就是常量,而且通常常量名要大写:) - final关键字声明的static变量(属于类)必须在声

2017-05-06 07:57:46 4797

原创 深入java final关键字 基本用法、注意点和优点

本文讲解final的基本用法和里面的优缺点,原创不易,转载请注明出处 文章分为3部分,分别会给大家介绍final关键字对类,方法和变量的修饰所起到的作用,以及一些优点,对于缺点大家可以参考《JAVA编程思想》第四版 156页。final类及其优点final方法 及里面要注意的一些小点final数据和final自变量 及我们需要注意的一些点(下一篇文章再说) 一:final类及其优点如果我们用

2017-05-05 15:57:44 2488 2

原创 深入java static关键字 在继承场景中jvm类加载器对其进行的优化

上一篇文章我们说到了static关键字,可是本人觉得还不是很完整,现在补一篇文章举例说明static关键字对jvm类加载器的影响,这篇文章讲解了jvm对关键字static进行的优化。原创不易,转载请注明出处。1.当子类主动访问的时候,会引起其父类的初始化举一个例子:/** * @author yangwuyi */class Father{ static int age ; s

2017-05-04 17:44:14 1802

原创 深入java static关键字 浅析java类加载机制(解答java静态方法或变量无法访问非静态数据)

java和jvmstatic的用法和例子简析java类加载机制为何java中static静态数据无法访问非static数据,但是反过来却可以1.static用法和解析类中

2017-05-04 15:37:38 3803 3

原创 java堆栈,基本数据存储方式和Integer缓存造成的小小问题

java堆栈,基本数据存储方式和Integer缓存造成的小小问题一.基本类型 除(void(Void)八种):字符类型:char(Character) 布尔类型:boolean(Boolean) 整数类型 byte(Byte),short(Short),int(Integer),long(Long) 浮点类型 float(Float),double(Double)二.内存管理机制 (举int

2017-05-03 11:27:53 1515 3

空空如也

空空如也

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

TA关注的人

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