java_wxid
码龄4年
  • 1,194,009
    被访问
  • 547
    原创
  • 181
    排名
  • 12,138
    粉丝
关注
提问 私信

个人简介:我是廖志伟,一名Java资深开发工程师、Java领域优质创作者、CSDN博客专家、CSDN幕后大佬社区创始人、CSDN开源导航贡献者。拥有多年一线研发经验,参与并主导过多个百万级并发的互联网产品研发和系统架构搭建,研究过主流框架的底层源码(Spring、SpringBoot、Spring MVC、SpringCould、Mybatis、Dubbo、Zookeeper),消息中间件底层架构原理(RabbitMQ、RockerMQ、Kafka)、Redis缓存、MySQL关系型数据库、 ElasticSearch全文搜索、 MongoDB非关系型数据库、分库分表ShardingSphere。

  • 目前就职: 上海梦创双杨数据科技股份有限公司
  • 加入CSDN时间: 2018-09-21
博客简介:

廖志伟

博客描述:
一名万粉博主,博客专家,Java领域优质创作者,博文分享超五百篇,访问量超一百万,总排名前二百名。
查看详细资料
  • 8
    领奖
    总分 5,150 当月 192
个人成就
  • Java领域优质创作者
  • 博客专家认证
  • 获得8,368次点赞
  • 内容获得10,064次评论
  • 获得10,909次收藏
创作历程
  • 44篇
    2022年
  • 184篇
    2021年
  • 46篇
    2020年
  • 167篇
    2019年
  • 108篇
    2018年
成就勋章
TA的专栏
  • 资深开发进阶
    付费
    15篇
  • 高级开发进阶
    付费
    86篇
  • 中级开发进阶
    付费
    100篇
  • Tomcat
    付费
    5篇
  • Java基础知识点
    11篇
  • JavaSE
    18篇
  • Java集合
    9篇
  • JVM
    12篇
  • MySQL
    23篇
  • ShardingSphere
    1篇
  • JDBC
    1篇
  • MyBatis
    11篇
  • Web
    21篇
  • Spring
    14篇
  • Spring MVC
    17篇
  • SpringBoot
    2篇
  • SpringCloud
    6篇
  • Redis
    35篇
  • 消息队列
    10篇
  • RabbitMQ
    6篇
  • RocketMQ
    2篇
  • Kafka
    10篇
  • 全文检索
    8篇
  • 服务器
    35篇
  • 多线程
    12篇
  • Gateway
    1篇
  • Spring Security Oauth2
    1篇
  • 页面模板引擎
    3篇
  • Demo
    4篇
  • 简历
    2篇
  • Linux
    17篇
  • Nginx
    1篇
  • Activiti
    1篇
  • Dubbo
    1篇
  • Docker
    12篇
  • James
    1篇
  • Zookeeper
    3篇
  • FastDFS
    1篇
  • Maven
    3篇
  • MongoDB
    8篇
  • 各种锁
    6篇
  • 技术汇总
    18篇
  • 工作日志
    28篇
  • 理论知识
    14篇
  • 初中级面试
    16篇
  • P5/P6级的面试题
    3篇
  • 系统归类
    1篇
  • 国产化数据库
    3篇
  • 算法
    1篇
  • 架构
    8篇
  • 总结
    3篇
  • 接口文档
    2篇
  • 队列
    1篇
  • IDE开发工具
    7篇
  • 架构设计
    9篇
  • 电商网站
    5篇
  • 前端框架
    3篇
  • 分布式部署
    4篇
  • 个人网站建设
    7篇
  • 我的收藏
    4篇
  • 我的分享
    13篇
  • 项目管理
    1篇
TA的推广
兴趣领域 设置
  • Java
    tomcatjarmavenintellij-ideajava-ee
  • 开发工具
    githubgitsvnideintellij idea
  • 数据库管理
    数据仓库
  • 后端
    spring爬虫后端架构
  • 云原生
    zookeepereurekagateway云原生微服务服务发现
  • 人工智能
    图像处理
  • 网络
    httpsslhttpswebsocket网络安全tcpdump网络协议tcp/iprpc
  • 操作系统
    windows
  • 搜索
    elasticsearch搜索引擎全文检索中文分词
  • 测试
    单元测试测试工具压力测试测试用例集成测试模块测试测试覆盖率安全性测试威胁分析可用性测试功能测试
  • 软件工程
    需求分析团队开发个人开发敏捷流程性能优化
  • 区块链
    区块链
  • 运维
    docker容器kubernetes
  • 服务器
    linux
  • 职场和发展
    leetcode职场和发展面试程序人生
