自定义博客皮肤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 224

转载 排查线上死循环

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

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

原创 缓存学习

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

2017-01-21 22:34:57 384

转载 接口限流算法

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

2017-01-21 22:33:35 771

原创 单例设计模式

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

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

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

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

2017-01-21 16:49:02 2723

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

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

2015-09-24 15:04:18 1887

原创 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 198

原创 jvm参数说明

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

2015-09-24 14:53:01 199

原创 SkipList数据结构学习

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

2015-09-24 14:29:00 274

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

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

2015-09-24 14:24:39 236

空空如也

空空如也

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

TA关注的人

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