自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(203)
  • 资源 (3)
  • 收藏
  • 关注

原创 【集合】PriorityQueue 源码分析

PriorityQueue 的 offer,peek,poll 源码分析以及底层数据结构分析。

2022-02-22 18:47:15 1347

原创 【集合】ArrayDeque 源码分析

ArrayDeque 的 push,peek,pop 以及底层数据结构分析。

2022-02-14 11:50:41 462

原创 【JVM调优】JVM 参数说明

前言JVM 参数很多,不同 JDK 版本也有所不同,不同的搭配性能也不一样,只能反复根据自己业务进行压测调整,达到一个适合业务的较佳状态。下面以一个 JDK8 常用配置进行一些基本参数分析说明。一、项目参数export JAVA_OPTS=" -server -Xms5078M -Xmx5078M -Xmn3048M -Xss256K -XX:SurvivorRatio=8 -XX:MetaspaceSize=256m -XX:MaxMetaspaceS

2021-11-30 19:21:08 1654

原创 【JVM调优】Linux top 命令详解

Linux top 命令详情多核 cpu 显示每核信息,在上面基础上按 1 即可。二 top 命令详解针对此图进行说明。 项目 说明 top 基本信息名称 09:52:59 系统当前时间 up 1261 days, 18:11 系统开机到现在经过了多少时间 1 user 当前 1 个用

2021-11-18 11:50:05 1236

原创 【集合】LinkedHashMap 源码分析

前言一 概述二 实例三 LinkedHashMap 底层实现重点分析 put(),get()/getOrDefault(),removeEldestEntry()。类结构构造器LinkedHashMap#put()LinkdedHashMap#get()LinkedHashMap#removeEldestEntry()四 总结...

2021-07-06 21:57:09 723 2

原创 【集合】HashSet 源码分析

HashSet 存储结构,应用场景,实现原理

2021-06-13 23:14:56 396 1

原创 【RocketMQ】架构设计

RocketMQ 集群部署、顺序写消息、零拷贝、pull 和 push 消费获取方式

2021-06-09 20:10:12 452

原创 【集合】SynchronizedMap 源码分析

前言Github:https://github.com/yihonglei/jdk-source-code-reading

2021-06-04 18:39:52 546 1

原创 【并发编程】Daemon 线程

前言Github:https://github.com/yihonglei/jdk-source-code-reading(java-concurrent)Daemon 线程Daemon 线程(守护线程)是一种支持型线程,主要用于程序中后台调度以及支持工作。Java 虚拟机退出的条件是 Java 虚拟机中不存在非 Daemon 线程,当存在普通线程,Java 虚拟机不能自动退出。在线程启动前,可以使用 Thread.setDaemon(true) 将线程设置为 Daemon 线程,启动后

2021-02-03 12:17:45 642

原创 【并发编程】ReentrantReadWriteLock 源码分析

ReentrantReadWriteLock 读写锁,写写互斥,写读互斥,读读共享,适用于读多写少环境。

2021-01-27 20:37:59 332

原创 【daisy-framework】分布式事务技术选型

分布式事务技术方案,本地事务,2PC,TCC,本地消息表,MQ 事务消息等。

2021-01-22 14:12:56 597 1

原创 【daisy-framework】MySQL 开发规范

MySQL 命名规范,基本设计规范,字段设计规范,索引设计规范,常见索引列建议,如何选择索引列的顺序,以及数据库 SQL 开发规范

2021-01-17 21:07:35 276

原创 【进阶】主从复制原理及作用

前言Github:https://github.com/yihonglei/road-of-arch/tree/master/thinking-in-mysql参考文献主从复制:https://www.cnblogs.com/Aiapple/p/5792939.html主从复制:https://www.jianshu.com/p/cfcd27a4a459MySQL 官网主从复制:https://dev.mysql.com/doc/refman/5.7/en/replication.htm

2021-01-16 22:16:28 1166

原创 【daisy-framework】SpringBoot+MyBatis+Druid 多数据源

前言Github:https://github.com/yihonglei/daisy-framework/tree/master/daisy-springboot-framework(daisy工程)概述多数据源主要解决高并发读写分离或多库在一个应用处理系统业务。多数据源中心思想一样,但是根据自己业务情况有很多种写法实现多数据源,也有很多知名或不知名的开源分布式 ORM 框架设计时候就按照多数据源设计的,使用时候天然就支持。多数据源个人觉得要满足如下基本使用功能:1、有多个业务

2021-01-08 18:09:47 675

原创 【集合】PriorityBlockingQueue 源码分析

前言Github:https://github.com/yihonglei/jdk-source-code-reading(java-concurrent)一概述PriorityBlockingQueue基于数组实现的顺序队列,有界队列,默认 数组大小 11。二 PriorityBlockingQueue 实例package com.jpeony.concurrent.queue;import java.util.concurrent.PriorityBlockingQueue..

