自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cliuyang的专栏

computer science

  • 博客(59)
  • 资源 (3)
  • 收藏
  • 关注

原创 RocketMQ源码分析 -- 顺序消费 (顺序消息)

目的: 从源码角度解读RocketMQ 是如何保证消息顺序消费的 RocketMQ 生产者 ---broker---消费者之间的关系如下图 如何保证消息有序,我们从两个方面解读: 一首先要保证消息发送方首先要保证发送消息有序,其次消费方要保证消费消息的顺序性 消息生产这保证消息有序 消息消费者保证消息有序 ConsumeMessageOrderlyService ...

2020-10-22 21:38:52 424

原创 Rocketmq 常见错误和性能优化,system busy, Rocketmq 参数配置(system busy broker busy)

Rocketmq 相传都是亿级消息吞吐能力,但是配置不对,使用不当会导致Rocketmq的性能大大折扣刷盘策略首先在看问题之前我们看看Rocketmq的刷盘策略,RocketMQ 的所有消息都是持久化的,先写入系统 PAGECACHE,然后刷盘。总共有两种刷盘策略 异步刷盘和同步刷盘异步刷盘 异步从表面意思我们也能看出来,我们消息首先存入内存,有异步线程来完成消...

2019-08-25 15:48:12 1518

原创 Redis 并发锁实现

听到Redis 实现并发锁,大家应该都很熟悉了,不知道有多少同学踩过redis并发锁的坑。最近项目中有同学实现了并发锁,通过代码review还是发现有些同学理解的并不深入,为后续的运行埋下来了巨大的隐患,今天空闲之余再重温一下并发锁,希望多刚接触redis 锁的同学有启发。首先列举一下几种常见的写法啊1、第一种,也是在review代码时经常遇到的Jedis jedis;...

2018-02-12 09:43:11 5019 1

原创 Java 注解原理解析

todo。

2023-05-25 15:01:55 99

原创 Java Agent原理解析

todo。

2023-05-25 15:00:06 130

原创 SpringBoot 选择Log4j,配置exclude logback

logback log4j springBoot 日志

2022-12-14 16:38:23 292

原创 微服务真的过时了吗?Twitter员工因为微服务被马斯克解雇了

微服务 过时

2022-11-18 10:09:08 2557 2

原创 Spring bean IOC 循环依赖 Circular dependencies

Spring bean IOC 、循环依赖

2022-10-17 08:50:12 158

原创 Netty 源码分析第二讲(从 ServerBootstrap 启动类开始)

Netty 源码版本:4.1.25为了照顾一些初学者,我们就从Netty的启动类开始 ServerBootstrap,如果基于Netty 开发高性能的服务来说,ServerBootStrap 一般是我们的第一个接触的类。ServerBootStrap 构造方法AbstractBootstrap从 ServerBootStrap 的构造方法我们可以看出,该类主要用来进行参数配置,其中包括两个EventLoopGroup .一个就是大家经常听到的Boss 线程,另外一个叫做wor

2022-03-16 17:20:23 410

原创 Netty 源码分析第一讲(编写文章初衷)

Netty 源码分析

2022-03-16 16:55:22 1065

原创 本机无法下载GitHub代码:[email protected]: Permission denied (publickey).

1、在本地生成publicKey:ssh-keygen -t rsa -b 4096 -C "[email protected]",一路回车,2、Copy id_rsa.pub 里面ssh-rsa 开头的文件copy到github 的个人设置 ssh proflie里面,3、重新尝试文件下载成功

2022-01-15 17:58:08 634

转载 阿里巴巴开源性能监控神器Arthas 使用指南

阿里巴巴开源性能监控神器Arthas jvm - 这个名字想了很久~ - 博客园

2021-12-28 21:54:28 296

原创 ElasticSearch es 参数调优

首先上版本号:ES 版本:6.5.4一般来说ES 的默认参数已经能够满足大部分场景需求,不需要也不建议我们去调节。但是根据不同的业务场景我们还是可以做一些系统调优,接下来针对常用的参数总结如下:1、_routing 参数作用是将文档路由到不同的分片,默认是根据hash(document’s_id) 进行路由的,默认情况,如果我们根据某些条件进行检索时,由于没有指定_routing,请求会分发到所有分片进行检索然后聚合。这对于某些场景明显是比较耗时的,哪些场景我们等下描述...

2021-08-20 16:35:03 850

