• 等级
  • 368677 访问
  • 91 原创
  • 4 转发
  • 12152 排名
  • 70 评论
  • 211 获赞

ThreadLocal

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

2018-06-05 16:46:01

观察者模式 Observer Pattern

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

2018-05-27 13:23:59

装饰者模式 Decorator Pattern

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

2018-05-27 08:46:53

工厂方法 Factory Method

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

2018-05-20 14:09:55

抽象工厂 Abstract Factory

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

2018-05-20 13:49:17

简单工厂 Simple Factory

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

2018-05-19 22:53:50

全角和半角

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

2018-05-12 23:31:57

为什么我们需要Spring Framework ?

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

2018-04-07 20:04:08

设计一个RESTful 规则

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

2018-03-23 11:45:36

Apache Kafka 简介与使用

Kafka Apache Kafka is a distributed streaming platform. It has three key capabilities: 可以使你能pub/sub streams of records. 从这方面看,它很像一个消息队列。 使你可以存储streams of records in a falut-tolerant(容错的) way. 可

2017-07-05 22:27:56

单例模式 - Singleton Patterns

单例模式是最容易理解的设计模式。道理简单,不过如何写出一个“正确”的单例模式一开始并不简单。Talk is cheap. Show me the code.

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 // 不想用密码,所以把保护模式设置为no protected-mode no // 其实master上不需要配置什么,这里只是取消了保护模式 在Slave1和Slave2上修改redis.conf // 同样关闭保护模式 protected-mode n

2017-02-15 15:52:48

代理模式 - Proxy Patterns

本篇的父博文是:设计模式 - Design Patterns 代理模式 Proxy Patterns 一、意义 Design Patterns 一书中对代理模式的整体描述是这样一句话。 Provide a surrogate or placeholder for another object to control access to it. 代理模式为其它对象提供一个代理,

2016-12-31 00:01:03

Eclipse - git全局ignore

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

2016-11-18 20:18:17

Nginx简介、安装

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

2016-10-08 15:54:34

哈希表、Java中HashMap

哈希算法,是一类算法; 哈希表(Hash Table)是一种数据结构; 哈希函数,是支撑哈希表的一类函数; 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 be lieve that will work! ...展开 收起
关注
  • 互联网·电子商务/Java研发工程师
  • 中国 北京 海淀区