随笔分类 - JAVA深入浅出原理
摘要:Table - 双键Map BiMap - 双向Map Multimap - 多值Map RangeMap - 范围Map ClassToInstanceMap - 实例Map 总结 Guava是google公司开发的一款Java类库扩展工具包,内含了丰富的API,涵盖了集合、缓存、并发、I/O等多
阅读全文
摘要:Hutool常用工具类 介绍 安装 1. maven 2. gradle 常用工具类 1. 类型转换工具类-Convert 2. 日期时间工具-DateUtil 转换 字符串转日期 格式化日期输出 获取Date对象的某个部分 开始和结束时间 日期时间偏移 日期时间差 格式化时间差 星座和属相 其它
阅读全文
摘要:简介https://mp.weixin.qq.com/s/oj7kmjcfHEz6vMXluG7lIw Arthas 是Alibaba开源的Java诊断工具,动态跟踪Java代码;实时监控JVM状态,可以在不中断程序执行的情况下轻松完成JVM相关问题排查工作 。支持JDK 6+,支持Linux/Ma
阅读全文
摘要:ZGC(The Z Garbage Collector)是JDK 11中推出的一款低延迟垃圾回收器,它的设计目标包括: 停顿时间不超过10ms; 停顿时间不会随着堆的大小,或者活跃对象的大小而增加; 支持8MB~4TB级别的堆(未来支持16TB)。 从设计目标来看,我们知道ZGC适用于大内存低延迟服
阅读全文
摘要:jmeter安装配置教程及使用 压测版本参数: 应用参数配置: 应用名 JVM参数 节点数量 产线包版本 cmf -Xmx2048m -Xms2048m 4 cmf-20191008175911.war cmf-task -Xmx2048m -Xms2048m 1 cmf-task-20191008
阅读全文
摘要:一、基本概念 索引(Index) ES将数据存储于一个或多个索引中,索引是具有类似特性的文档的集合,类比传统关系型数据库的一个数据库(database),或者一个数据存储方案(schema)。索引由其名称(必须全小写字符)进行标识,并通过引用此名称完成文档的创建、搜索、更新及删除操作。 类型(Typ
阅读全文
摘要:两张图读懂kafka应用: Kafka 中的术语 broker:中间的kafka cluster,存储消息,是由多个server组成的集群。 topic:kafka给消息提供的分类方式。broker用来存储不同topic的消息数据。 producer:往broker中某个topic里面生产数据。 c
阅读全文
摘要:目录 ZooKeeper中的各种角色 ZooKeeper与客户端 Zookeeper节点数据操作流程 Paxos 算法概述(ZAB 协议) ZooKeeper 的选主机制 选择机制中的概念 选举消息内容 选举流程图 ZooKeeper 的全新集群选主 ZooKeeper 的非全新集群选主 正文 回到
阅读全文
摘要:1.1 对象优先在Eden区分配 大多数情况下,对象在新生代中 Eden 区分配。当 Eden 区没有足够空间进行分配时,虚拟机将发起一次Minor GC。我们来进行实际测试一下。 在测试之前我们先来看看 Minor Gc和Full GC 有什么不同呢? 新生代GC(Minor GC):指发生新生代
阅读全文
摘要:首先贴一张很不错的图,SpringBoot启动结构图,图片出自SpringBoot启动流程解析。 本文的分析基于Spring Boot 2.1.5,非Spring的代码只有下面这个启动main函数: @SpringBootApplication public class App { public s
阅读全文
摘要:文章地址:https://mp.weixin.qq.com/s/BiIXbrZKR0E0-M_yTgE5Ig 初识 ReentrantLock ReentrantLock 位于 java.util.concurrent.locks 包下,它实现了 Lock 接口和 Serializable 接口。
阅读全文
摘要:今天对五种常见的java内置线程池进行讲解。 线程使用的demo public static void cache() { ExecutorService pool = Executors.newCachedThreadPool(); long start = System.currentTimeM
阅读全文
摘要:其中Mark Word在默认情况下存储着对象的HashCode、分代年龄、锁标记位等以下是32位JVM的Mark Word默认存储结构 由于对象头的信息是与对象自身定义的数据没有关系的额外存储成本,因此考虑到JVM的空间效率,Mark Word 被设计成为一个非固定的数据结构,以便存储更多有效的数据
阅读全文
摘要:git代码:https://gitee.com/wwj912790488/multiple-data-sources DynamicDataSourceAspect切面 必须定义@Order(-10),保证该aop在@Transaction之前执行 配置如下,分别加载三个数据库配置 1.利用Impo
阅读全文
摘要:背景: 因为双11,黑五快到了,所有的互联网电商行业都要做一件事情,那就是压测,常见的压测很多区分,接口压测和全链路压测、线上压测和线下压测,单元压测和功能压测。我们这里介绍一下接口压测和全链路压测。 常见使用的工具包括:zabbix、zuul、netdata、arthas、nginx流量监测。 常
阅读全文
摘要:按顺序部分加载: 2.同时业务并发处
阅读全文
摘要:我们分为4个部分来探讨: 1. 什么是类加载机制? 2. 什么是双亲委任模型? 3. 如何破坏双亲委任模型? 4. Tomcat 的类加载器是怎么设计的? 我想,在研究tomcat 类加载之前,我们复习一下或者说巩固一下java 默认的类加载器。楼主以前对类加载也是懵懵懂懂,借此机会,也好好复习一下
阅读全文
摘要:ThreadLocal是什么 ThreadLocal是一个本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰,在高并发场景下,可以实现无状态的调用,特别适用于各个线程依赖不通的变量值完成操作的场景。 从数据结构入手 下图为ThreadLocal的内
阅读全文
摘要:先看一下和MyBatis 不同点说明: 最大的不同点在entity层直接可以调用superEntity,直接实现默认的一些增删改查 2.对于原生service层改造实现,默认实现baseMapper, baseMapper 默认实现了mapper的常规使用写法方式。 3.UserMapper 继承
阅读全文
摘要:volatile的介绍: Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终需要转化为汇编指令在CPU上执行,Java中所使用的并发机制依赖于JVM的实现和CPU的指令。本章我们将深入底层一起探索下Java并发机制的底层实现原理。 在多线程并发编程中sy
阅读全文