自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (2)
  • 收藏
  • 关注

原创 k8s部署zk集群

参考官方例子制作zookeeper镜像(为了方便起见,下面用zk来统称zookeeper),由于业务的原因,需要替换掉基础镜像,并对官方的脚本作一定的简化。FROM registry.agree.com.cn/agree/afa/centos-net-tools2 ARG ZK_DIST=zookeeper-3.4.8ENV LANG=en_US.utf8 \ ...

2019-05-19 16:05:34 3159

原创 九评zookeeper

公司做了一版服务化框架,使用zookeeper作为注册中心,用来存储服务信息。 在使用的过程中,发现zookeeper有一些天生的缺陷。特此写一篇博客,记录踩过的坑,以警示后来者也。 以下内容基于zookeeper.4.8版本,在公司搭建的环境,数据不一定准确,但有一定的参考意义。 1.zookeeper的写效率非常低,在我点机器...

2019-05-19 15:55:05 1860

原创 负载均衡算法

负载均衡是分布式系统的常见功能,具有算法成熟,配置灵活,对系统性能有较大影响等特点。下面是目前比较流行的几种算法: a.Nginx负载均衡算法 总体思路:计算权重总和和找出最大权重,然后最大权重的被选择 被选择后最大权重减去权重总和,可以使得不会总选上最大权重,使得负载更加平滑。 自身权重加上和原始权重等比例的权重来模拟随机性。privat...

2019-05-19 15:38:05 209

原创 strong/soft/weak/phantom reference比较

1.strong reference 就是常见的引用,比如 String str = "hello world"; 其中,str就是strong reference,在可达性分析中,如果此实例不可到达,此时才会被jvm回收.2.soft reference 在jvm在抛出OOM之前会首先进行检查,如果soft reference实例没有强引用,那么会首先进行垃圾回

2017-11-03 17:39:13 305

原创 visitor模式

抽象数据类型包括数据,数据之间的关系,对数据的操作。 这种模式能够将操作和数据及数据关系分离,提供接口,让用户定制自己对数据的操作 //数据结构部分代码 public class MyDataStructure { private List<String> list = new ArrayList<String>(); private Set<String> se

2017-10-13 10:41:55 337

原创 责任链的三种实现方式比较

第一种方式: 实现handlerChain,handlerChain里面用一个列表保存所有的handler。 优点:直观。 缺点:只能顺序执行,前一个handler逻辑完全跑完了,再跑下一个逻辑。 例子如下: 第二种方式: 将handler链交给context保管,spring的责任链,web的listen

2017-06-19 11:45:54 2011

原创 动态维护执行时机

看到一段代码,能够动态维护执行时机,使之在大概的时间间隔里面 执行一次。比如一段代码不断运行,我需要在大概800毫秒的时间后执行一次异常操作。如果使用定时任务的方式是实现不了的,因为800毫秒的时候这段代码可能刚好没有执行到相应的地方,然后,”扑了个空”。废话少说,上代码。package cn.com.agree.afa.applog.util;/** * This class serves

2017-04-23 10:01:18 246

原创 java堆的大小包括加上方法区(持久代)的大小吗

在jdk1.6,Hotspot中,方法区大小是不包括进java堆的大小中的。

2016-11-15 11:02:30 3917 1

翻译 semaphore与mutexes的区别

在semaphore计数大于1的时候,关键不同点在于mutexes用于保护共享资源,而semaphorse用于线程间通信。semaphore用来保护几个相同的资源(资源相同并且只能被独占)是错误的用法。在semaphore计数等于1的时候,关键不同点在于semaphore可以由其它线程释放,而mutexes只能由申请它的线程释放。

2016-11-15 10:29:23 2812

原创 拜山头

csdn上的水友,码农,程序猿大家好,过去一直在csdn上潜水看技术博客,默默下载资源。csdn帮助了我很多,现在是时候写自己的技术博客了。希望能达到下面三方面的目标:记录自己的技术路线和感悟,博客内容对新手入门有一定的参考意义,锻炼自己的表达能力和提高英语水平^_^祝好~

2016-11-15 09:56:10 756

Struts2.2+Spring3JAR包

博客园来的链接 李刚老师的JAR包,亲测整合Struts2.2+Spring3.0可用

2014-08-08

Java语言程序设计第8版 习题解答+例题程序

Y.Daniel Liang Java语言程序设计第8版后面习题详细解答有具体的cpp文件

2013-09-03

空空如也

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

TA关注的人

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