TA的社区
  • 幕后大佬
    122 成员 309 内容
新媒体平台
点击【主页】
点击【社区】
点击【语雀】
点击【码云】
点击【知乎】
点击【思否】
点击【简书】
点击【快手】
点击【抖音】
点击【CSDN】
点击【腾讯云】
点击【阿里云】
点击【华为云】
点击【博客园】
点击【小红书】
点击【企鹅号】
点击【百家号】
点击【大鱼号】
点击【搜狐号】
点击【大鱼号】
点击【快传号】
点击【网易号】
点击【凯迪网】
点击【Gitcode】
点击【InfoQ】
点击【博客网站】
点击【稀土掘金】
点击【开源中国】
点击【新浪微博】
点击【今日头条】
点击【百度贴吧】
点击【哔哩哔哩】
点击【微信公众号】
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

【双亲委派】

类加载器将.class文件加载到JVM,首先是看当前类是不是使用自定义加载类加载的,如果不是,就委派应用类加载器加载,如果有加载过这个class文件,那就不用再加载了。如果没有,那么会拿到父加载器,然后调用父加载器的loadClass方法。父类的扩展类加载器同理也会先检查自己是不是已经加载过,如果没有再往上,看看启动类加载器。到启动类加载器,已经没有父加载器了,这时候开始考虑自己是否能加载了,如果自己加载不了,就会下沉到子加载器去加载,一直到最底层,如果没有任何加载器能加载,就会抛出ClassNotF.
原创
发布博客 11 小时前 ·
3 阅读 ·
0 点赞 ·
0 评论

【InnoDB的主键自增长实现原理】

文章目录自增长在数据库中是非常常见的一种属性,也是很多DBA或开发人员首选的主键方式。在InnoDB存储引擎的内存结构中,对每个含有自增长值的表都有一个自增长计数器(auto-increment counter)。当对含有自增长的计数器的表进行插入操作时,这个计数器会被初始化,执行如下的语句来得到计数器的值:SELECT MAX(auto_inc_col)FROM t FOR UPDATE;插入操作会依据这个自增长的计数器值加1赋予自增长列。这个实现方式称做AUTO-INC Locking。这.
原创
发布博客 前天 09:00 ·
145 阅读 ·
4 点赞 ·
3 评论

【类加载机制】

文章目录第一步,加载,一个Java源文件进行编译之后,成为一个class字节码文件存储在磁盘上面,这个时候jvm需要读取这个字节码文件,通过通过IO流读取字节码文件,这一步就是加载。第二步,验证,JVM读到文件也不是直接运行,还需要校验加载进来的字节码文件是不是符合JVM规范。验证的第一步就是文件的格式验证,验证class文件里面的魔数和主次版本号,发现它是一个jvm可以支持的class文件并且它的主次版本号符合兼容性要求,所以验证通过。然后又回到了加载,它会将class文件这个二进制静态.
原创
发布博客 2022.05.23 ·
12 阅读 ·
0 点赞 ·
0 评论

【AQS】

AQS的全称是AbstractQueuedSynchronizer,也就是抽象队列同步器,它是在java.util.concurrent.locks包下的,也就是JUC并发包。java提供了synchronized关键字内置锁,还提供了显示锁,而大部分的显示锁的底层都用到了AQS,比如只有一个线程能执行ReentrantLock独占锁,又比如多个线程可以同时执行共享锁Semaphore、CountDownLatch、ReadWriteLock、CyclicBarrier。AQS使用模板方法模式,使用者继.
原创
发布博客 2022.05.22 ·
108 阅读 ·
4 点赞 ·
2 评论

【线程池】

文章目录底层运行原理七大核心参数如何合理的配置核心线程数?拒绝策略实际创建线程池底层运行原理线程池就是控制运行的线程数量,处理过程中将任务放到队列,然后在线程创建后启动这些任务,如果线程数量超出了最大数量就排队等候,等其他线程执行完毕再从队列中取出任务执行。线程池相当于银行网点,常驻核心数相当于今日当值窗口,线程池能够同时执行的最大线程数相当于银行所有的窗口,任务队列相当于银行的候客区,当今日当值窗口满了,多出来的客户去候客区等待,当候客区满了,银行加开窗口,候客区先来的客户去加班窗口,当银行所有的.
原创
发布博客 2022.05.22 ·
112 阅读 ·
4 点赞 ·
2 评论

