自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Sky-Ladder

学习小笔记

2020-12-26 12:23:15 155

原创 单元测试 - Mockito - powermock - 异常测试

单元测试 - Mockito - powermock - 异常测试一. 引入 maven 坐标 <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-mockito</artifactId> <version>${powermock.version}</v

2021-01-12 20:03:25 2176

原创 Java-clean-code-警告压制

Java-cod-clean-警告压制一. 列表值作用``all`抑制所有警告boxing抑制与封装/拆装作业相关的警告cast抑制与强制转型作业相关的警告dep-ann抑制与淘汰注释相关的警告deprecation抑制与淘汰的相关警告fallthrough抑制与 switch 陈述式中遗漏 break 相关的警告finally抑制与未传回finally区块相关的警告hiding抑制与隐藏变数的区域变数相关的警告inco

2020-12-31 15:53:45 218

原创 Java9 - Features - Modules模块系统

Java9 Features - Module System一. 背景Java 8 以前,我们使用 maven 或者 gradle 管理 jar 包时,可能会因为某一个小方法而必须引入一整个对应的 jar 包,这就导致当前 jar 包的 classpath 路径名会非常长,从而形成 jar hell。二. module system 的目标Java 9 引入 Model System,您可以将 Java 应用程序视为具有明确定义的边界和这些模块之间依赖关系的交互模块的集合。 模块系统的开发具有以下目

2020-12-28 21:01:45 165

原创 单元测试 - Mockito - powermock -实例函数调用

单元测试 - Mockito - powermock -实例函数调用一. 引入 Maven 坐标 <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-mockito</artifactId> <version>${powermock.version}</

2020-12-26 12:19:49 399

原创 单元测试 - Mockito - powermock - 静态方法

单元测试 - Mockito - powermock - 静态方法1. 首先,我们需要引入相关 maven 依赖。 <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-mockito</artifactId> <version>${powermock.ver

2020-12-22 16:09:41 389 1

原创 RxJava - Disposable

RxJava - Disposable1. Disposable 有两个方法 // 取消订阅 void dispose(); // 判断订阅状态 boolean isDisposed();在 RxJava 中,在数据流结束后,如果不取消订阅,则可能会导致内存泄露。我们可以通过使用 Disposable 来取消订阅关系。在 RxJava 中,onError 和 onComplete 中,都存在 this::dispose。这也是为什么 onError 和 onComplete 不能同时存在的原

2020-12-22 15:34:32 513

原创 Java - 反射

A a = new A();实例化 a 时,会先将 A 的 .class 文件,加载到内存中,并初始化一个 class A 的对象。在 JVM 中,一个类,只能有一个 class 对象。反射,实际就是通过得到待对象的 .class 文件,从而获取它的所有属性。...

2020-12-19 11:15:06 77 1

原创 MongoDB -副本

MongoDB 副本一. 简介MongoDB 复制集由一组 MongoDB 实例组成,包含一个Primary节点和多个Secondary节点,MongoDB Driver(客户端)的所有数据都写入Primary,Secondary 从 Primary 同步写入的数据,以保持复制集内所有成员存储相同的数据集,提供数据的高可用。二. 特殊节点正常情况下,复制集的 Secondary 会参与 Primary 选举(自身也可能会被选为 Primary),并从 Primary 同步最新写入的数据,以保证与 P

2020-11-30 17:55:34 102

原创 Redis - HyperLogLog

Redis - HyperLogLogHyperLogLog 使用动态字符串存储数据,为了区别普通的 SDS,在头部固定了字节 HYLLHyperLogLog 底层数据结构struct hllhdr { // 固定值 HYLL char magic[4]; /* "HYLL" */ // 编码格式 HLL_DENSE 和 HLL_SPARSE uint8_t encoding; /* HLL_DENSE or HLL_SPARSE. */ uint

2020-11-28 18:05:35 69

原创 Redis LUA

Redis LUAredis.call(); 将返回一个错误给调用者redis.pcall(): 将捕获的错误以 LUA 表的形式返回。Redis Lua 优势1.减少网络开销:本来5次网络请求的操作,可以用一个请求完成,原先5次请求的逻辑放在redis服务器上完成。使用脚本,减少了网络往返时延。2.原子操作:Redis会将整个脚本作为一个整体执行,中间不会被其他命令插入。3.复用:客户端发送的脚本会永久存储在Redis中,意味着其他客户端可以复用这一脚本而不需要使用代码完成同样的逻辑。Re

2020-11-28 16:28:53 91

原创 开发环境 - Docker - ELK 环境搭建

开发环境 - Docker - ELK 环境搭建使用 Docker 搭建基于 7.10.0 的 ELK 环境。Mac OSElasticSearch 环境搭建下载镜像并启动docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.10.0修改 Docker 的基础配置,虚拟机的 Swap 配置内存至少为 2.1 G

2020-11-20 15:43:37 88

原创 性能调优 - JVM

性能调优 - JVM因为 Java 虚拟机的核心,主要分为堆、栈、方法区和垃圾回收系统等几个部分构成,因此我们在进行 JVM 调优的时候,主要是针对他们的参数配置和垃圾回收策略选择等的选择,来进行最合适的配置组合。-Xmx512m设置 Java虚 拟机的最大堆。整个堆大小 = 年轻代大小 + 年老代大小 + 持久代大小。持久代一般固定大小为64m。堆的不同分布情况,对系统会产生一定的影响。尽可能将对象预留在新生代,减少老年代 GC 的次数(通常老年回收起来比较慢)。实际工作中,通常将堆的初始值和

2020-11-20 12:58:42 118

原创 开发环境 - Jmeter

Jmeter压测工具安装Mac OS进入官方下载 apache-jmeter-5.3.tgz,解压到需要的地方为了简化启动,配置环境编辑 .bash_profileexport JMETER_HOME=/Users/stefan/MyProjects/apache-jmeter-5.0export PATH=$JAVA_HOME/bin:$PATH:.:$JMETER_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.

2020-11-20 00:17:02 62

原创 深入理解 Spring - TransactionSynchronizationManager

深入理解 Spring - TransactionSynchronizationManager

2020-11-18 15:37:24 426

原创 开发环境配置 - Git

开发环境配置 - GitMac OS设置 git 的编辑器位 VS Code方法一编辑 .profile 新增 export PATH="$PATH:/Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin"刷新 profile方法二在 VS Code 中使用 Shift + Command + P键入 install Code终端运行 git config --global core.edi

2020-11-18 14:29:12 109

原创 深入理解 Spring - AOP (一)

深入理解 Spring - AOP (一)

2020-11-18 12:55:08 52

原创 深入理解 Docker - 内存管理

深入理解 Docker - 内存管理Docker 自身提供了一种对内存进行监控的机制,我们可以通过使用 docker stats 进行概览。我们首先了解下 Linux 中,如何进行内存管理的一 Linux 的内存管理在 linux 系统中,我们一般使用 free 命令来查看内存的占用等情况。二 Docker 内存管理docker 的 docker stats 实际是通过使用 cgroups 来对指定属性进行值计算求得的。1. docker原生内存监控docker stats 的具体实现可以通

2020-11-18 10:57:23 1072

原创 深入理解 Redis - 事务

深入理解 Redis - 事务对于 Redis 来说,它是通过 MULTI,EXEC,WATCH 等命令来实现事务功能的。Redis 的事务机制一次性将多个命令打包,然后一次性,按顺序执行多个命令的机制。并且在执行阶段,服务器不会中断去执行其他客户端的请求命令,他会将事务中的所有命令都执行完毕才去处理其他客户端的请求命令。...

2020-11-18 01:48:27 69

原创 深入理解 RocketMQ - NameSrv

深入理解 RocketMQ - NameSrv一 什么是 NamesrvNamesrv 是 RocketMQ 中,是负责 Topic 路由注册管理,Broker注册发现的协调者。二 Namesrv 的核心功能Namesrv 主要负责临时保存,管理 Topic 路由信息,Namesrv 个节点之间无通信,彼此无感知,因此它是无状态的。Broker 启动时,会轮询全部配置的 Namesrv 节点,拉取路由配置信息。三 Namesrv 的数据结构Namesrv 中保存的数据被称为 Topic 路由信息

2020-11-18 01:42:05 363

原创 深入理解 RocketMQ - 延迟消息

深入理解 RocketMQ - 延迟消息延迟消息和定时消息,并无本质上的区别。延迟消息是指当前消息在创建之后的指定时间过后,再发送。定时消息,则是指消息在创建完成后,指定的时间发送。一般都是将消息存储在数据库中,使用定时任务进行消息扫描,满足条件的数据则发送给消费者。延迟消息机制1. 存储机制在 RocketMQ 中,延迟消息的消息体中,会设置一个 delayTimeLevel。延迟消息在保存到 CommitLog 时,如果调用 CommitLog.putMessage() 方法存储延迟消息时,发现

2020-11-18 01:31:44 994

原创 深入理解 Spring - 事务原理

深入理解 Spring - 事务原理

2020-11-18 01:01:02 74

原创 深入理解 MyBatis - PooledDataSource

深入理解 MyBatis - PooledDataSource我们在进行数据库链接操作时,会通过 JDBC 的 connection 进行数据库操作。但是频繁的创建和销毁 connection 会影响执行效率。因此 MyBatis 中存在连接池技术pooledunpooled...

2020-11-18 00:52:43 341

原创 深入理解 RocketMQ - 事务消息

深入理解 RocketMQ -事务消息

2020-11-18 00:25:09 142

原创 深入理解 RocketMQ - Broker

深入理解 RocketMQ Broker

2020-11-17 20:04:19 203 2

原创 深入理解 MyBatis - 核心组件 - Configuration

深入理解 MyBatis - 核心组件 - Configuration

2020-11-17 15:51:11 64

原创 深入理解 MyBatis - 核心组件 - Excutor

深入理解 MyBatis - 核心组件 - Excutor

2020-11-17 15:07:41 86

原创 深入理解 MyBatis - JDBC 规范详解

JDBC 简介

2020-11-17 14:56:10 128

原创 深入理解设计模式 - 回调设计模式

> 所有知识点文章只写一份,因此会不定时更新为最新的理解

2020-11-17 09:52:39 88

mybatis-3.4.5

Mybatis-3.4.5.jar 完整使用框架 ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss

2017-10-12

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

TA关注的人

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