原创 Maven- 可选依赖(optional) 和 依赖排除(Dependency Exclusions

在一些项目中,我们知道用exclusion排除一些依赖包,这属于依赖排除(Dependency Exclusions),还有一种就是今天所说的可选依赖(Optional Dependencies)。主要还是讲怎么用。假如我们目前有两个项目:项目A 和项目B, 项目B依赖项目A项目A的POM文件如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0".

2021-07-12 17:08:31 609

原创 Hadoop Datanode 节点下线/删除/退役/Decommission

节点退役 Decommission DatanodeDecommission Datanode就是把Datanode从HDFS集群中移除掉。Datanode是存储实际数据的,因此在Decommission Datanode的时候需要把Datanode上的数据迁移到别的机器上。下线的时候Datanode会有以下操作,1:计算块信息 2:删除块 3:copy块 4:校验块信息操作步骤1:在Namenode上,把需要Decommission的Datanode的机器名加入到dfs.hosts.excl

2021-02-28 16:30:30 3182

原创 Hbase -- Ambari Metrics System 监控

今天和大家一起学习下Ambari MetricsSystem自从使用Ambari搭建好Hbase 集群后,系统就经常收到内存不足的告警,抱着试试的态度去分析了下背后的故事(其实是抱着一定要优化的心态去看的)具体是什么占用这么多内存呢?大家都知道,使用Ambari 搭建起Hbase集群后,使用jps 命令你会发现,后台起来了各种服务,如下图。然后使用top 命令查看内存使用情况,发现ams 用户下的两个进程占用比较多的内存资源。顺藤摸瓜,发现ams 主要是 AmbariMetr..

2021-02-19 13:28:31 727

原创 RocketMQ源码分析-Trace 日志

目的: 阶段Trace 日志的意义和实现原理

2020-10-23 22:50:45 440

原创 Rocketmq源码分析: Rocketmq push 模式下 consumeMessageBatchMaxSize 和 pullBatchSize 两个参数的意义

目的: 本篇文章主要是聊聊consumeMessageBatchMaxSize 和 pullBatchSize 两个参数在Rocketmq push模式的意义 首先第一次看到consumeMessageBatchMaxSize 和 pullBatchSize 两个参数的时候感觉有点模糊,很容易造成混淆,如果我们想把每个参数在生产环境中都设置的合理,最好还是把每个参数的实际意义搞清楚。 首先我们找到这两个参数所在类 rocketmq/client/s...

2020-10-22 19:15:45 8876 1

原创 RocketMQ 客户端突然不消费了,部分不消费,部分队列不消费

现象: 短信发送业务发现部分客户不能按时收到短信通知,发现Rocketmq 消息消费有延迟。定位步骤: 查看Rocketmq 控制台,发现topic消费有部分延迟,同一个Client 部分队列能正常消费,但是部分队列长期不消费。 控制台截图如下: 看到这个现象后就怀疑是客户端某个逻辑出现了死循环或者长时间的Block,于是去打印了线上环境的线...

2020-07-20 14:32:55 8242

原创 Redis 内存持续飙高,小心监控命令monitor 惹的祸

记一次因redis发生的一次线上事故备注:我们使用的Redis是云厂商的Redis主备服务现象:线上Redis 内存持续升高,导致监控告警处理步骤: 看到redis内存告警,业务操作Redis不断报错,第一印象就是业务量不断增长,使用redis场景越来越多,购买的redis内存不够了...

2019-08-25 15:25:36 2013

原创 Java中Synchronized 和ReentrantLock的用法

synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象; 2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象; 3. 修改一个静态的方法,其作用的范围是整个静态方法,作用的对象是这个类的所有对象;...

2018-01-29 09:38:03 235

原创 Struts2和Spring3.2 整合时。Struts2 Action 无法通过get,set方式获取前台form传的值

最近遇到一个比较蛋疼的问题,Struts2和Spring整合的时候,前台form提交表单数据后后台Action无法通过get,set方法获取前台参数值,反复检查,发现form数据,Struts.xml、WEB.xml配置都正确。网上实在找不到类似的问题,没办法,一点一点尝试,先把spring的所有配置信息全部删除,只运行struts2框架必须部分,重启问题竟然恢复了。反复对比发现使用了sp

2016-03-30 21:49:24 1722 2

原创 分布式缓存Memcached

首先缓存是为了解决应用服务器和数据库服务器之间的瓶颈问题。当应用部署到不同的服务器时,每台server都会有自己独立的cache,server之间必须通过notification 和 replicate机制实现缓存的同步问题 ,在缓存较大的情况下会受制于内存大小,heap size setting。Memcached 是独立运行在一台Server上,与应用程序之间通过网络来传输数据,由于是专门...

2013-12-15 21:43:04 108

原创 js 处理json 数据

Json 对象转化为String 对象的方法            /**         * json对象转字符串形式         */        function json2str(o) {                         var arr= [];             var fmt= function

2013-12-03 14:41:59 855

转载 JAVA 线程池讲解文章

http://www.blogjava.net/standlww/archive/2008/10/17/235100.html

2013-11-05 17:44:22 395

原创 云计算文章

http://wenku.baidu.com/view/f8507442b307e87101f6967c.htmlhttp://blog.csdn.net/nihaozhangchao/article/details/8307972Google App Engine

2013-08-13 18:26:12 104

原创 云计算文章

http://www.oschina.net/question/28_82288

2013-08-12 18:35:45 104

原创 UML 工具

UML Tools1.http://www.sparxsystems.com/products/ea/trial.html Enterprise Architect

2013-08-09 11:12:31 135

原创 Iphone 开发环境

http://cache.baiducontent.com/c?m=9d78d513d99803f505b1c3690d67c0166d43f3102ba7d5020cd48449e3732b315016e6ac57550774d2d13b275fa0131aacb22173441e3decd992d5168aac925f69dd7773310b8636438e46b29d1161dc7bcd1b

2013-05-15 14:00:57 472

原创 itext

/** *  */package com.hsbc.gltc.itext.test;import java.awt.Color;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import

2013-04-30 15:35:37 786

原创 策略模式

[b] 策略模式的功能是把具体的算法实现,从具体的业务处理里面独立出来,把他们的实现成为单独的算法类,从而形成一系列算法,并让这些算法可以相互替换。[/b] 策略模式的中心不是如何实现算法,而是如何组织、调用这些算法,从而使程序结构更加灵活,具有更好的扩展性和维护性。 优点: 1,避免多重条件语句。 2,更好的扩展性(增加新的实现类)...

2013-04-03 17:50:18 72

原创 JAVA初始化过程

java初始化过程:静态变量--〉静态初始化块---〉变量----〉初始化块---〉构造函数

2013-03-20 10:56:44 66

原创 不错的文章链接

http://www.ibm.com/developerworks/cn/java/multithreading/

2013-03-11 17:55:16 92

原创 Axis是什么

[b]全称:Apache EXtensible Interaction System 阿帕奇可扩展交互系统[/b]  Axis本质上就是一个SOAP引擎,提供创建服务器端、客户端和网关SOAP操作的基本框架。Axis目前版本是为Java编写的,不过为C++的版本正在开发中。但Axis并不完全是一个SOAP引擎,它还包括:  是一个独立的SOAP服务器。  是一个嵌入Servlet引擎(...

2013-02-19 13:55:26 365

原创 插件安装备

[img][list][*][code="java"][url][img][/img][/url][/code][/list][/img]

2013-02-05 10:47:36 79

原创 eclipse插件安装

Installation using plugin ready eclipse Product version Descriptioneclipse 3.7.2 base ideSpring IDE 3.1.0 a very useful graphical user interface tool adding support for Sprin...

2013-02-05 10:42:26 140

原创 soft

IBM portal MKS RAD interface builder

2012-12-07 13:39:10 104

原创 html中动态分级表头的实现

...function create()...{     var datas = [     ['基期1','分类1','指标1','上期','1'],     ['基期1','分类1','指标1','同期','2'],     ['基期1','分类1','指标2','上期','3'],     ['基期1','分类2','指标1','同期','4'],     [

2012-07-07 10:19:03 1024

原创 方便大家下载下面提前发放5月迅雷VIP!~

为了方便大家下载下面提前发放5月迅雷VIP!~ 账号密码可能会不对,但没关系,新极品人员会不定期进行修正密码,离线下载中别人登陆也没关系,抢登陆会冻结,一般都是早上解冻迅雷vip号416322708密码xinjipin.com迅雷vip号336080377密码xinjipin.com迅雷vip号381040939密码xinjipin.com迅雷vip号415867212密码...

2012-05-20 12:55:44 279

原创 MyEclipse8.6整合Axis2插件

1.下载axis2的eclipse插件.  点击附件即可,不要到其他地方下载。  2.把下好的两个插件包解压后放置myeclipse8.6安装目录下的dropins文件夹中。  笔者本机的实例目录: D:\Genuitec\MyEclipse-8.6\dropins  Axis2_Service_Archiver_1.3.0和Axis2_Codegen_Wizard_1.3.0

2012-04-14 15:09:26 540

智能家居Matter协议

Matter是由谷歌、Apple、亚马逊联合发起的智能家居通信协议,实现不同品牌的智能家居设备之间互联互通

2022-07-17

thinking in java

Think In JAVA 第四版和第三版合计,中文资源,学习日常必备

2015-09-29

空空如也

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

TA关注的人

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