隐逸居

  • 首页

  • 标签

  • 分类

  • 归档

  • 关于

  • 搜索

设计模式之-工厂模式

发表于 2019-06-11 | 分类于 设计模式

基本概念

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。

阅读全文 »

设计模式之-装饰器模式

发表于 2019-06-11 | 分类于 设计模式

基本概念

装饰器模式,顾名思义起的是装饰的作用,就是在一个类上增加功能。如果通过继承来增加功能,在不修改代码的情况下,如果增加功能多的话,会使类的数量爆炸式增长,为管理带来巨大的麻烦。装饰器模式就比较好地解决了这一点。

阅读全文 »

设计模式之-策略模式

发表于 2019-06-11 | 分类于 设计模式

基本概念

在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。

阅读全文 »

设计模式之-观察者模式

发表于 2019-06-11 | 分类于 设计模式

基本概念

  • 观察者模式中,一个被观察者管理所有相依于它的观察者物件,并且在本身的状态改变时主动发出通知。这通常通过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统。
阅读全文 »

设计模式之-职责链模式

发表于 2019-06-11 | 分类于 设计模式

基本概念

  1. 什么是链
  • 链是一系列节点的集合。
  • 链的各节点可灵活拆分再重组。
  1. 职责链模式
  • 使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,
  • 将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。
阅读全文 »

大话设计模式

发表于 2019-06-11 | 分类于 设计模式

介绍

分类

总体来说设计模式分为三大类:

  • 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
  • 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
  • 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
    其实还有两类:并发型模式和线程池模式。
阅读全文 »

工具类🔧-Fastjson进阶使用

发表于 2019-06-10 | 更新于 2019-06-11 | 分类于 工具

fastjson用于将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。
主要就以下几点做个介绍

  • SerializerFeature特性的使用
  • JSONField与JSONType注解的使用
  • SerializeFilter
  • 泛型反序列化
  • fastjson各种概念
阅读全文 »

工具类🔧-Fastjson入门使用

发表于 2019-06-10 | 更新于 2019-06-11 | 分类于 工具

简介

什么是Fastjson?

fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。
Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景。
主要特点:
快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson)
强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum)
零依赖(没有依赖其它任何类库除了JDK)
开源,使用Apache License 2.0协议开源。
源码:https://github.com/alibaba/fastjson
wiki:https://github.com/alibaba/fastjson/wiki/Quick-Start-CN

阅读全文 »

Http请求-okhttp3

发表于 2019-06-06 | 更新于 2019-06-10 | 分类于 工具

简介

HTTP是现代应用常用的一种交换数据和媒体的网络方式,高效地使用HTTP能让资源加载更快,节省带宽。OkHttp是一个高效的HTTP客户端,它有以下默认特性:

  • 支持HTTP/2,允许所有同一个主机地址的请求共享同一个socket连接
  • 连接池减少请求延时
  • 透明的GZIP压缩减少响应数据的大小
  • 缓存响应内容,避免一些完全重复的请求

源码:https://github.com/square/okhttp
说明:OkHttp支持Android 2.3及以上版本Android平台,对于Java, JDK1.7及以上。
当网络出现问题的时候OkHttp依然坚守自己的职责,它会自动恢复一般的连接问题,如果你的服务有多个IP地址,当第一个IP请求失败时,OkHttp会交替尝试你配置的其他IP,OkHttp使用现代TLS技术(SNI, ALPN)初始化新的连接,当握手失败时会回退到TLS 1.0。

阅读全文 »

Kafka生产者发送消息的三种方式

发表于 2019-05-31 | 更新于 2019-06-05 | 分类于 组件

介绍

Kafka是一种分布式的基于发布/订阅的消息系统,它的高吞吐量、灵活的offset是其它消息系统所没有的。

三种方式

Kafka发送消息主要有三种方式:

  • 发送并忘记
  • 同步发送
  • 异步发送+回调函数
阅读全文 »
1…345

feifuzeng

45 日志
19 分类
38 标签
GitHub E-Mail
© 2020 feifuzeng
由 Hexo 强力驱动 v3.8.0
|
主题 – NexT.Mist v7.1.1