自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

happens-before

真正的安静来自于内心

  • 博客(29)
  • 资源 (1)
  • 收藏
  • 关注

原创 设计模式之抽象工厂模式

抽象工厂模式定义:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。包含的角色:AbstractFactory:抽象工厂ConcreteFactory:具体工厂AbstractProduct:抽象产品Product:具体产品类图:时序图:参考wiki:抽象工厂模式...

2020-05-08 12:11:01 119

原创 设计模式之工厂方法模式

工厂方法模式定义:工厂方法模式(Factory Method Pattern)又称为工厂模式,也叫虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphic Factory)模式,它属于类创建型模式。在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完成,即通过工厂...

2020-05-08 11:50:55 144

原创 设计模式之简单工厂模式

简单工厂模式定义:又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。包含的角色:Factory:工厂角色Product:抽象产品角色ConcreteProduct:具体产品角色类图:时序...

2020-05-08 11:28:24 104

原创 设计模式之中介者模式

中介者模式定义:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称为调停者模式,它是一种对象行为型模式。包含的角色:Mediator: 抽象中介者ConcreteMediator: 具体中介者Colleague: 抽象同事类ConcreteColleague: 具体同事类类图:...

2020-05-07 13:42:52 193

原创 设计模式之命令模式

命令模式定义:将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模式。包含的角色:Command: 抽象命令类ConcreteCommand: 具体命令类Invoker: 调用者Receiver: 接收者Clien...

2020-05-06 18:25:21 133

原创 设计模式之享元模式

享元模式定义:运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,它是一种对象结构型模式。包含的角色:Flyweight: 抽象享元类ConcreteFlyweight: 具体享元类UnsharedConcreteFlyweight: ...

2020-05-06 11:57:24 83

原创 设计模式之外观模式

外观模式定义:外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式又称为门面模式,它是一种对象结构型模式。包含的角色:Facade: 外观角色SubSystem:子系统角色类图:时序图:参考wiki: 外观模式...

2020-04-29 18:39:44 81

原创 设计模式之桥接模式

桥接模式定义:将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。包含的角色:Abstraction:抽象类RefinedAbstraction:扩充抽象类Implementor:实现类接口ConcreteImplementor:具体实现类类图:时序图:...

2020-04-28 18:46:20 93

原创 设计模式之代理模式

代理模式:定义:给某一个对象提供一个代 理,并由代理对象控制对原对象的引用。代理模式的英 文叫做Proxy或Surrogate,它是一种对象结构型模式。包含的角色:Subject: 抽象主题角色Proxy: 代理主题角色RealSubject: 真实主题角色类图:时序图参考wiki:代理模式...

2020-04-26 14:23:55 110

原创 设计模式之装饰者模式

装饰者模式定义:动态地给一个对象增加一些额外的职责(Responsibility),就增加对象功能来说,装饰模式比生成子类实现更为灵活。其别名也可以称为包装器(Wrapper),与适配器模式的别名相同,但它们适用于不同的场合。根据翻译的不同,装饰模式也有人称之为“油漆工模式”,它是一种对象结构型模式。包含的角色:Component:抽象构件ConcreteComponent:具体...

2020-04-23 19:23:53 79

原创 设计模式之适配者模式

适配器模式定义:将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可作为类结构型模式,也可以作为对象结构型模式。包含的角色:Target:目标抽象类Adapter:适配器类Adaptee:适配者类Client:客户类类图:对象适配器类图:类适配器类图时序图:参考wiki...

2020-04-21 18:40:00 135

原创 sentinel入门

https://app.yinxiang.com/shard/s56/nl/21102532/639ec1fd-d524-4cc8-b901-470ed2b24849

2019-10-13 21:16:58 137

原创 int与List类型转化

int与List类型转化Integer与ListInteger[] arrays = {1, 2, 3};List<Integer> listStrings = Stream.of(arrays).collect(Collectors.toList());Int与Listint[] arrays = {1, 2, 3};List<Integer> li...

2019-10-07 22:37:10 644

原创 ArrayList,Vector,LinkedList的区别

1.ArrayList和Vector都实现了List接口,都是通过数组实现的。 Vector是线程安全的(绝对多数方法时同步的synchronization),而ArrayList是非线程安全的。 List第一次创建的时候,会有一个初始大小,随着不断向List中增加元素,当List 认 为容量不够的时候就会进行扩容。Vector缺省情况下自动增长原来一倍的数组长度, ArrayL...

2018-07-23 16:52:08 538 2

原创 String,StringBuilder,StringBuffer的区别

1.String是不可变类,一旦被创建,其值不能改变。StringBuffer与StringBuilder是可改变的对象。 2.在执行效率方面:StringBuilder&gt;StringBuffer&gt;String 3.StringBuilder:线程非安全的.StringBuffer:线程安全的 当我们在字符串缓冲去被多个线程使用是,JVM不能保证StringBuilder的操作是...

2018-07-23 13:51:17 113

原创 JVM垃圾收集算法与垃圾收集器

一.如何判断对象是否存活GC动作发生之前,需要确定堆内存中哪些对象是存活的,一般有两种方法:引用计数法和可达性分析法。 1、引用计数法 在对象上添加一个引用计数器,每当有一个对象引用它时,计数器加1,当使用完该对象时,计数器减1,计数器值为0的对象表示不可能再被使用。 引用计数法实现简单,判定高效,但不能解决对象之间相互引用的问题。 2、可达性分析法 通过一系列称为 “GC Root...

