自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 HeadFirst:设计模式-设计模式使用、及剩余其他模式

一、模式模式的定义:模式是在某情景下,针对某问题的某种解决方案。模式的分类:根据模式的目标分为三类:创建型、行为型、和结构型。按模式处理的是类还是对象分为:类模式、对象模式。模式的缺点:设计模式常常产生一些额外的类和对象,所以会增加设计的复杂度。警告:过度使用设计模式可能导致代码被过度工程化,应该用最简单的解决方法完成工作。二、剩余的其他模式桥接模式(Bridge Pattern)使用桥接模式,不只改变你的实现,也改变你的抽象。生成器模式(Builder

2020-06-28 22:41:54 233

原创 HeadFirst:设计模式-复合模式

一、复合模式的使用模式通常被一起使用,并被组合在同一个设计解决方案中。复合模式定义:复合模式在一个解决方案中结合两个或多个模式,以解决一般或重复发生的问题。二、MVC模式MVC,mode(模型)、view(视图)、controller(控制器)分别是mvc的三个部分。使用mvc模式,目的是为了解耦,各模块部分只需要处理相应的内容。视图层主要是页面处理展示,控制器层是http请求调用的接口,负责接收请求以及进行转发到具体的业务处理层(即模型层),模型层是具体的业务逻辑处理以及操作数据库

2020-06-27 09:34:57 258

原创 HeadFirst:设计模式-状态模式,代理模式

一、状态模式1.模式定义状态模式:允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。

2020-06-15 23:16:06 185

原创 HeadFirst:设计模式-模板方法模式,迭代器模式,组合模式

一、模板方法模式1.模板方法模式模板方法模式:在一个方法中定义一个算法的股价,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。模板是一个方法,这些方法将算法定义成一组步骤,其中任何步骤可以是抽象的,由子类负责实现。这样可以确保算法结构保持不变,同时子类提供部分实现。算法中某部分内容是可选的,就用钩子,子类 可以选择实现这个钩子。2.设计原则好莱坞原则:别调用(打电话给)我们,我们会调用(打电话给)你。该设计原则的大意是:

2020-06-08 23:45:20 148

原创 使用Array.asList()遇到异常 java.lang.UnsupportedOperationException

使用Arrays.asList()遇到的坑1.使用Arrays.asList()的坑1)使用Arrays.asList()将数组转化为List列表进行操作出现异常出现 java.lang.UnsupportedOperationException直接使用Arrays.asList将数组转化为List, 对List进行操作(remove, set,add等方法)时,会出上述抛异常2)出现异常原因因为Arrays下的ArrayList是位于java.util.arrays.ArrayList, 而

2020-06-04 20:47:27 317

原创 使用subList遇到的坑

List中的sublist方法遇到的坑1.使用subList()遇到的坑1)进行代码说明2)结论说明1.使用subList()遇到的坑对使用sublist()获取到的子List集合进行操作会影响原来的List集合的数据java中通过对原List进行截取获取子List, 对子List的操作会影响原List, 比如,操作包括对子List的删除元素(remove),添加元素(add),修改元素(set)等操作。1)进行代码说明下面进行代码说明//创建原列表 List<String&g

2020-06-04 20:37:53 1121

原创 HeadFirst:设计模式-命令模式,适配器模式,外观模式

1.模式定义命令模式:将“请求”封装为对象,以便使用不同的请求,队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。命令模式将发出请求的对象和执行请求的对象解耦。调用者通过调用命令对象的execute()发出请求,这会使得接收者的动作被调用。2.适配器模式适配器模式:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。将一个类或多个类的接口编程客户所期望一个接口。适配器模式包含两种:类适配器,对象适配器,分别对应继承,组合实现。

2020-05-31 15:23:32 402

原创 HeadFirst:设计模式-单例模式

1.单例模式(Singleleton Pattern) 模式介绍 单例模式是非常常见的设计模式,有一些对象,我们只需要一个,比如下面这些使用场景:线程池(threadpool)、缓存(cache)、日志对象等 模式定义 单例模式:确保一个类只有一个实例,并提供一个全局访问点。单例模式要求只能有一个实例,所以它的构造方法是私有的方法,及private类型的构造方法。构造方法是私有类型,只能在该类中创建实例。所以单例模式提供一个静态方法去创建一个对象。2.基本实现思路单例

2020-05-25 23:03:11 151

原创 HeadFirst:设计模式-工厂模式

