工厂方法模式 先看问题: 业务场景:需要实现一个复杂的计算器,计算器包含3个菜单:标准计算器模式,科学计算器模式,程序员计算器模式。 其中标准计算器模式能够进行: 加法,减法,乘法运算 科学计算器模式能够进行: 根号,对数,幂运算 程序员计 … 继续阅读 设计模式之工厂方法
月份:2018年12月
设计模式之简单工厂
简单工厂(Simple Factory) 先看问题(form 《大话设计模式》): 业务场景,需要实现一个计算器,能够简单的实现加、减、乘、除 首先,按照正常的代码来写: //定义工具类: public class OperationUti … 继续阅读 设计模式之简单工厂
简单总结面向对象设计原则之SOLID
面向对象设计原则 面向对象设计原则比较出名的便是SOLID,分别是SRP,OCP,LSP,ISP,DIP 其实设计模式最主要的便是想要在各个情况下使代码始终遵循上面的面向对象设计原则,因此在学习设计模式之前一定要清楚各个设计原则的重点,为什 … 继续阅读 简单总结面向对象设计原则之SOLID
简单了解 JavaAgent
某天,在使用不正当途径激活我的IDEA编辑器的时候,发现最后一步需要在idea的启动项配置文件中添加一个参数:-javaagent xxxx.jar 然后我的IDEA就成功激活了,-javaagent是什么? javaagent javaa … 继续阅读 简单了解 JavaAgent
简单总结Java对象在虚拟机中的创建过程
Java 对象在虚拟机中的创建过程 首先总结一张图: 可以看到还是比较复杂的。 这里简单总结下,具体的细节以后再分析: 在new 一个对象的时候,会发生如下操作: 首先是类加载,类加载会在Class第一次被引用的时候加载,类加载分为三个大部 … 继续阅读 简单总结Java对象在虚拟机中的创建过程
设计模式读书笔记:绪
绪: 大体看了一下《大话设计模式》和《Head First 设计模式》先写写感想,然后以此为开篇写读书笔记。 为什么要有设计模式? 其实,最主要的原因便是,对于软件来说,需求是会一直变化的,扩展功能,增加逻辑等,都会导致我们再次编辑原本写好 … 继续阅读 设计模式读书笔记:绪
堆和栈的区别
堆与栈 关于堆和栈的问题,对于熟悉C++的同学来说可能理解的比较清楚,但是由于Java的一切对象都是在堆上,因此有时候可能反而会比较迷惑,比如: 为什么要分堆和栈? 堆和栈的区别是什么? 为什么堆是线程共享的而栈不是? 很多懂一点Java的 … 继续阅读 堆和栈的区别
Java中奇怪的泛型
一般的类和方法,只能使用具体的类型,要么是基本类型,要么是自定义的类。如果要编写可以应用多中类型的代码,这种刻板的限制对代码得束缚会就会很大。 —《Thinking in Java》 泛型大家都接触的不少,但是由于Java 历史 … 继续阅读 Java中奇怪的泛型
Java内部类?
可以将一个类定义在另一个类或方法中,这样的类叫做内部类 –《Thinking in Java》 说起内部类,大家并不陌生,并且会经常在实例化容器的时候使用到它。但是内部类的具体细节语法,原理以及实现是什么样的可以不少人都还挺陌生 … 继续阅读 Java内部类?