2018-07-23 13:36:50 130

原创 Java内存模型

Java内存模型:Java虚拟机规范中将Java运行时数据分为六种。 1.程序计数器:是一个数据结构,用于保存当前正常执行的程序的内存地址。Java虚拟机的多线程就是通过线程轮流切换并分配处理器时间来实现的,为了线程切换后能恢复到正确的位置,每条线程都需要一个独立的程序计数器,互不影响,该区域为“线程私有”。2.Java虚拟机栈:线程私有的,与线程生命周期相同,用于存储局部变量表,操...

2018-07-23 13:13:59 134

原创 软师:数据库设计

数据库概念数据库的三级模式结构数据库的设计过程E-R模型数据库的完整性约束1.数据库的概念数据库(DB):数据库是指长期储存在计算机内的,有组织的,可以共享的数据集合。 数据库管理系统(DBMS):数据库管理系统是位于用户与操作系统之间的一层数据管理软件,是一个帮助用户建立,使用和管理数据库的软件系统,是数据库与用户之间的接口。 数据库系统(DBS):数据库系统是指在计...

2018-05-15 14:50:15 236

原创 设计模式之观察者模式

定义类型类图结构有趣的例子定义:定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。类型:行为类模式类图: 结构:在最基础的观察者模式中,包括以下四个角色:被观察者:从类图中可以看到,类中有一个用来存放观察者对象的Vector容器(之所以使用Vector而不使用List,是因为多线程操作时,Vec...

2018-05-15 13:12:15 97

原创 算法:abc的全排列

/*输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba*/#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;void Permutation(char *pstr,char *pbegin);void Permutati...

2018-04-25 13:42:44 2882

原创 设计模式之单例模式

定义特点要点常见问题定义单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。特点单例类只能有一个实例。单例类必须自己自己创建自己的唯一实例。单例类必须给所有其他对象提供这一实例。要点私有的构造方法指向自己实例的私有静态引用以自己实例为返回值的静态的公有的方法...

2018-04-16 16:00:53 99

原创 将两个递增的链表合并成一个递增的链表

输入两个单调递增的链表,输出2个链表合成后单调递增的链表。 代码 C语言://输入两个单调递增的链表,输出2个链表合成后单调递增的链表。#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;typedef struct Node{ int data; struct Node *next;}Link;Link * Crea...

2018-03-22 15:03:40 2913

原创 面试题:反转链表

代码,C语言//输入一个链表,反转链表后,输出链表的所有元素。 #include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;typedef struct Node{ int data; struct Node* next; } Link;Link* CreateLink(int a[]){ Link *head,*p,...

2018-03-22 13:25:32 144

原创 面试题:输入一个整数,输出该整数二进制中1的个数。

代码:C语言//输入一个整数,输出该整数二进制中1的个数。其中负数用补码表示。//左移运算符是用来将一个数的各二进制位全部左移若干位。相当于乘法运算,表示为"&lt;&lt;" //右移运算符是用来将一个数的各二进制位全部右移若干位。相当于除法运算,表示为"&gt;&gt;" #include&lt;stdio.h&gt;//整数与数字“1”进行与运算(&amp;)。低位到高位循...

2018-03-22 11:28:27 1822

原创 面试题:输入一个链表,输出该链表中倒数第k个结点。

直接上代码,希望大家喜欢。`//输入一个链表,输出该链表中倒数第k个结点。#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;typedef struct Node{ int data; struct Node* next;}Link; Link *createLink(int a[]){ Link *head;...

2018-03-21 21:36:20 2998

原创 详解JSP技术与Servlet技术

什么是Servlet,使用Servlet的优点。Servlet处理客户端请求的步骤。JSP的优点。JSP与Servlet的相同点与不同点。JSP其他知识点。什么是Servlet,使用Servlet的优点。什么是Servlet? Servlet是采用Java语言编写的服务器端程序,它运行于Web服务器中的Servlet容器中,其主要功能是提供请求/响应的Web服务模式,可以生...

2018-03-15 12:42:10 4171

原创 HashMap详解

HashMap的概述HashMap的数据结构及解决 hash冲突的方法HashMap源码分析:存储,读取,扩容HashMap的多线程不安全的原因HashMap的多线程不安全的解决方法HashMap的概述HashMap 是基于哈希表的 Map 接口的非同步实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。此类不保证映射的顺序,特别是它不保证该顺...

2018-03-13 16:05:21 191

原创 TCP/IP 三次握手详解

三次握手的定义三次握手的目的三次握手的过程为什么要进行三次握手,两次握手可以吗?&gt; 三次握手的定义三次握手(three times handshake;three-way handshake)所谓的“三次握手”即对每次发送的数据量是怎样跟踪进行协商使数据段的发送和接收同步,根据所接收到的数据量而确定的数据确认数及数据发送、接收完毕后何时撤消联系,并建立虚连接。为了提供可靠的...

2018-03-13 11:41:14 565

原创 Java 中值传递与引用传递的区别

由于Java取消了指针的概念,因此开发人员在编程中往往忽略了对象和引用的区别,如实例1package xupt.edu.java.com;public class TestRef{ public Obj aObj = new Obj(); private int aInt = 0; public Obj getAObj() { return ...

2018-03-11 22:18:40 193 1

2004-2011年软件设计师上午下午试题加答案

2004-2011年软件设计师上午下午试题加答案详尽,稍后我会整理2012年到2017年软件设计师上午下午试题加答案

2018-05-20

空空如也

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

TA关注的人

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