自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 【shell】通配符匹配-模糊匹配 判断文件是否存在

1 错误定向到 /dev/null files=$(ls mydir/*.jar 2> /dev/null | wc -l); if [ "$files" != "0" ] ;then #如果存在文件 rm adonis/*.jar; fi ...

2020-06-26 22:11:41 66 0

原创 【jenkins】使用pipeline 部署 springboot 微服务集群

1 利用jenkins pipeline部署最终效果图(注意本文涉及到:jenkins安装,部署,插件安装,groovy,ssh插件等较多涉及点) 2 准备 已经安装好jenkins的可以直接略过 jenkins 安装 1 下载 wget -O jenkins https://pkg.j...

2020-06-26 21:12:24 45 0

原创 【jvm】do while(0) 为啥被用在宏定义中

1 实例源码 openjdk/jdk/src/solaris/native/java/io/io_util_md.h:95 /* * Retry the operation if it is interrupted */ #define RESTARTABLE(_cmd, _result...

2020-06-14 12:13:28 62 0

原创 【go】mac go安装包,国内被墙了,哪里可以下载呢?

来这! https://golang.google.cn/dl/

2020-06-13 15:46:05 238 0

原创 【TCP】socket的标准参数中:logback 参数配置方法

1 Backlog是什么? BACKLOG用于构造服务端套接字ServerSocket对象,标识当服务器请求处理线程全满时,用于临时存放已完成三次握手的请求的队列的最大长度。如果未设置或所设置的值小于1,Java将使用默认值50。 2NIO server端配置 // 最终由 min(...

2020-05-31 17:30:52 145 0

原创 【TCP】Recv-Q和Send-Q 不要在有什么误解了

1 LISTEN状态:表示队列中的连接数量,非LISTEN状态为字节数量; 非 LISTEN 状态 Recv-Q 表示 receive queue 中的 bytes 数量; Send-Q 表示 send queue 中的 bytes 数值。 2 Recv-Q 表示的当前等待服务端调用 a...

2020-05-30 20:47:45 260 0

原创 【jemter】安装

1 Mac 下载 https://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-5.2.1.tgz 2 解压配置 tar zxvf apache-jmeter-5.0.tgz 配置: ~/.bash...

2020-05-24 15:59:36 82 0

原创 【DRDS分布式事务】分布式事务

1 分布式事务 2 使用 // 1 import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.transaction.TransactionDefi...

2020-05-24 15:51:41 76 0

原创 【RocketMq】RMQ开源版本Push消费模式为什么批量消费最大拉取数量是32?(MAC)

1 介绍: 由阿里巴巴开源 Apache 基金会顶级项目 gitHub地址https://github.com/apache/rocketmq 2 本地安转运行MAC 上图步骤分别是: 1 namesrv 服务,启动前注意更改IDE的环境变量 ROCKETMQ_HOME,并将dis...

2020-05-24 15:28:50 140 0

原创 【redis】会撑爆内存吗?

redis.conf中的maxmemory选项,该选项是告诉Redis当使用了多少物理内存后就开始拒绝后续的写入请求,该参数能很好的保护好你的Redis不会因为使用了过多的物理内存而导致swap,最终严重影响性能甚至崩溃。 ...

2020-04-26 12:15:03 157 0

原创 【池】数值对象池 redis中的使用

数值对象池是什么? Redis内部采用了一个shared integer的方式来省去分配内存的开销,即在系统启动时先分配一个从1~n 那么多个数值对象放在一个池子中,如果存储的数据恰好是这个数值范围内的数据,则直接从池子里取出该对象,并且通过引用计数的方式来共享,这样在系统存储了大量数值下,也能...

2020-04-26 12:13:35 96 0

原创 【aerospike】安装

1 参考: aerospike.com/docs wget -O aerospike.tgz 'https://www.aerospike.com/download/server/latest/artifact/ubuntu16' tar -xvf aerospike.tg...

2020-04-26 11:59:36 59 0

原创 【aerospike】日志转存配置(003)

1 安装logrotate sudo apt-get install logrotate 2 配置文件,没有需要新建 配置 asinfo 查看系统配置 /etc/logrotate.d/aerospike /var/log/aerospike/aerospike.log //as中配...

2020-04-26 11:55:19 84 0

原创 【aerospike】监控系统AMC 安装(002)

1 amc 下载 wget -O amc.rpm https://www.aerospike.com/download/amc/4.0.27/artifact/el6 // centos 推荐 或者 wget -O amc.deb https://www.aerospike.com/downlo...

2020-04-26 11:50:40 75 0

原创 【aerospike】使用阿里云SSD云盘分区挂载到NameSpace--操作(001)

1 SSD云盘到底需不需要格式化,格式化为文件系统盘 答案:不需要,aerospike 有自己的磁盘控制。不需要在系统 df 命令查看,也没必要,完全交给AS 2Initialize the drives 磁盘清零操作,然后分区; sudo dd if=/dev/zero of=/d...

2020-04-26 11:43:16 47 0

原创 【Hbase】rowKey设计-业务场景(001)

1 Hbase认知 HBase data stores consist of one or more tables, which are indexed by row keys. Data is stored in rows with columns, and rows can have mul...

2020-04-26 11:26:44 94 0

原创 com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "desc"

1 直接给出两个解决方案 import java.io.IOException; public class SerializeTest { @Data static class User{ private String name; priva...

2020-04-13 16:21:23 43 0

原创 【agent打jar包】premain agent 单独打jar包

1 agent 总览 2 运行时参数 -javaagent:InjectCode.jar 3 打包agent jar -cfm InjectCustomCode.jar MANIFEST.MF /Users/XX/target/classes/com/gbrank/asm/custo...

2020-03-29 16:48:33 118 0

原创 【arthas】 分析java web程序利器

1 下载 curl -O https://alibaba.github.io/arthas/arthas-boot.jar java -jar arthas-boot.jar dashboard 2 dashboard 命令 上面是先通过观察总体的线程信息,然后查看具体的线程运行情况。...

2020-03-29 16:38:00 68 0

原创 【线程池】线程池的线程遇到异常后去哪里?怎么处理?

1 四种解决任务代码抛异常的方案: 在我们提供的Runnable的run方法中捕获任务代码可能抛出的所有异常,包括未检测异常 使用ExecutorService.submit执行任务,利用返回的Future对象的get方法接收抛出的异常,然后进行处理 重写ThreadPoolExecutor...

2020-03-29 16:33:58 158 0

原创 【REDIS SCAN】scan清理无效key,导致慢日志飙升

1 问题现场 private List<String> scanWithLimit(String pattern, int limit, int type) { Preconditions.checkArgument(StringUtils.isNotBla...

2020-03-29 16:24:44 169 0

原创 【字节码编程】统计方法执行次数:ASM修改JDK (java/util/regex/Pattern$Loop)class文件

1 java代码 private int mcounter = 0; public void do2() { System.out.println(mcounter++); } 2 获取ASM源代码 (工具ASMifierClassVisitor) java -classpath /U...

2020-03-26 13:49:02 77 0

原创 SpringBoot @Scheduled 底层实现原理是啥?默认支持并发吗?以延迟任务作为示例,一起看下吧

1 首先可以找到任务注册,启动的入口点: 可以确定,底层就是是通过线程池实现的。 第二:默认支持并发吗? !!!!如果是单线程的话,一个运行周期很长的任务,势必会导致其他任务延迟执行。 org.springframework.scheduling.annotation.Schedul...

2020-03-22 16:29:20 300 0

原创 tomcat责任链模式中pipline 和 valve 是做什么的?

1 先看结构图 实际上 Pipeline 和 Valve 是扩展了这个链的功能,使得在链往下传递过程中,能够接受外界的干预。Pipeline 就是连接每个子容器的管子,里面传递的 Request 和 Response 对象好比管子里流的水,而 Valve 就是这个管子上开的一个个小口子,让你...

2020-03-19 09:06:17 75 0

原创 【JVMTI】JVMTI开发教程之一个简单的Agent

JVM TI是JDK提供的一套用于开发JVM监控, 问题定位与性能调优工具的通用编程接口(API)。 通过JVMTI,我们可以开发各式各样的JVMTI Agent。这个Agent的表现形式是一个以c/c++语言编写的动态共享库。 JVMTI Agent原理: java启动或运行时,动态加载一个外...

2020-02-02 21:51:22 148 0

原创 【Linux 进程之间通信】基于OS信号实现Java异步通知

基于OS信号实现Java异步通知: 信号简介 信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。 通俗来讲,信号就是进程间的一种异步通信机制。 典型的例子: kill -s SIGKILL pid (即kill -9 pid) 立即...

2020-02-02 21:34:42 69 0

原创 【JVM-沙箱】java 安全沙箱模型详解

起到第一道安全保障作用的”双亲委派类加载模型” 双亲委派方式的类加载,指的是优先从顶层启动类加载器开始,自顶向下的方式加载类的模型(参见第一条类装载器体系结构)。 这种模型的好处是,底层的类装载器装载的类无法与顶层类装载器装载的类相互调用。 哪怕是同包下的类,只要他们不属于同一类装载器,都是相...

2020-02-02 21:17:12 124 0

原创 【字节码增强ASM3.0】Java正则引发的思考--测试困惑--有解了

1 表情符号源代码 https://github.com/zly394/EmojiRegex/blob/master/src/main/java/com/zly/utils/EmojiRegexUtil.java 2 测试用例 import java.lang.instrument.In...

2020-02-01 22:01:49 70 0

原创 【JDI】at com.sun.tools.jdi.ConcreteMethodImpl.getVariables1(ConcreteMethodImpl.java:495)

import com.sun.jdi.*; import com.sun.jdi.connect.Connector; import com.sun.jdi.connect.LaunchingConnector; import com.sun.jdi.event.*; import com.sun...

2019-12-26 20:25:12 68 0

原创 【Spring】Bean的创建和对象关系建立

1 Bean的创建时序图 2 Bean对象关系创建 3 UML 图 4 入口点 org.springframework.context.support.AbstractApplicationContext#refresh org.springframework.contex...

2019-12-15 10:58:22 41 0

原创 【规则引擎】多种规则引擎(处理复杂业务逻辑)整理

1 规则引擎:(低耦合) 2 全面介绍所有的规则引擎: https://www.jianshu.com/p/41ea7a43093c 包含了 业界常用的4-5种 https://www.ibm.com/support/knowledgecenter/SSGHJR_5.1.0/com.ibm.i...

2019-12-15 10:26:13 115 0

原创 【Spring 设计模式】AOP中涉及到的策略模式

JdkDynamicAopProxy 和 Advised 接口有关系,体现在Advised的子类AdvisedSupport!

2019-12-15 10:21:47 54 0

原创 【AQS】队列同步器的应用举例

1【BooleanLatch】 当signal调用时,触发所有等待线程 import java.util.concurrent.locks.AbstractQueuedSynchronizer; class BooleanLatch { private static class Sy...

2019-12-15 10:07:33 45 0

原创 【Mybatis】SpringBoot 自定义TypeHandler 完整步骤

1 注解的使用 import org.apache.ibatis.annotations.*; import org.apache.ibatis.type.JdbcType; import org.springframework.stereotype.Repository; import j...

2019-12-08 08:05:57 386 4

转载 【字符集】正则

1 -------------------------------字符集 双字节字符编码范围: 1. GBK (GB2312/GB18030) \x00-\xff GBK双字节编码范围 \x20-\x7f ASCII \xa1-\xff 中文gb2312 \x80-\xff 中文 gbk ...

2019-11-23 09:39:15 37 0

原创 【ES增加索引字段】正确的姿态

PUT /a_/b_c/_mapping { "properties":{ "uv": { "type": "long" }, ...

2019-11-16 14:29:27 145 0

原创 【Serializable】 序列化接口你真的用过吗?

1 Serializable 使用示例 import com.google.common.collect.Lists; import java.io.*; import java.util.List; import java.util.logging.Logger; /** * 不同...

2019-11-16 14:25:01 48 0

原创 【@InitBinder】spring 自定义属性编辑器

1 使用步骤 A 扩展点 Controller中增加 @InitBinder @Override public void initBinder(WebDataBinder binder) { super.initBinder(binder); ...

2019-10-31 08:45:45 74 0

原创 【MANIFEST.MF】 文件到底是个啥?

1 Executable JAR files 2 Define amainclass in your JAR's MANIFEST.MF file that defines the executable class. (MANIFEST.MF is the file that Mave...

2019-10-31 08:04:41 623 0

原创 【volatile】易失性变量的HB 原则,如何证明?

我想不到证明方法......因为 cpu内copy变量的缓存时长级别和测试代码运行需要的时长,不在一个数量级?

2019-10-31 07:58:44 85 0

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