自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 future 实现分析

future异步回调的实现:本地持有线程池调度的callable和运行的thread的引用,内部持有任务执行状态和任务获取的观察者future内部持有的状态如下说明/**The run state of this task, initially NEW. The run statetransitions to a terminal state only in methods set,...

2019-12-05 00:28:58 161

原创 java 服务器 cpu负载过高原因汇总

cpu 负载:

2019-08-26 09:08:06 2598

原创 关于java8 stream中需要使用final变量的思考

关于java8 stream中需要使用final变量的思考关于final的使用final 变量final 方法final 类关于不能使用final的解释关于final的使用final 变量final 限制的变量可以是基础数据类型和引用数据类型基本数据类型:内容不可变引用数据类型:引用的指向不可变,执行的对象的值可以改变。例如public static void main(String[...

2019-08-24 15:40:49 7040

原创 spring @Transactional 使用注意事项

1.纯操作本地db,不能够包含一些rpc服务调用,会增加占用数据库连接和行锁的占用时间 2.不能有类似redis这种不存在事务的存储模型的修改操作和耗时的查询操作,事务回归不会处理它们,查询耗时也会加剧数据库的消耗...

2018-05-16 18:32:43 390

原创 spring3.x ajax跨域问题解决方案

1.自定义个filter用来接收options 确认请求 并在response中设置相关参数import org.apache.commons.httpclient.HttpStatus;import javax.servlet.*;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.Http...

2018-04-26 18:32:07 1502

原创 jvm学习总结-垃圾回收

针对垃圾回收本文将从下面四个个方面进行总结: 1.对象存活判定 2.对象分代 3.垃圾回收算法 4.jvm 主流垃圾回收器简介 注:本文中提及的对象没有特殊说明一律值得是堆中的对象 一. 对象存活判定 判定对象存活的依据是是否有引用指向该对象。寻找对象的引用有两种方式:引用计数法和可达性判定引用计数法:每个对象绑定一个引用计数器,当对象被引用计数器加一,当

2018-02-03 16:11:10 154

转载 深入理解WeakHashmap-转载

http://blog.51cto.com/mikewang/880775 写的理论性较强,便于简易的区分java中引用的区别,但是不适合深究

2017-12-17 15:22:59 150

原创 设计模式-桥接模式简析

要理解这个模式我们首先要区分三个概念:组合,聚合和继承。聚合是一种弱拥有关系,体现在A对象可以包含B对象,但是B对象不是A对象的一部分。 组合是一种强拥有关系,体现在A对象和B对象一定是整体-部分关系。 继承是一种强依赖关系,体现在A对象是B对象的子类,则必会继承父类的特性。

2017-12-10 19:13:30 158

原创 设计模式-组合模式

组合模式:将对象组装成树形结构以表示整体-部分的层次关系。 组合模式适用于整体和部分可以被一致对待的场景,例如:猎头公司在全国各地的分店,客户对他们的整体或者分部的业务需求是一致的,且他们的行为也是一致的,分店之间还有层次关系。

2017-12-05 23:12:26 164

原创 设计模式-备忘录模式

备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在对象外部保存这一状态,这样就可以将对象恢复到以前的状态。 这个模式中主要有三个对象 Originator(发起者),Memento(备忘录),careTaker(保管者)。

2017-12-04 23:31:07 120

原创 设计模式-状态模式

状态模式:一个对象状态发生改变时会导致其行为也发生变化。 状态需要是一个闭环的结构.

2017-12-02 23:45:45 132

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

抽象工厂模式:提供一个创建一些系列相关或相互依赖对象的接口,二无需指定他们具体的类。

2017-12-01 00:07:38 125

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

观察者模式:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生变化时,会通知所有的观察者对象,使它们能够自动跟新自己 这个模式中主要涉及两个对象: subject:负责在自身的状态发生变化的时候通知所持有的观察者。 observer:在对subject观察的过程中,及时应对subject所产生的变化,并于subject的状态保持一致

2017-11-29 00:10:34 128

原创 设计模式-建造者模式

建造者模式:将一个复杂对象的构造和表示相分离,使得同样的构建过程可以创建不同的表示。

2017-11-27 22:36:48 152

原创 设计模式-外观模式

外观模式:为子系统的一组接口提供一个一致的界面,即定义一个高层接口。

2017-11-22 23:15:19 149

原创 设计模式-模板方法模式

模板方法模式:定义一个算法的骨架,而将一些步骤延迟到子类中,模板方法使得一个子类可以在不改变一个算法的结构即可重新定义算法中的某些特定的结构。

2017-11-20 23:51:37 166

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

上一篇文章中我复习了代理模式,这篇文章我来回顾工厂方法模式。 工厂模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法是一个类的实例化延迟到其子类。 提到了工厂模式,让我想起了之前提到过的简单工厂模式。二者都是通过将一个类的实例化托管给一个工厂来延迟复杂的类实例化。以此来将类的实例化过程隔离开来,减少调用者和被调用者之间的耦合度。二者的差异在于选择逻辑的存放位置,简单工厂

2017-11-16 23:02:25 144

原创 设计模式-代理模式

上一篇文章中我回顾了装饰模式,这篇文章我来复习代理模式。 代理模式:为其他对象创建一个代理来限制对这个对象的直接访问。

2017-11-15 22:08:37 157

原创 设计模式-装饰模式

装饰模式:动态的给对象增加一些额外的职责。

2017-11-14 23:13:14 173

原创 设计模式-策略模式

策略模式分析和实例讲解

2017-11-12 21:24:34 183

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

在我的前几篇博客中我回顾了下面向对象的特性和4个设计模式法则,今天我来回顾设计模式的第一课:简单工厂模式。 简单工厂模式:由一个统一的工厂类根据需求种类来生产相同类型的不同实现的产品类。

2017-11-09 23:16:07 203

原创 设计原则-迪米特法则

在前几篇我分析了单一职责,开放封闭以及依赖倒转的设计法则。今天我将在这篇文章中复习一下迪米特法则。**重点内容**迪米特法则:两个类不必彼此之间通信,那这两个类就不应该有直接作用关系,应该通过第三方来建立通信。这样做是为了降低两个没有直接关联的类之间的耦合,增强类的可重用性和灵活性。以免再改动A类而导致关系不大的B类也跟着修改。但是在这种情况下,我们就需要一个第三方来帮我们为二者负责起通信的关系,

2017-11-07 22:46:37 211

原创 设计模式-依赖反转分析

上一篇文章中我复习了开放封闭原则,今天我来回顾下依赖倒转原则。依赖倒转原则:1.高层不依赖低层,高层和低层应依赖抽象。2.抽象不依赖细节。细节依赖抽象。这一原则是基于现实中完成一件事情手段的多样性,过程的稳定性而提出来的,手段对应细节,过程对应抽象。在java中抽象可以有接口和抽象类来表示,细节有继承和实现来完成。程序的整体流程应通过接口之间行为的交互来完流动,动作的具体实现则有子类和实现类来掌

2017-11-06 22:26:19 260

原创 设计模式-开放封闭原则

在上一篇文章中我回顾了下单一职责原则,在这篇文章中我来复习下开放-封闭原则 开放封闭原则:开放扩展,关闭修改。当一个业务系统稳定了,当有新增的业务的时候采用增加类的方式来拓展,替代直接对原有业务类的修改。可以利用面向对象继承和多态这两个特性来实现。对业务逻辑进行抽象,将具体业务的实现发放到子类中,这样当业务逻辑发生变化的时候我们就可以通过新增子类的方式来实现业务扩展。 例如:计算器有加,

2017-11-04 22:29:40 156

原创 设计模式-设计原则-单一职责

在上一篇文章中我就面向对象语言的三大特性进行阐述 这篇文章主要是来分析设计模式中的四大基本准则: 1. 单一职责 2. 开放-封闭 3. 迪米特法则 4. 依赖倒转单一职责:对于一个类来说,不应该存在多个导致类发生变化的因素。简单的来说,一个类负责一个功能。例如 面包店A 负责销售面包,由于早餐需要新增豆浆和粥,将面包店的职责细粒度化为销售面包和粥,这可能会导致师傅的工作量激

2017-11-02 22:00:25 165

原创 设计模式简析

近期阅读了《大话设计模式》一书受益良多,特写此文以作笔记本文将从如下三个方面开始讲述:面向对象语言的三大特性简易设计原则设计模式分析面向对象语言有三大特性:封装,继承,多态 封装是指将对象所应具有的行为进行包装,进而为对象内部和对象外部的调用提供统一规范的接口。例如:/** * * @author yanjy * @date 2017/10/16 */public class

2017-10-16 22:28:28 240 1

空空如也

空空如也

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

TA关注的人

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