自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java设计模式-门面模式

名词解释Provide a unified interface to a set of interfaces in a subsystem. Facade Pattern defines a higher-level interface that makes the subsystem easier to useFacade Pattern又叫外观模式,提供一个统一接口或者类,用来访问子系统中的一系列接口,其主要特征是定义一个高层接口,让子系统更加容易使用,属于结构型模式应用场景门面模式主

2021-02-24 00:43:27 227

原创 java设计模式——建造者模式

名词解释Builder Pattern将一个复杂对象的构建过程与它的表示分离,使得同样的构建过程可以创建不同的表示,属于创建型模式。使用建造者模式对于用户而言只需要指定需要建造的类型和内容就可以获得对象,建造过程及细节不需要了解,其根本目的是解耦过程和部件。适用场景适用于创建对象需要很多步骤,且步骤的顺序不一定固定。为了达到灵活创建对象的目的,可以使用建造者模式。另外,如果采用链式编程的写法,也可以是代码更简洁一些。写法创建一个静态内部类 Builder,然后将所用参数从外部类copy到

2021-02-24 00:01:37 91

原创 金山词霸划译功能对IDE的影响

金山词霸的划译功能对IDE的影响导致IDEA环境下多线程的协调问题之前遇到过,在idea下测试 JUC 的 CyclicBarrier 用法,导致程序运行混乱,循环栅栏的循环功能,在计数时出现错误。导致SpringBoot启动异常结束Process finished with exit code -1073741819 (0xC0000005)解决办法 关闭金山词霸的屏幕划译功能,可能需要重启IDE。...

2020-06-17 23:53:34 285

原创 关于String#intern()的几个知识点

参考文章: 美团技术团队《深入解析String#intern》 关于String#intern()的几个知识点jdk1.6和之后的HotSpot的差异jdk1.6将字符串常量池放在堆的Perm(永久区)中,Perm是和堆完全隔离的区域,所以这种情况下,String#intern()和new String()得到的是两个不同空间的对象,自然也就不相同了。另外Perm的大小是有限的,默认只...

2019-11-27 17:52:53 141

原创 Synchronized锁升级

HotSpot中Mark Word存储存储内容标志位是否偏向锁定状态hash码、分代年龄010未锁定偏向锁线程ID、偏向时间戳、对象分代年龄011偏向锁指向偏向锁的指针00轻量级锁定指向重量级锁的指针10膨胀(重量级锁)空,不需要记录信息11GC标记升级偏向锁(偏向锁的撤销)升级的条件当一个线程在获得锁的时...

2019-11-26 17:26:13 168

转载 JVM概述

本文引用自:http://www.imooc.com/article/295921这里仅仅记录了一些笔者认为需要重点掌握的 JVM 知识点,如果你想更加全面地了解 JVM 底层原理,可以阅读周志明老师《深入理解 Java 虚拟机 ——JVM 高级特性与最佳实践 (第 2 版)》全书。一、JVM 内存结构Java 虚拟机的内存空间分为 5 个部分:程序计数器Java 虚拟机栈本地方法栈...

2019-11-26 12:13:57 371

原创 Mysql体系结构

1.Mysql基本结构体系MySql从概念上分为四层:网络连接层服务层(核心层)存储引擎层系统文件层1.1网络连接层接入方 支持协议很多。主要负责连接管理、授权认证、安全等等。每个客户端连接都对应着服务器上的一个线程。服务器上维护了一个线程池,避免为每个连接都创建销毁一个线程。当客户端连接到MySQL服务器时,服务器对其进行认证。可以通过用户名与密码认证,也可以通过SSL证书...

2019-11-21 15:18:51 253

原创 idea不能用外部的maven,只能使用内部自带的maven

idea只能使用自带的maven,不能用外部的maven进行reimportidea版本为 2019.2.2,其自带的maven是3.0,我自己下载的maven版本是3.6.2,当换成外部的3.6.2包时,始终下载不了中央仓库的jar包,后来换成3.6.0版本解决问题。maven 3.6.0 的发布时间早与idea 2019.2.2...

2019-09-12 11:28:59 5640 1

原创 java设计模式——装饰者模式

名词解释Decorator Pattern指在不改变原有对象的基础之上,动态给一个对象添加一些额外的职责,提供了比继承更有弹性的替代方案(扩展原有对象的功能),属于结构型模式。应用背景我们通常可以使用继承来实现功能的拓展,如果这些需要拓展的功能的种类很繁多,那么势必生成很多子类,增加系统的复杂性,同时,使用继承实现功能拓展,我们必须可预见这些拓展功能,这些功能是编译期就确定了,是静态的...

2019-08-22 16:37:40 122

原创 java设计模式——观察者模式

