JAVA
zztIsGood
这个作者很懒,什么都没留下…
展开
-
基于不同场景的幂等性技术实施方案
背景 在实际操作的过程中很多业务都需要校验操作的幂等性,譬如: 防止表单重复提交 账户金额扣减 MQ消息的重复消费 幂等性的概念 幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。在编程中,一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。(通俗的理解就是,一次操作和多次操作产生的影响都是相同的) 幂等性的技术实现 DB操作 ...转载 2020-04-15 09:22:51 · 246 阅读 · 0 评论 -
kafka 权威指南笔记
1.2 kafka 登场 1.2.1 消息和批次 Kafka 的数据单元被称为消息。 为了提高效率,消息被分批次写入 Kafka 批次就是 组消息,这些消息属于同一 主题和分区。 1.2.2 模式 可以理解是kafka的消息结构;序列化协议 1.2.3 主题和分区 主题可以被分为若干个分区 个分区就是一个提交日志。消息以追加的方式写入分区,然后以先入先出的顺序读取。由于一个主题可以被分为多个分...原创 2020-04-06 20:36:12 · 393 阅读 · 0 评论 -
JVM 监控工具使用
jmap(查看内存) -heap 打印内存统计的数据(在mac 上有bug) -histo[:live] 查看类在jvm中实例化的对象的统计;如果添加live参数,则只统计当前存活的对象 jmap -dump:file=XXX.hprof,format=b pid 生成heapdump文件 jmap -heap sh-4.1# jmap -heap 1 Attaching to process...原创 2020-04-06 14:17:45 · 458 阅读 · 0 评论 -
JAVA SpringBoot 项目打成jar包供第三方引用自动配置(Spring发现)解决方案
需求描述 当我们想要利用SpringBoot封装一套组件并发布给第三方使用时,我们就不得不考虑我们的组件能否被使用者正确引入使用,此处描述的时打包成 jar 包后 Spring 配置类不为扫描、未注册Bean的问题。 解决方案 此处提供三种解决方案,友好型依次提升。 1、使用者手动配置 basePackages 2、使用者通过注解方式启用配置 3、SpringBoot 主动发现 正文开始 第一种:...转载 2019-12-17 10:05:53 · 1027 阅读 · 0 评论 -
JAVA程序员基本修养笔记
数组及其内存管理 java数组是静态的(静态变量被初始化之后不可以再次赋值),当数组被初始化之后该内存空间和数组长度都不可以变化。 静态数组初始化 (指定数组内容,由系统指定数组长度) 动态初始化(指定数组长度之后再次赋值数组内容) java数组变量是一种引用变量,数组变量并不是数组本身,他是指向堆内存中的数组对象 对数组执行初始化,并不是对数组变量执行初始化,而是对数组对象初始化,分配一...原创 2019-11-04 08:51:22 · 165 阅读 · 0 评论 -
JAVA8日期API
https://blog.csdn.net/weixin_40413816/article/details/83658973转载 2019-09-11 18:07:24 · 147 阅读 · 0 评论 -
平时碰到系统CPU飙高和频繁GC,排查的基本解决思路
对于线上系统突然产生的运行缓慢问题,如果该问题导致线上系统不可用,那么首先需要做的就是,导出jstack和内存信息,然后重启系统,尽快保证系统的可用性。这种情况可能的原因主要有两种: 代码中某个位置读取数据量较大,导致系统内存耗尽,从而导致Full GC次数过多,系统缓慢; 代码中有比较耗CPU的操作,导致CPU过高,系统运行缓慢; 相对来说,这是出现频率最高的两种线上问题,而且它们会直接导致系统...转载 2019-08-17 16:10:06 · 390 阅读 · 0 评论 -
JAVA8 Lambda reduce的用法
JAVA8-LAMBDA中reduce的用法 理解、学习与使用 JAVA 中的 OPTIONAL转载 2019-08-05 18:40:05 · 4919 阅读 · 0 评论 -
SpringBoot 配置参数加载顺序
顺序如下: 数字小的优先级越高,即数字小的会覆盖数字大的参数值,我们来实践下,验证以上配置参数的加载顺序。 1、开发者工具 `Devtools` 全局配置参数; 2、单元测试上的 `@TestPropertySource` 注解指定的参数; 3、单元测试上的 `@SpringBootTest` 注解指定的参数; 4、命令行指定的参数,如 `java -jar springboot.jar ...转载 2019-08-01 11:38:27 · 453 阅读 · 0 评论 -
JAVA多态
1、缺陷:覆盖私有方法 2、缺陷:域与静态方法 这里的静态和域 与私有方法类似;会开辟独立的空间进行存储。原创 2019-05-17 08:50:48 · 174 阅读 · 0 评论 -
线程池的实现方式
ThreadPoolExecutor 概述: Executor框架的最顶层实现是ThreadPoolExecutor类,Executors工厂类中提供的newScheduledThreadPool、newFixedThreadPool、newCachedThreadPool方法其实也只是ThreadPoolExecutor的构造函数参数不同而已。通过传入不同的参数,就可以构造出适用于不同应用场景下...原创 2019-03-10 15:15:06 · 266 阅读 · 0 评论 -
JVM 概念与参数调优
JVM 基本概念 JVM运行时数据区分类 JVM栈 (Java Virtual Machine Stacks) 堆内存 (Heap Memory) 方法区 (Method Area) 本地方法栈 (Native Method Stacks) 程序计数器 (Program Counter (PC) Register) 作者:张启露 来源:CSDN 原文:https://blog.csdn.ne...转载 2019-02-28 21:36:05 · 232 阅读 · 0 评论