自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

原创 Springboot源码解读启动过程

练功得先有武功秘籍总纲,所以我们先来说下启动的整个流程机制,然后才来挖掘源码细节。

2023-03-22 23:51:17 229

原创 fork一个开源项目参与其中

参与开源项目,怎么fork该项目

2023-03-11 15:46:06 149

原创 Kafka的底层高性能实现解读

该篇主要模拟推演kafka从0到1的演变过程,看看一台消息中间件是怎么一点点搭建起来的,其中也会讲述到怎么预防消息丢失,重复消费等问题。

2023-02-12 01:48:40 257

原创 kafka的实操命令与spring整合入门

记录下kafka窗口命令的使用,以及springboot使用kafka开发项目,不太讲述理论。

2022-12-12 02:57:52 260

原创 kafka的安装搭建

Kafka就不介绍了,主要记录下安装的过程。

2022-11-13 23:42:11 1547

原创 Mysql探索(五)之log文件与事务的实现

redo log是mysql用来记录DML语句(写操作)的文件机制,对应的是上边的ib_logfile+序号文件,主要是用来恢复数据的,当我们的服务器宕机了,那些已经执行了语句但是还没提交的数据,或者已经提交了事务但是还没持久化的数据就有可能丢失了,当我们重启的时候就需要恢复这小部分数据,这时候就需要redo log中记录的写操作信息,然后重新执行一遍,这也是重来日志的名称由来,但是未提交事务那部分数据的就需要回滚了,这时候就需要undo log的登场了,这里记录着对应的回滚sql语句。

2022-10-25 01:08:35 1319

原创 Spring Data JPA自定义查询方法的关键字

记录下来方便以后随时查。

2022-09-21 13:16:52 210

原创 JVM之垃圾收集器

没有垃圾收集器,JVM就没有灵魂,java也就没那么好相处了。今天来了解下JVM如何一步步辩识出哪些是垃圾对象,哪些是好对象,又是怎么做清理的,如何整理被清理后的空间碎片?

2022-09-19 23:02:04 169

原创 Mysql探索(四)之InnoDB的内存buffer和I/O线程

mysql执行sql都是先数据到内存中,然后再将内存中的修改过的数据刷到磁盘中,Innodb的内存结构是映射磁盘的页结构的,那都会有哪些划分呢?有内存数据,则需要保证缓存一致性问题,Innodb是怎么做到的呢?mysql的IO线程,Innodb的三大特性啊这些等等,都来探究下。...

2022-08-28 23:43:19 854

原创 Mysql探索(三)之InnoDB的索引与事务

Innodb的索引是核心成员,掌握了索引才能知道mysql在执行sql后,mysql是如何检索数据的,也就知道了这条sql的优劣之处,对于我们调优sql有很大的帮助。事务的存在是mysql保证数据原子一致性的重要手段,也是认知mysql必须要懂的知识点。...

2022-08-07 19:30:17 175

原创 Mysql探索(二)之InnoDB底层存储结构

了解mysql底层存储结构,知道db数据是怎么存储的,这对于深入了解mysql底层运行原理尤为关键,一看到crud操作时,脑海若能浮现底层数据运作情况,则为绝佳。如果懂得索引,buffer,log等InnoDB底层技术,再看这篇,相信也会有意想不到的收获。...

2022-07-24 23:35:20 870

原创 Mysql探索(一)之sql语句被mysql数据库流水线加工

当我们执行一条sql语句时,是怎么流经mysql数据库的,又会怎么一步步被加工处理的,探索下以便对myqsl数据库有个宏观的认知。我觉得这个步骤是初识Mysql中很基层重要的一步,如同房子中的地基,是学好mysql的前提。...

2022-07-21 00:52:56 434

原创 网络编程之BIO、NIO

今来聊聊BIO、NIO编程的原理,还有IO多路复用器selector的底层原理与零拷贝技术,算是回顾下socket这些网络编程。

2022-07-04 00:06:37 272

原创 网络通信原理之TCP,UDP,QUIC

此篇讲述下计算机网络体系结构及网络通信模型、TPC/IP协议、UDP 和 QUIC。我们所有的工作生活都离不开网络,那么什么是网络呢?看了定义之后应该就能理解,就是通过网线,卫星基站等将各个电脑等设备连接起来,构成互联网,实现文件共享和信息传递的功能的系统。OSI:open system interconnection(开放互连系统参考模型),是对各种协议提供标准化的一种框架模型,它给出了7层的理论模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。根据该模型演绎出TCP/IP模型,这是我

2022-06-16 23:49:47 768

原创 Redis的数据类型结构与Redis特性

来聊聊redis的数据类型和底层的数据结构实现,随便看看在redis6和redis7出现的数据结构,主从复制机制的优化,Stream队列,IO多路复用等特性。redis是基于内存k-v的数据库,那它都提供了哪些数据类型和应用场景呢?如果我们要选用redis加入自己的系统架构,那我们需要redis为我们做什么呢?或者说为什么要选用redis?redis主要提供了5种数据类型:string,hash,list,set,sorted set类型,当然还有一些其他的如bitmap,hyperLogLog类型等等,

2022-06-11 21:33:24 549

原创 JVM的运行时数据区以及对象又是怎么一步步创建出来的