【可达性分析、强软弱虚引用、gc的过程中对象是否能回收、三色标记、跨代引用】

可达性分析通过gc root根节点,从跟节点开始进行引用链的搜索,如果对象搜索不到,就证明这个对象是不可达的,就会在三色标记算法把这个对象标记为白色不可达,最终引发垃圾回收。gc root是可达性分析的起点,gc root有几种,第一种,虚拟机栈里面引用的对象,也就是栈帧中的本地变量,第二种,本地方法栈里面的引用对象,第三种,方法区里面的静态属性引用的对象,第四种,方法区里面的常量引用对象,第五种,java虚拟机内部也有引用,这个也需要作为gc root,第六种,锁,锁的获取和释放,获取的话会持有对象.
原创
发布博客 2022.05.21 ·
161 阅读 ·
9 点赞 ·
5 评论

【垃圾回收器、垃圾回收算法、空间分配担保】

文章目录SerialParNewParallel scavenge复制算法分代收集算法空间分配担保Serial OldParallel old标记整理算法CMS标记清除算法G1垃圾回收器有多个,先说新生代的三个垃圾回收器,serial,parnew,parallel scavenge,然后再说老年代的serial old,parallel old,cms,最后在说一下新生代和老年代都使用的垃圾回收器G1吧。SerialSerial是新生代下使用复制算法,单线程运行的垃圾回收器,简单高效,没有线程交互.
原创
发布博客 2022.05.21 ·
238 阅读 ·
6 点赞 ·
3 评论

【Class文件结构】

字节码结构有:魔数,副版本号,主版本号,常量池容量计数器,访问标志,类索引,父类索引,接口索引集合,字段表,方法表,属性表等。拿魔数来说,它是用来区分文件类型的一种标志,会占用开头的4个字节,之所以需要魔数来区分文件类型,是因为文件名后缀容易被修改,所以为了保证文件的安全性,将文件类型写在文件内部可以保证不被篡改。魔数后面的4位就是版本号,也是4个字节,前2个字节表示次版本号,后2个字节表示主版本号,这二个版本号是为了标注jdk的一个版本,起到一个jdk版本兼容性的一个作用,比如说高版本的jdk代码不.
原创
发布博客 2022.05.21 ·
11 阅读 ·
0 点赞 ·
0 评论

【内存模型】

文章目录JDK1.6、JDK1.7、JDK1.8 内存模型演变Java虚拟机栈堆和元空间JDK1.6、JDK1.7、JDK1.8 内存模型演变JDK 1.6:有永久代,静态变量存放在永久代上。JDK 1.7:有永久代,但已经把字符串常量池、静态变量,存放在堆上。逐渐的减少永久代的使用。JDK 1.8:无永久代,运行时常量池、类常量池,都保存在元数据区,也就是常说的元空间。但字符串常量池仍然存放在堆上。Java虚拟机栈每一个方法在执行的同时,都会创建出一个栈帧,用于存放局部变量表、操作数栈、动.
原创
发布博客 2022.05.21 ·
11 阅读 ·
0 点赞 ·
0 评论

【Synchronized】

具备扎实的Java基础,熟练掌握集合,Synchronized,AQS,线程池,JVM底层原理,内存模型,内存屏障,class文件结构,类加载机制,双亲委派,垃圾回收机制以及垃圾回收器,三色标记,跨代引用,GC算法,空间分配担保策略,安全点,逃逸分析,内存泄漏与溢出,有过JVM线上调优经验。文章目录定义应用场景对象在JVM中对象的布局JVM通过 synchronized 在对象上加锁实现原理JDK6以前实现步骤JDK6版本及以后定义Synchronized是Java语言的关键字,它保证同一时刻最..
原创
发布博客 2022.05.21 ·
336 阅读 ·
9 点赞 ·
7 评论

【HashMap】

HashMap底层实现原理、数据结构​、初始容量大小为何是2的幂次方,加载因子为何是0.75,解决并发修改异常的几个办法,解决hash冲突的几个办法,jdk1.7和1.8版本hashmap的优缺点,使用Hashmap的优化。
原创
发布博客 2022.05.21 ·
251 阅读 ·
11 点赞 ·
9 评论

《将博客搬至CSDN》

