自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

转载 责任链设计模式

转载:http://www.runoob.com/design-pattern/chain-of-responsibility-pattern.html责任链模式顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。

2017-11-04 22:16:41 270

转载 排查线上死循环

一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环。(友情提示:本博文章欢迎转载,但请注明出处:hankchen,http://www.blogjava.net/hankchen)以我们最近出现的一个实际故障为例,介绍怎么定位和解决这类问题。根据top命令,发现PID为28555的Java进程占用CPU高达200%,出现故障。通过

2017-01-21 22:38:21 1774 2

原创 缓存学习

缓存学习缓存学习常见的缓存设计第一种第二种第三种缓存穿透什么是缓存穿透如何避免缓存穿透缓存雪崩什么是缓存雪崩如何避免缓存雪崩缓存数据清理策略缓存算法常见的缓存设计第一种读操作写操作第二种左边是读操作,右边是写操作。当发生读操作时,如果没有目标没有进入缓存,或者已经失效,这个时候由缓存自己去控制区数据源读取数据并set回缓存,对使用缓存的应用是透明的,应用不用关心。当

2017-01-21 22:34:57 454

转载 接口限流算法

背景曾经在一个大神的博客里看到这样一句话:在开发高并发系统时,有三把利器用来保护系统:缓存、降级和限流。那么何为限流呢?顾名思义,限流就是限制流量,就像你宽带包了1个G的流量,用完了就没了。通过限流,我们可以很好地控制系统的qps,从而达到保护系统的目的。本篇文章将会介绍一下常用的限流算法以及他们各自的特点。算法介绍计数器法计数器法是限流算法里最简单也是最容易实现的

2017-01-21 22:33:35 826

原创 单例设计模式

单例设计模式单例设计模式设计模式介绍懒汉式饿汉式双重检查锁内部类实现枚举实现总结问题一解决方法问题而解决方法设计模式介绍懒汉式懒汉式实现主要是用户在调用的时候才初始化对象,且是线程不安全的public class Singleton { private static Singleton instance; private Singleton ()

2017-01-21 16:52:18 330 6

原创 web服务如何调试https请求

web服务调试https请求web服务调试https请求背景免费安装https证书fiddler设置charles设置nginx设置背景最近公司内部加大了安全力度,要求对于外网接口全部切换成https,之前我们使用fiddler或者charles只能抓取到http的请求数据,所以针对改造,开发与测试的线下环境也需要相应的进行升级。免费安装https证书首先客户端和服务器端都需要安装ht

2017-01-21 16:49:02 2857

原创 Java中实现Serializable接口为什么要声明serialVersionUID?

实现序列化接口Serialize的时候,如果不指定serialVersionUID 的值,编译时就会出现警告,为什么?什么情况下需要修改serialVersionUID 的值?      序列化运行时使用一个称为 serialVersionUID 的版本号与每个可序列化类相关联,该序列号在反序列化过程中用于验证序列化对象的发送者和接收者是否为该对象加载了与序列化兼容的类。如果接收者加载的该

2015-09-24 15:04:18 1974

原创 spring上传文件

package com.springapp.mvc;import org.apache.commons.io.FileUtils;import org.aspectj.lang.annotation.After;import org.aspectj.lang.annotation.Aspect;import org.aspectj.lang.annotation.Befor

2015-09-24 14:58:55 243

原创 jvm参数说明

1.-server  服务器端优化策略,注重吞吐量,而且代码编译时间较慢,不过编译之后运行速度比较高2.-client   客户端优化策略,侧重于提供更好的用户体验,垃圾回收机制停顿时间较短3.-Xms     堆内存初始大小4.-Xmx     堆内存最大大小5.-XX:MaxPermSize 老生代内存最大大小6.-XX:ReservedCodeCacheSize  代码缓

2015-09-24 14:53:01 245

原创 SkipList数据结构学习

1.跳表是什么:跳表是平衡树的一种替代的数据结构,但是和红黑树不相同的是,跳表对于树的平衡的实现是基于一种随机化的算法的,这样也就是说跳表的插入和删除的工作是比较简单 的。2.为什么要使用跳表:目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树出来吗? 很难吧

2015-09-24 14:29:00 336

转载 Java中的ReentrantLock和synchronized两种锁定机制的对比分析

多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造 —— synchronized 和 volatile。在简化与平台无关的并发类的开发的同时,它决没有使并发类的编写工作变得更繁琐,只是使它变

2015-09-24 14:24:39 279

空空如也

空空如也

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

TA关注的人

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