2020-12-22 20:39:23 337

原创 【集合】ArrayBlockingQueue 源码分析

前言Github:https://github.com/yihonglei/jdk-source-code-reading(java-concurrent)一概述ArrayBlockingQueue基于数组实现的有界顺序队列。二 ArrayBlockingQueue 实例三 ArrayBlockingQueue 底层实现主要分析 put()/offer() 入队操作,take()/poll() 出队操作。重要属性public class ArrayBlocking...

2020-12-21 20:27:25 368

原创 【集合】ConcurrentHashMap 源码分析

前言Github:https://github.com/yihonglei/jdk-source-code-reading主要分析 JDK8 版本源码。HashTable 源码分析HashMap 源码分析一 概述ConcurrentHashMap 是一种支持高并发和线程安全的散列表。二 实例简单 Demo。package com.jpeony.java.map;import java.util.concurrent.ConcurrentHashMap;/**

2020-12-05 17:03:21 377

原创 【集合】HashMap 源码分析

前言Github:https://github.com/yihonglei/jdk-source-code-reading主要分析 JDK8 版本源码。一 概述HashMap 是一种非线程安全的散列表,散列表英文名“Hash Table”,也叫 “哈希表” 或 “hash 表”,散列表用的是数组支持按照下标随机访问的特性,是数组的一种扩展,HashMap 在 JDK7使用链表法(chaining)解决 hash 冲突,简单来说,就是基于数组 + 链表实现,HashMap 在 JD..

2020-12-05 10:22:00 418

原创 【集合】HashTable 源码分析

HashTable 源码分析,散列表数据结构分析......

2020-12-01 14:52:20 424

原创 【集合】Stack 源码分析

前言Github:https://github.com/yihonglei/jdk-source-code-reading(java-collection)一 概述Java 里面的 Stack 底层基于数组实现,栈也可以用链表实现,是一种后进先出的容器。二 实例简单 Demo。package com.jpeony.collection.stack;import java.util.Stack;/** * @author yihonglei */public class

2020-11-05 19:49:29 412

原创 【集合】LinkedList 源码分析

前言Github:https://github.com/yihonglei/jdk-source-code-reading(java-collection)一LinkedList 概述LinkedList基于双向链表实现,主要特性:二ListkedList 实例三 LinkedList 底层实现四 总结

2020-11-03 20:42:01 369

原创 【集合】Vector 源码分析

前言Github:https://github.com/yihonglei/jdk-source-code-reading(java-collection)一 Vector 概述Vector日常应用中不常用,底层也是基于数组实现的,跟ArrayList最大的区别就是Vector通过Synchronized实现线程安全,而ArrayList是非线程安全的,理解ArrayList(ArrayList源码分析),Vector几乎也都理解了。二 Vector 实例来个简单的demo。p

2020-11-01 15:14:50 363

原创 【集合】ArrayList 源码分析

ArrayList 数组实现,查找快,插入和删除慢,支持动态大约1.5倍扩容等等。

2020-10-07 23:23:50 531 2

原创 【并发编程】Java线程顺序执行方式

前言GitHub:https://github.com/yihonglei/thinking-in-concurrent概述T1、T2、T3如何保证线程顺序执行?直接上Demo吧!一 Join方法Join方法是最常用的方式,底层通过wait即加了synchronized同步锁和notify通知逻辑实现。Join实现原理:https://blog.csdn.net/u010983881/article/details/80257703package com.jpeony.co

2020-07-28 14:00:12 481

原创 【并发编程】进程与线程

前言GitHub:https://github.com/yihonglei/thinking-in-concurrent一 进程进程是程序执行的单元,每个进程提供程序执行所需的资源,由操作系统创建、调度、终止使用CPU。进程具有虚拟地址空间,可执行代码,打开系统对象的句柄,具有安全的上下文,有一个唯一的进程标识符,环境变量,优先级类,能进行最小和最大工作集大小设定,每个进程至少要有一个线程。每个进程都是从一个线程开始的,通常称为主线程,但是可以从它创建额外任何线程。二 线程线

2020-07-26 17:26:22 196

原创 【Spring源码】IOC容器实现-AnnotationConfigApplicationContext(注解方式)初始化

前言Github:https://github.com/yihonglei/thinking-in-springIOC容器XML方式实现源码:IOC容器结构体系BeanDefinition的Resource定位BeanDefinition的载入和解析BeanDefinition的注册Bean对象的创建Bean依赖注入一 IOC容器注解方式实现概述Spring注解方式减少了大量XML配置工作和代码复杂性,降低开发和维护成本。常用的Spring注解@Component