即日起,我将把微信公众号的文章搬到CSDN平台上面给大家访问,微信公众号的名字:南北踏尘
原创
发布博客 2022.05.15 ·
199 阅读 ·
12 点赞 ·
0 评论

【分布式事务Seata】

文章目录1.Seata 是什么1.1 Seata的三大角色1.2 设计思路第一阶段第二阶段整体执行流程1.3 设计亮点1.4 存在的问题性能损耗性价比全局锁热点数据回滚锁释放时间死锁问题2. Seata快速开始2.1 Seata Server(TC)环境搭建db存储模式+Nacos(注册&配置中心)部署步骤一:下载安装包步骤二:建表(仅db模式)步骤三:修改store.mode步骤四:修改数据库连接步骤五:配置Nacos注册中心步骤六:配置Nacos配置中心步骤七:启动Seata Server2..
原创
发布博客 2022.05.01 ·
1808 阅读 ·
11 点赞 ·
60 评论

今天我终于体会到了,什么是当你凝视深渊的时候,深渊也在凝视你。

发布动态 2022.04.16

【分库分表ShardingSphere】

文章目录一、ShardingSphere二、ShardingJDBC实战1、核心概念2、测试项目介绍3、快速实战4、ShardingJDBC的分片算法NoneShardingStrategyInlineShardingStrategyStandardShardingStrategyComplexShardingStrategyHintShardingStrategy5、ShardingSphere的SQL使用限制6、分库分表带来的问题7、分库分表方案设计实战三、内核剖析解析引擎路由引擎改写引擎执行引擎归并引
原创
发布博客 2022.04.16 ·
3852 阅读 ·
14 点赞 ·
74 评论

【MySQL主从架构】

文章目录一、实验目的与环境二、基础环境介绍三、搭建主从集群1、理论基础1、数据安全2、读写分离3、故障转移-高可用2、同步的原理3、搭建主从集群3.1 配置master主服务器3.2 配置slave从服务一、实验目的与环境​ 实验目的:​ MySQL是现在互联网最常用的开源数据库产品。但是我们平常开发使用,大都是用的单机服务。而在实际生产中,往往数据量会极为庞大,并且数据的安全性要求也更高,这样单机的MySQL,不管是性能还是安全都是达不到要求的。所以在生产环境中,MySQL必须是要搭建一套主从复制的
原创
发布博客 2022.04.10 ·
565 阅读 ·
17 点赞 ·
27 评论

JVM篇【Java源文件和Class字节码文件对比】

在分析JVM相关知识之前,给大家分享一段代码,非常通俗易懂的代码。代码如下:package com.test.util;import java.io.Serializable;public class Test implements Serializable { private static String name = "JVM"; public static void main(String[] args) { System.out.println(name
原创
发布博客 2022.04.01 ·
1692 阅读 ·
16 点赞 ·
12 评论

退钱

发布动态 2022.03.30

1、京东:Spring的循环依赖问题如何解决? 2、拼多多:Spring插件式扩展点开发如何做? 3、腾讯:DDD项目架构应该如何落地? 4、阿里:Nacos如何支撑阿里巴巴内部上百万服务实例的访问? 5、阿里:Nacos高并发异步注册架构知道如何设计的吗? 6、阿里:Sentinel高可用架构底层熔断降级如何实现的? 7、阿里:Sentinel底层滑动时间窗限流算法怎么实现的? 8、腾讯:如何用Redis高效实现12306的复杂售票业务? 9、微博:新浪微博突发事件如何做好Redis缓存的高可用? 10、微博:高并发场景缓存穿透&失效&雪崩如何解决? 11、京东:Redis缓存与数据库双写不一致如何解决? 12、京东:Redis底层ZSet跳表是如何设计与实现的? 13、腾讯:JVM的GC执行时机是任何时候都可以吗?安全点知道吗? 14、美团:CMS垃圾收集器的并发更新失败是怎么回事?如何优化? 15、阿里:高并发系统为何建议选择G1垃圾收集器? 16、拼多多:线上系统GC问题如何快速定位与分析? 17、阿里:阿里巴巴Arthas实现原理能大概说下吗? 18、百度:单机几十万并发的系统JVM如何优化? 19、阿里:解释下JVM垃圾收集底层的三色标记算法? 20、美团:Volatile底层的内存屏障是如何实现的?

发布动态 2022.03.22

一个接口内海量数据频繁查询怎么优化?

发布问题 2022.03.10 ·
2 回答
加载更多