名词解释Observer Pattern(又叫发布订阅模式)定义了对象之间的一对多依赖,让多个观察者对象同时监听一个主体对象,当主体对象发生变化时,它的所有依赖者(观察者)都会收到通知并更新,属于行为型模式。写法JDK自带以订阅报纸为例,当人们订阅了报纸后,只要有新的报纸一发布,订阅了该报纸的人就能立即受到通知。报纸 Newspaper 类:public class Newspa...

2019-08-21 16:48:03 174

原创 java设计模式——适配器模式

名词解释Adapter Pattern将两个不兼容的类纠合在一起使用,属于结构型模式,需要有Adaptee(被适配者)和Adaptor(适配器)两个身份应用背景我们经常碰到要将两个没有关系的类组合在一起使用,第一解决方案是:修改各自类的接口,但是如果我们没有源代码,或者,我们不愿意为了一个应用而修改各自的接口。 怎么办?使用Adapter,在这两种接口之间创建一个混合接口(混血儿)....

2019-08-20 15:24:35 121

原创 java设计模式——委派模式

名词解释Delegate Pattern进行任务的调度和分配,属于行为型模式委派模式跟代理模式很像,可以看做是一种特殊情况下的静态代理的全权代理,但是代理模式注重过程,而委派模式注重结果。委派模式不属于23种经典设计模式以 Delegate 结尾或者以 Dispatcher 开头的类,通常都是策略模式写法简单写法简单的写法,就是直接从委派模式的含义出发,让一个委派者来决定要将任...

2019-08-20 13:40:00 229

原创 java设计模式——模板模式

名词解释Template Method Pattern,又叫 模板方法模式指定义一个算法的骨架,并允许子类为一个或者多个步骤提供实现。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤,属于行为性设计模式适用场景一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现。各子类中公共的行为被提取出来并集中到一个公共的父类中,从而避免代码重复实现思路为了达...

2019-08-20 13:37:40 95

原创 java设计模式——工厂模式

介绍由一个地方(工厂)来统一创建对象,保证创建对象的统一性,更符合标准化编程的思想简化调用逻辑分类简单工厂优点简单,一个类就能直接返回所需要的所有的,根据不同参数就可以创建不同对象缺点违背开闭原则,不利于创建复杂的对象,不利于扩展工厂方法只定义一个创建对象的 接口 ,将具体的创建过程移交给具体的实现类优点符合开闭原则,提高了系统的扩展性缺点类的个数容易过多,多了之后对调...

2019-08-20 13:36:08 121

原创 java设计模式——策略模式

名词解释Strategy Pattern定义一系列算法,把它们一个个封装起来,并且使它们之间可以互相替换,此模式让算法的变化不会影响到使用算法的用户应用场景系统中有很多类,而他们的区别仅仅在于他们的行为不同一个系统需要动态地在几种算法中选择一种写法策略模式的写法很简单,其实就是先定义一个接口,然后让不同的算法来分别实现接口,这样在调用算法的地方,直接选择不同的算法实现类就可以...

2019-08-20 13:35:00 155

原创 java设计模式——代理模式

名词解释代理模式(ProxyPattern)是指为其他对象提供一种代理,以控制对这个对象的访问。代理对象在客服端和目标对象之间起到中介作用。代理模式属于结构型设计模式。使用代理模式主要有两个目的:一保护目标对象,二增强目标对象。写法分类静态代理先定义一个接口Dancerpublic interface Dancer { void dance();}现在有个 S...

2019-08-14 13:17:48 216

原创 java设计模式——原型模式

名词解释Prototype Pattern是指原型实例指定创建对象的种类,并且通过拷贝这些原型的属性和值来创建新的对象。应用场景类初始化消耗资源较多。new 产生的一个对象需要非常繁琐的过程(比如数据准备、访问权限等)构造函数比较复杂。循环体中生产大量对象时。写法简单写法常规的简单写法是先定义一个接口public interface Prototype{ Pr...

2019-08-12 23:32:00 168

原创 java设计模式——单例模式

名词解释保证一个类在任何情况下都绝对只有一个事例,要隐藏所有的构造方法常见用例servletContextservletConfigApplicationContextDBPool写法分类饿汉式以空间换时间,不存在线程安全问题缺点:在类初始化的时候就已经创建了对象,浪费资源写法1:public class HungrySinglton { private ...

2019-08-12 19:16:48 120

原创 设计模式七大原则

开闭原则Open-Closed Principle OCP最基础的原则,对扩展开放,对修改关闭强调的是 用抽象构建框架,用实现扩展细节 ,可以提高软件系统的可复用性和可维护性依赖倒置原则Dependence Inversion Principle, DIP程序要依赖于抽象接口,不要依赖于具体实现。通过抽象,使得各个类或者模块不互相影响,实现松耦合,实际上就是依赖注入,而注...

2019-08-12 14:51:04 99

空空如也

空空如也

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

TA关注的人

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