每天一小记,今天来看看JVM的运行时数据区。

2022-06-01 10:59:43 117

原创 redis实现高性能缓存架构

菜鸟这次来看下怎么用redis实现高性能的缓存,能够应付高并发的访问。

2022-05-22 18:12:57 642

原创 java进程到底是怎么运行起来的

平时运行java程序都是java -c xxx.java, java xxx.class, java -jar xxx.jar等命令,然后我们的类或者jar包项目就能跑起来了,那么java里面到底做了什么操作呢?现在就来解读一下:

2022-05-10 00:32:26 306

原创 Redis实现分布式锁

已经有了实现redis分布式锁的第三方包,比如redisson就有各种锁,这篇主要研究下实现redis分布式锁的思路。当我们的系统是单机时,可以使用synchronized/CAS来控制数据共享问题,但是当系统做大做强了,单机顶不住了,则需要加机器,这时候还用synchronized/CAS来处理数据共享问题就不行了,这时候就可以借助redis来实现。我们知道redis有个setnx命令:set一个值,如果存在则返回false,并且不set进去,如果不存在则set进去,并且返回true;根据这特性我们

2022-05-05 22:04:06 145

原创 redis持久化与架构搭建

记录一下学习笔记。redis作为一个内存数据库,读写数据非常高效,能够搭建非常好的高可用架构,虽然是内存数据库,但是也提供了不错的持久化方式。redis支持的持久化方式:RDB快照方式(二进制的方式存储)AOF方式(命令的方式存储,resp协议)混合方式(rdb+aof的方式)RDB持久化方式在redis目录下,有个dump.rdb文件,redis在持久化过程中,会将数据以二进制的方式写进dump.rdb文件。redis.conf是redis最重要的配置文件,所有配置信息包括集群都在该配

2022-04-17 22:42:39 523

转载 springboot项目因项目间的依赖在打包时提示“程序包xxx不存在,找不到符号”

springboot多包工程,在使用maven进行打包的时候,一直提示“程序包xxx不存在,找不到符号”,但项目是可以正常启动运行的,开始一直以为是maven哪里没有配置好导致的,后来才发现原来是springboot的maven插件导致的。 项目结构: xxx-p...

2020-09-12 21:58:24 1095

原创 谈谈synchronized和Lock

今天想来聊聊同步线程的问题,这是个老生常谈的话题,而且这个也是我面试经常遇到的高频问题,我觉得是时候跟两位老兄聊聊人生了。首先来单独找它们聊聊,再做个总结看看两者的区别。先和synchronized老一哥促膝长谈小草:synchronized哥,作为java王朝的元老级人物,您一直致力于‘线程安全’这块领域,且躬身于底层操作系统中工作,还提出了三个有效线程同步的治理方针。众所周知您有以下三政策:// 1. 同步代码块(对象锁)public void test(){ synchronized(t

2020-08-25 02:32:48 362

原创 由leetcode的整数反转引发的Integer.reverse源码解读

在看leetcode题时有个整数反转的题,比如将123变为321之类的,溢出返回0,这让我想起了java里的Integer整数类里有个反转方法reverse,就想看看两者是不是一样的?如果不一样,能否将Integer这种反转方式应用到题目上?是否只有数学方式一个个位数倒置?Integer.reverse的源码如下:public static int reverse(int i) { // HD, Figure 7-1 i = (i & 0x55555555) << 1 | (i

2020-08-17 01:53:35 223

原创 idea工具扩展javap工具执行报类不存在错误

我本着想添加javap -c工具来查看下代码的字节码,步骤如下:打开settings:在tools里面配置javap工具,参数如下:配置完后在相应的类中右键->extend tools执行命令,结果发现会报找不到类找不到类错误:"C:\Program Files\Java\jdk1.8.0_241\bin\javap.exe" -c com.ryoma.test.JavapTest然后我查看了下自己JavapTest类里对应的文件夹位置,看到确实没有JavapTest.

2020-08-10 00:43:41 577

原创 JMH性能测试:JSON工具测试

JMH性能测试:JSON工具测试JMH(Java Microbenchmark Harness): 是专门用于微基准测试的api工具,我们可以通过JMH来对热点函数进行定量的分析,然后进行优化。比较典型的应用就是:* 精准知道某方法的执行时长,以及执行时间t和输入p之间的相关性;* 比较不同接口实现,查找最佳性能方法官方地址先用maven将依赖引入: <!--JMH性能测试的--> <dependency> <groupId>org.openjdk.j

2020-07-29 00:50:32 483

原创 web端读取本地excel表数据

听说发文有积分,我就来试试了,请大家不要喷我,我只是个孩子。使用的js插件是js-xlsx,下载地址:https://github.com/SheetJS/js-xlsx,大家可以自行下载。var len = 2;//这值是随便定义的,下面会被覆盖掉 /** * 加载表格数据 * @param {[type]} urlArr 数组:需要加载的excel表路径 ...

2019-03-28 09:46:51 2947

jdk1.8 cn版本api.zip

这个是jdk1.8的中文版api文档,所谓取之于众回馈于众,同时也是想着不在自己电脑的时候能够找到资源来阅读。

2020-09-04

空空如也

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

TA关注的人

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