• 等级
  • 416688 访问
  • 91 原创
  • 4 转发
  • 12588 排名
  • 77 评论
  • 246 获赞

ThreadLocal

我们知道线程也是一个「对象」,当线程这种对象想为我们提供一个「可以存取我们自定义变量的功能时」,来看下它是怎么做的。

2018-06-05 16:46:01

观察者模式 Observer Pattern

父博文地址:设计模式-DesignPatterns一、是什么定义:观察者模式定义了对象之间的「一对多依赖」,当一的对象改变时,它所有的依赖者都能够收到通知。行为:一对多依赖中,「一」的一方保存所有「多」的一方的实例。二、实例1.类图的实现Subject和ConcreteSubjectpublicinterfaceSubject{...

2018-05-27 13:23:59

装饰者模式 Decorator Pattern

一、是什么问题使用继承是静态的扩展:随着系统功能增多造成了类数量指数级增加。且基类的功能并不适用于所有子类。寻找一个设计模式原则开闭原则:类应该对扩展开放,对修改关闭。换句话说:在不修改类的前提下扩展类。装饰者模式定义动态的将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。类图如下:二、问答AbstractDecorator...

2018-05-27 08:46:53

工厂方法 Factory Method

父博文地址:设计模式-DesignPatterns一、是什么?作用当我在超类中写操作产品的业务逻辑,而想把创建产品的行为推迟到子类时,我可以使用工厂方法。将客户(超类中的业务代码)和具体创建对象的代码解耦。行为工厂方法利用继承,把创建对象的工作推迟到子类(在子类覆盖工厂方法创建对象)。二、实例上面类图的实现Creator代码:pub...

2018-05-20 14:09:55

抽象工厂 Abstract Factory

父博文地址:设计模式-DesignPatterns一、是什么?作用:当我需要创建一个产品家族(很多产品)时,我可以使用抽象工厂。客户通过抽象接口来创建产品家族,而不需要知道实际产出的具体产品类型。实现了解耦客户和具体产品。行为定义一个抽象工厂接口,每个抽象工厂的子类都能创建所有产品家族的产品。二、实例上面类图的实现其它代码就不给了按照...

2018-05-20 13:49:17

简单工厂 Simple Factory

父博文地址:设计模式-DesignPatterns一、是什么?简单工厂(通常也被称为“工厂模式”)并不属于GoF的23个设计模式,是另外的一个被广泛运用的设计模式。作用:分离客户和实际创建对象的代码。行为:将创建对象的代码搬到一个新的类-称为简单工厂类,提供成员方法或静态方法根据传入参数来创建不同产品。二、实例简单工厂类更多时候会使用static而不是...

2018-05-19 22:53:50

全角和半角

一、是什么?「全角」和「半角」是指计算机中CJK字符的显示格式。(读完全文就可知,这是个不算太严谨但可以稍加补充解释,就能严谨的定义)字符存储空间在计算机字符被设计时,西方字符,例如拉丁字母、符号和数字都被归位到了「1字节」所能表示的「256」个空间中,这表现在「ASCII」字符集和「ISO-8859-1」字符集中。因此,这些字符也被称为:SBCS(SingleByteCh...

2018-05-12 23:31:57

为什么我们需要Spring Framework ?

一、为什么我们需要SpringFramework?1.从J2EE说起1998年Sun公司发表JDK1.2时,分别发表了标准版-J2SE、企业版-J2EE、微型版-J2ME。J2EE诞生。2005年JavaOne大会上Sun公布了JDK1.6,J2XX全部改名为JavaXX,J2EE改名为JavaEE。2018年3月,Eclipse基金会将Java...

2018-04-07 20:04:08

设计一个RESTful 规则

一、什么是RESTful历史RoyThomasFielding(菲尔丁)是HTTP协议的主要作者之一。它在2000年于加州大学艾尔文分校所做的博士毕业论文ArchitecturalStylesandtheDesignofNetwork-basedSoftwareArchitectures中,描述了一种称为REST的网络软件架构风格,目的是方便不同软件在网络中互相传递消息

2018-03-23 11:45:36

Apache Kafka 简介与使用

KafkaApacheKafkaisadistributedstreamingplatform.Ithasthreekeycapabilities:可以使你能pub/substreamsofrecords.从这方面看,它很像一个消息队列。使你可以存储streamsofrecordsinafalut-tolerant(容错的)way.可

2017-07-05 22:27:56

单例模式 - Singleton Patterns

单例模式是最容易理解的设计模式。道理简单,不过如何写出一个“正确”的单例模式一开始并不简单。Talkischeap.Showmethecode.

2017-04-23 20:21:16

Git 常用配置

一、SSH首先要明白,Git和SSH的关系是:Git使用了SSH协议构建一个安全传输通道。SSH协议大体是这样运作的:SSH下的Client发起对Server的TCP连接成功后,Server会首先向Client出示自己的身份信息,在Client操作信任后进入下一步。接着双方会协商生成一个对称密钥,用于加密本次会话其后所有传输的数据。最后Server需要对Cl...

2017-04-14 15:40:44

多媒体-声音

1.声音信号声音是由于物体震动而产生的一种连续的波,称为声波。声波在时间和幅度上都是连续的模拟信号,称为模拟声音信号。声音=声波=模拟声音信号声音=声波=模拟声音信号//TODO音波图声音信号的两个基本参数是:幅度和频率;幅度:指声波的振幅,通常用声压级表示,计量单位为分贝(dB);频率:指声波每秒变化的次数,用Hz表示。人耳能听到的频率范围

2017-03-14 23:27:31

WEB即时通讯/消息推送

写在前面通常进行的Web开发都是由客户端主动发起的请求,然后服务器对请求做出响应并返回给客户端。但是在很多情况下,你也许会希望由服务器主动对客户端发送一些数据。那么,该如何实现这个需求,或者说该如何向网页推送消息呢?一、推送方式我们知道,HTTP/HTTPS协议是被设计基于“请求-相应”模型的,尽管HTTP/HTTPS可以在任何互联网协议或网络上实现,但这里我们只讨论在Inte

2017-03-09 22:12:04

Redis 主从、哨兵Sentinel、Jedis

上篇说到了Redis安装、运行现在记录一下,Redis主从复制的配置一、配置在Master上修改redis.conf//不想用密码,所以把保护模式设置为noprotected-modeno//其实master上不需要配置什么,这里只是取消了保护模式在Slave1和Slave2上修改redis.conf//同样关闭保护模式protected-moden

2017-02-15 15:52:48

代理模式 - Proxy Patterns

本篇的父博文是:设计模式-DesignPatterns代理模式ProxyPatterns一、意义DesignPatterns一书中对代理模式的整体描述是这样一句话。Provideasurrogateorplaceholderforanotherobjecttocontrolaccesstoit.代理模式为其它对象提供一个代理,

2016-12-31 00:01:03

Eclipse - git全局ignore

一直在烦恼设置不好git的全局ignore,导致那么多项目需要一个一个的添加ignore文件。今天终于发现原来是我设置的有问题,下面附上正确设置:打开Preferences->Team->Git->Configuration就是设置一个用户配置文件,位置随意;.gitconfig内容[user]name=xxxemail=xxx@xxx.com[co

2016-11-18 20:18:17

Nginx简介、安装

其实网上已经有很多教程了,这里只是作为自己一个正确操作的记录,并加入一点更加人性化的解释使的过程更好理解;一、Nginx简介Nginx读作“EngineX”,是一个高性能且轻量级的HTTP和反向代理服务器,也是IMAP/POP3/SMTP服务器。Nginx是由IgorSysoev为俄罗斯访问量第二的Rambler.ru(漫步者)站点开发的:Nginx的源代码是以类

2016-10-08 15:54:34

哈希表、Java中HashMap

哈希算法,是一类算法;哈希表(HashTable)是一种数据结构;哈希函数,是支撑哈希表的一类函数;Map是映射、地图的意思,在Java中Map表示一种把K映射到V的数据类型;HashMap是Java中用哈希数据结构实现的Map;一、Hash算法1.是什么?查词典先来看英语翻译:hash英[hæʃ]美[hæʃ]n.剁...

2016-08-05 01:24:46

再看JavaEE

一年前刚开始写博客时写了篇《JavaEE总论》,又工作了一年,今天无意间回过头来看到这篇文章颇有些感慨,感觉对一个事物的认识一定是一个渐进的过程,每过一段时间就会有一些新的认识。今天就是这样,有一些新的认识想写下来分享给大家。再看JavaEE来到Oracle官网,进入JavaEE菜单,如下图:可以看到,选项卡依次是:综述、下载、文档、社区、技术、练习。这其中:技术:这个里面是所有的Ja

2016-06-25 17:43:37

有且仅有

You gotta be a fool to believe that will work!
关注
  • 互联网·电子商务/Java研发工程师
  • 中国 北京 海淀区