1.模式定义工厂方法模式:定义了一个创建对象的接口,由子类决定要实例化的类是哪一个,工厂方法让类把实例化推迟到子类。抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。2.设计原则新的设计原则依赖倒置原则:要依赖抽象,不要依赖具体类。这个很像“针对接口编程,不针对实现编程”,这里强调抽象,不能让高层组件依赖低层组件。目前的设计原则:多用组合,少用继承 针对接口编程,不针对实现编程 为交互对象之间的松耦合努力 类应该对扩展开发,对修改关

2020-05-25 21:25:42 143

原创 HeadFirst:设计模式-装饰者模式

1.设计原则开放-关闭原则类应该对扩展开放,对修改关闭。这样的目的:允许类容易扩展,在不修改现有代码的情况下,搭配新的行为。这样的设计具有弹性可以应对改变,可以接受新的功能来应对改变的需求。到目前的设计原则封装变化的部分 多用组合,少用继承 这对接口编程,不针对实现编程 为交互对象之间的松耦合设计而努力 对扩展开放,对修改关闭2.模式介绍装饰器模式:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。3.实际应用java的i/o使用装

2020-05-17 21:37:35 141

原创 HeadFirst:设计模式-观察者模式

1.观察者模式概念简单介绍报社的业务是出版报纸,用户向该报社订购报纸,只要报社有新报纸出版,就会给你送来,一直收到新报纸。当你不想再看报纸时,取消订阅,就不会送来新报纸。出版者+订阅者=观察者模式观察模式与出版者,订阅者类似,出版者改称为“主题”(Subject),订阅者改称为“观察者”(Obserber)。观察者模式定义了对象之间的一对多依赖,当一个对象改变时,它的所有依赖者都会收到通知并自动更新。主题和观察者定义了一对多的关系,观察者依赖于此主题。实际编程中Subject

2020-05-17 21:19:20 247

原创 HeadFirst:设计模式-策略模式

从去年大学毕业,到今年也快一年了。但是自己的编码能力还是比较差。在工作中完成开发任务的质量不是那么高,一些问题自己也没有好的思路,同时也意识到设计模式,设计理念的重要性,也打算将设计模式的相关内容再进行学习,从而提高自己的开发能力。1.设计原则将应用中变化的部分提取出来,进行封装 针对接口编程,而不是针对实现编程 多用组合,少用继承将应用中变化的部分提取出来,进行封装,减少对整理的影响。针对接口编程,接口指的不仅是java中的接口interface, 它指的是超类型。多用组合,少用继承

2020-05-10 21:18:01 193

转载 23种设计模式概述

转载自其他博客。(转载):https://www.cnblogs.com/Leo_wl/p/6067267.html根据设计模式的参考书 中所提到的,总共有 23 种设计模式。这些模式可以分为三大类:创建型模式(Creational Patterns)、结构型模式(Structural Patterns)、行为型模式(Behavioral Patterns)创建型模式这些设计模式...

2019-03-11 17:50:14 222

转载 Java中BufferedReader和Scanner的对比

Scanner 和BufferedReader同样能实现将键盘输入的数据送入程序1.BufferedReader对象只将回车看作输入结束,得到的字符串; 2.BufferedReader是字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取!速度要比Scanner快!而且也可以设置缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。 3.BufferedRe...

2018-09-01 10:22:53 379

原创 HashMap知识点小总结

HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。HashMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。HashMap 的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。HashMap 的实例有两个参数影响其性能:...

2018-08-17 22:34:03 224

转载 Java中list集合中删除方法的总结

这个博客转自https://blog.csdn.net/k_c123456/article/details/78465825本人觉得他的博客写得很有用,所以特别转载一下。在这次做项目时,在list集合中删除部分元素的时候发现了一些问题,在博客中找到下面的这篇博客,感觉很有用。印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现...

2018-08-17 22:25:13 2571

原创 电话面试题1

1.hashmap底层实现,它的数据结构是什么。2.三次握手,四次挥手过程。3.cookie和session的区别。4.servlet的一次完整的访问流程。5.springMVC的一次完整流程。6.spring的IOC,AOP概念过程。7.代理模式是什么。8.mysql的搜索引擎有哪些,它们之间有哪些区别(Innodb,mysam)(被问到mvcc是什么,自己挖的坑,实...

2018-08-13 10:58:21 214

转载 Redis缓存介绍

 http://blog.csdn.net/guchuanyun111/article/category/6335900   (1)什么是redis?Redis 是一个基于内存的高性能key-value数据库。(2)Reids的特点Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据fl...

2018-08-13 10:36:13 404 1

空空如也

空空如也

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

TA关注的人

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