2020-07-04 22:25:45 1564

原创 【SpringMVC源码】执行源码分析

前言Github:https://github.com/yihonglei/thinking-in-springmvc一 SpringMVC概述Spring MVC封装servlet的MVC Web开发框架,减轻直接操作Servlet的繁琐,提高开发效率。二 Spring MVC执行流程源码1、时序图先上一个简易版本的。DispatcherServlet负责请求的转发 ------> HandlerMapping基于url查找Handler------> ..

2020-06-17 19:58:56 421

原创 【SpringMVC源码】启动源码分析

前言Github:https://github.com/yihonglei/thinking-in-springmvc一 SpringMVC概述Spring MVC封装servlet的MVC Web开发框架,减轻直接操作Servlet的繁琐,提高开发效率。二 SpringMVC启动流程源码1、启动时序图这里假设使用的web容器是Tomcat,初始化Spring MVC的大致过程如下。初始化Servlet实例(Tomcat)------> DispacherServlet(.

2020-06-17 10:17:21 397

原创 【daisy-framework】延时任务(DelayTask)

前言Github:https://github.com/yihonglei/daisy-framework一 延时任务延时任务依靠延时队列实现。我们有定时任务了,为什么还需要延时任务?假如一个线程每隔5s去处理一次业务,这个业务依赖别的条件,有可能处理成功,有可能处理失败,如果处理成功,则线程退出,如果处理失败,我们需要让任务隔5s再次去处理,如果处理失败,继续5s周期去处理,但是,这个任务经过20s的时候还是没有处理业务成功,线程退出,不继续处理。这个场景是假设的场景,通过别的

2020-06-14 20:55:00 1084

原创 【集合】LinkedBlockingQueue 源码分析

LinkedBlockingQueue 源码分析 put/offer 入队,take/poll 出队

2020-06-04 17:28:37 484

原创 【daisy-framework】事件监听(event,listener)

前言Github:https://github.com/yihonglei/daisy-framework一 事件监听Java很多web框架源码都能看到很多事件监听的存在,主要解决的问题就是类似观察者模式的行为,当一件事情发生的时候,其他的相关事情需要知道并处理。事件监听三要素: 事件源,事件对象,事件监听器。1、监听器需要注册,即注册到某个数据结构,map或list等等存储起来;2、一件事情的发生源头,这件事情需要触发监听器,让监听器能感受到,监听器才能去处理业务;3、

2020-05-24 19:14:32 680

原创 【集合】CopyOnWriteArrayList 源码分析

读写分离场景、线程安全、效率等

2020-05-15 12:59:15 1078

原创 【daisy-framework】缓存中间件技术选型

缓存应用场景、一致性、持久化、冷热数据、雪崩等

2020-04-08 15:43:54 796

原创 【daisy-framework】消息中间件技术选型

RocketMQ、RabbitMQ、Kafka、ActiveMQ 选型 应用场景、高可用、消息持久化、顺序性、大量积压处理等

2020-04-07 09:53:38 617

原创 【daisy-framework】集成 RocketMQ

前言Github:https://github.com/yihonglei/rose-framework一rose-rocketmq-spring-boot-starter介绍自定义rocketmq的starter,使用rocketmq时直接引入jar包使用即可。二rose-rocketmq-spring-boot-starter实现1、项目结构2、项目说明an...

2020-01-14 10:59:49 370

原创 【daisy-framework】项目命名规范

前言Github:https://github.com/yihonglei/rose-framework一 rose-framework介绍Spring Boot前后端分离,集成MyBatis、数据库、消息中间件、缓存中间件、分布式锁、分布式事务、异步事件、自定义监控系统、自定义常用基础组件等常用Web开发技术,方便于自己平时使用时随机摘取使用。二 技术架构开发语言:Jav...

2020-01-12 16:32:43 697

原创 【并发编程】饱和策略实现原理

Abort策略、CallerRuns策略、Discard策略、DiscardOldest策略、自定义饱和处理策略等。

2019-11-23 21:13:08 529

原创 【JVM原理】Java 内存模型

共享内存、线程消息传递、线程同步等。

2019-11-23 17:21:37 360

原创 【并发编程】AQS 源码分析

同步队列、共享资源、公平、非公平、线程池模板方法等。

2019-10-15 09:15:23 938 1

原创 【并发编程】Java 锁实现原理

乐观锁、悲观锁、公平锁、非公平锁、独占锁、共享锁、重入锁等。

2019-09-29 15:04:02 636

redis客户端管理工具

redis客户端管理工具

2017-08-16

nexus.war形式私服下载

maven私服nexus.war形式启动私服

2017-01-23

jenkins服务

2016-12-13

空空如也

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

TA关注的人

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