自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(125)
  • 资源 (11)
  • 收藏
  • 关注

原创 实战演练JDK的模块化机制

​ 我们写的Java应用,都是以Jar包的形式发布的,所以对于Jar包,你一定习以为常。但是,如果你有一天打开一下JDK9以后的版本在你本地的安装目录,你会发现,JDK中那些熟悉的jar包,完全不见了。取而代之的是一些jmod文件。​ 甚至在熟悉的IDEA里,JDK的包下也不再是一个个Jar包,而变成了一个个与这些jmod文件对应的模块。​ 这些jmod文件是什么呢?​ 其实这些jmod文件可以认为是一种特殊的jar包。JMOD设计为在编译时间和链接时间使用,但不在运行时使用。

2024-12-26 22:39:47 1014

原创 2024年总结:原来你们喜欢这样的java

​ 最后,怎么又莫名其妙的提到了培训?现在互联网上一提培训,一提卖课,似乎就成了人人喊打的老鼠。外面什么技术不能白嫖,你还收钱?还是之前k=k++的分析视频,明明就只是一个跟风的面试视频,只不过比一般的面试八股可能更深了一点。不知道怎么被网友们给扯到卖课上面去了。中间截取了一段扯蛋,聊做回应吧。也算是给我自己这一年的交代。

2024-12-25 22:26:14 868

原创 【面试集锦】k=k++到底有没有执行自增操作

人生三大境界,见山是山,见山不是山,见山还是山!​ 学了好多年Java,你知道你写的java代码到底是什么样子的吗?k=k++,这样一个简单的代码,就足够考验考验Java程序员的斤两。​ 类似这样的非人类代码的面试题,其实不在少数。这一类面试题,想要考验的,从来不仅仅是程序员的代码理解能力,而是对语言底层逻辑的熟悉程度。​ 如果你是一个刚入门的Java新手,那么,对于这一类问题,只要能够推断出执行的结果就行了。

2024-12-19 20:53:32 1074

原创 【面试集锦】十分钟彻底搞懂MySQL的redolog,undolog和binlog

MySQL,是现在业界最受欢迎的关系型数据库之一,他的好处毋庸置疑。但是这也让MySQL成了面试中的重灾区。到底要怎么理解MySQL那些复杂又神秘的底层架构呢?这次楼兰就带你从日志系统出发,快速解析MySQL的整体架构设计。​ MySQL的日志文件分为redolog,undolog和binlog三种。这些复杂的日志文件分别是干什么的?有什么关系?接下来我们就一层层的来拆解MySQL。

2024-12-16 10:56:27 805

原创 如何防止Class文件被反编译?

各位伟大的Java程序员,现在有一条财富自由的路摆在你的面前,你有没有信心为此去挑战一下自己?​ 这次我们来聊一个比较有意思的话题,如何防止Class文件被反编译。

2024-12-13 15:04:17 1027

原创 [面试集锦]海量用户信息下如何进行分库分表?

现在面试动不动就是问三高架构。应用大了,数据量多了,查询性能自然就下降了。怎么办呢?很多人自然就想到分库分表。但是一旦把底层数据库给拆分开了,在业务层面就会暴露出很多问题。那么在一个具体的业务场景下,要如何设计分库分表方案,并对方案进行优化呢?这次就以用户信息这个具体的场景来分享下如何设计分库分表方案。

2024-12-06 17:30:54 1012

原创 【面试集锦】@Autowired和@Resource有什么区别

@Autowired和@Resource这两个注解的功能都差不多,都是在Spring框架中做自动注入的。但是他们有什么区别呢?楼兰带你来分析分析

2024-12-02 16:19:09 1110

原创 程序员的AI五步提示词大法

AI大模型如火如荼,你有没有陷入过AI终将代替人类的终极焦虑?​ 使用AI大模型,提示词的重要性毋庸置疑。不管是向AI大模型问问题,还是围绕AI大模型构建应用,设计高效的提示词都是其中最重要的一个环节。尤其当你想要在一些具体的业务场景下使用AI大模型时,你不可能真的像聊天一样,慢慢跟大模型软磨硬泡,这时一个高效的提示词就显得尤为重要了。即便像LangChain4j,SpringAI这些纯面向程序员的AI大模型框架,其各种工具的背后,也是通过定制各种各样的提示词,从而让AI大模型帮助实现某种功能。

2024-11-26 10:22:55 1226

原创 轻松解读RocketMQ5.3.0核心源码

同步刷盘,异步刷盘?同步同步,异步同步?零拷贝,顺序写?你是不是曾经在各种各样的流量短视频和博客中听说过跟RocketMQ相关的这些亮瞎眼的高大上的技术名词?你有没有想过自己去RocketMQ中看看这些概念背后的Java代码是什么样的?如果你有过这样的想法,那么,楼兰到你到RocketMQ的源码当中逛逛,看看RocketMQ的大神们,是如何用简单常见的MVC思想开发出RocketMQ这样的神作的。

2024-10-24 19:27:52 1062

原创 Redis只用来做缓存吗?

比如在分布式场景下做用户登录功能,我们就可以将用户信息以JSON字符串的形式保存到Redis中,来代替单体应用中的Session,从而实现统一的登录状态管理。哈希函数的选择对过滤器的性能有很大影响,理想的哈希函数应该具有良好的散列性,使得不同的输入尽可能均匀地映射到位数组的不同位置。通常使用的 keys * 这样的指令,在生产环境一般都是直接禁用的,因为这样会产生严重的线程阻塞,影响其他的读写操作。所以,在布隆过滤器的初始化过程中,通常只需要指定过滤器的容量和误判率,就足够了。相对的,算法实现也就更复杂。

2024-10-17 20:02:36 948

原创 性能爆炸的多线程编排神器CompletableFuture

​ 使用CompletableFuture,程序员可以很方便的控制线程的执行顺序。包括串行、并行或者多个线程的组合与转化功能。​ CompletableFuture主要实现了两个关键接口:Future:Future是一个代表异步计算结果的对象。它允许你从一个异步操作中获取结果(一旦结果可用),取消正在执行的计算,或者检查计算是否已经完成。Future 通常与 ExecutorService 结合使用来提交任务,并且是 java.util.concurrent 包的一部分.

2024-10-17 12:59:00 987

原创 程序员短视频上瘾综合症

程序员短视频上瘾综合症

2024-08-05 15:08:48 8987 5

原创 VUE3极速上手手册

后端程序员最快速度上手最新的VUE3框架。前端和后端,小孩子才做选择,技术人的选择是都要。

2024-04-01 17:49:23 2342

原创 行业下滑,工作不稳,Java怎么了?

​ 技术有路,生活无方。希望自己,过得没那么烦。也希望大家,越活越精彩。

2024-02-28 12:15:34 1323 2

原创 可上手 JVM 调优实战指南

JVM 调优快速上手指南。最快速度带你上手虚无神秘的 JVM 调优。

2023-11-19 10:00:02 1265

原创 详解ShardingSphere新增的COSID分布式主键生成框架

雪花算法对于分布式主键不冲突的作用是无可挑剔的,但是在分库分表的场景下,雪花算法却埋着一个很多人踩过却一直被人忽视的神坑。另外,ShardingSphere5.x版本集成了一个新的主键生成框架CosId。这么个小问题为什么要搞个框架?分布式主键生成问题到底要怎么玩?花点时间,我来带你一一梳理。

2023-04-21 16:00:17 2188

原创 关于程序员中年危机的一个真实案例

​ 关于中年危机,网上已经有了各种各样的解读。但是,这两天一个学员跟我简单几句聊天,却触发了对于中年危机的另一种思考。如果你曾经也有点迷茫,或许你可以稍微花几分钟看下这个故事。

2023-02-26 18:18:44 10776 23

原创 RocketMQ 5.x新版本部署优化一览

RocketMQ 5.x版本快速上手

2023-02-24 18:30:15 3436

原创 Kafka3.x核心速查手册三、服务端原理篇-3、Broker故障恢复机制

所有Follower Partition上报后,Leader Partition才能更新HW的值,然后Follower Partition在下次拉取消息时,才能更新HW值。当Leader Partition出现切换,所有的Follower Partition都按照自己的HW进行数据恢复,就会出现数据不一致的情况。所以在很多对性能要求比较高的线上环境,会选择关闭Kafka的这个Leader Partiton自平衡操作,而用其他运维的方式手动进行Leader Partiton自平衡,尽量减少自平衡过程。

2022-09-16 19:33:25 1472

原创 Kafka3.x核心速查手册三、服务端原理篇-2、Broker选举机制

而在一个Partition的众多备份中,需要选举出一个Leader Partition,负责对接所有的客户端请求,并将消息优先保存,然后再通知其他Follower Partition来同步消息。​ 当一个集群内的Kafka服务启动时,就会尝试往Zookeeper上创建一个/controller临时节点,并将自己的brokerid写入这个节点。​ 选举产生的Controller节点,就会负责监听Zookeeper中的其他一些关键节点,触发集群的相关管理工作。

2022-09-16 19:31:06 913

原创 Kafka3.x核心速查手册三、服务端原理篇-1、Zookeeper整体数据

​ 这一部分主要是理解Kafka的服务端重要原理。但是Kafak为了保证高吞吐,高性能,很多具体实现都是相当复杂的。如果直接跳进去学习研究,很快就会晕头转向。所以,找一个简单清晰的主线就显得尤为重要。这一部分主要是从存储的角度来理解Kafka的Broker运行机制。这对于上一章节建立的简单模型,是一个很好的细节补充。​ Kafka依赖很多的存储数据,但是,总体上是有划分的。Kafka会将每个服务的不同之处,也就是状态信息,保存到Zookeeper中。

2022-09-16 19:28:49 791

原创 Kafka3.x核心速查手册二、客户端使用篇-7、生产者消息事务

快速、系统掌握Kafka生产者消息事务

2022-09-07 13:36:42 428

原创 Kafka3.x核心速查手册二、客户端使用篇-6、消息发送幂等性

Kafka消息发送幂等性

2022-09-07 13:34:29 388

原创 Kafka3.x核心速查手册二、客户端使用篇-5、发送应答机制

快速理解Kafka的发送应答机制

2022-09-07 13:32:41 417

原创 Kafka3.x核心速查手册二、客户端使用篇-4、消息路由机制

快速理解Kafka的消息路由机制

2022-09-07 13:30:56 499

原创 Kafka3.x核心速查手册二、客户端使用篇-3、消息序列化机制

快速理解Kafka的消息序列化机制

2022-09-07 13:29:02 383

原创 kafka如何保证消息不丢失?半分钟的答案和半个小时的答案有点不一样。

​ 关于Kafka保证消息不丢失的问题,就简单总结到这里,但这其实并不是结束。相反,随着你对Kafka理解得越深,你会发现这个问题会有更多的发散空间。像MQ如何保证消息不丢失?如何不重复消费?如何处理消息积压?等等,这都是一系列非常开放的面试题。对于你是否真正理解了每个MQ产品,是非常好的检验标准。所以,这么好的题目,如果只是简简单单背个八股文,那太可惜了。...

2022-08-30 19:47:54 8365

原创 Kafka3.x核心速查手册二、客户端使用篇-2、分组消费机制

Kafka的HighLevel API的重要目的就是想要简化客户端的使用方式,所以对于API的使用,尽量熟练就可以了。对于其他重要的属性,都可以通过源码中的描述去学习,并且可以设计一些场景去进行验证。其重点,是要逐步在脑海之中建立一个Message在Kafka集群中进行流转的基础模型。​ 其实Kafka的设计精髓,是在网络不稳定,服务也随时会崩溃的这些作死的复杂场景下,如何保证消息的高并发、高吞吐,那才是Kafka最为精妙的地方。但是要理解那些复杂的问题,都是需要建立在这个基础模型基础上的。...

2022-08-28 15:57:43 656

原创 Kafka3.x核心速查手册二客户端使用篇-1、从基础的客户端说起

​ 这一部分主要是从客户端使用的角度来理解Kakfa的重要机制。重点依然是要建立自己脑海中的Kafka消费模型。Kafka的HighLevel API使用是非常简单的,所以梳理模型时也要尽量简单化,主线清晰,细节慢慢扩展。...

2022-08-28 15:55:05 461

原创 Kafka3.x核心知识速查手册-一、快速上手篇

言简意赅,快速从零开始构建Kafka整体知识体系,有问题回头再来查。

2022-08-24 17:05:13 1246

原创 RocketMQ广播消费本地Offset文件丢失问题探秘

消费者端存储广播消费的本地offsets文件的默认缓存目录是 System.getProperty(“user.home”) + File.separator + “.rocketmq_offsets” ,可以通过定制 rocketmq.client.localOffsetStoreDir 系统属性进行修改。本地offsets文件在缓存目录中的具体位置与消费者的clientIp 和 instanceName有关。...

2022-08-15 17:26:43 3038 9

原创 MyCat2测试实战 -- 王者归来的故事

​ 关于MyCat,不用做过多介绍,曾经大名鼎鼎的分库分表中间件。诞生于2013年,从MyCat1.6版本之后,陷入了一段时间的沉寂。从2021年11月低开始,重新推出新版本的MyCat2,官网地址:http://www.mycat.org.cn/ 。​ 重要特性一目了然,独立,是他最大的标签。然后在他的Git仓库中,对产品有一个简单的介绍:​ 立足于Sharding分库分表。简单、快速是MyCat2对自己最直白的声明。他的定位其实是代表了一整套基于MySQL的分布式数据处理系统,可以让MySQL拥有堪比

2022-06-22 09:25:01 3343 1

原创 SpringCloudStream实战拆解以及3.1后新版本特性分析

一套框架,带你对接所有的MQ产品。

2022-06-13 10:07:53 3837 1

原创 大数据基石-Hadoop3.x学习教程-Hadoop产品了解与快速上手

大数据基石-Hadoop Hadoop3.x版本全系列教程 === 楼兰 ===文章目录一、关于Hadoop1、关于Hadoop产品2、Hadoop课程内容3、Hadoop的主要组件二、Hadoop环境搭建以及快速上手1、Linux环境搭建2、Hadoop集群搭建3、Hadoop快速上手三、上手总结一、关于Hadoop1、关于Hadoop产品​ 首先,关于Hadoop的重要性​ 对于Hadoop的重要性,再怎么强调也不过分。他可以说是开源大数据领域的开辟之...

2022-04-29 15:23:41 646

原创 ShardingSphere分库分表6-5.x新版本特性

文章目录一、整体理解新版本二、5.X部分新特性1、DistSQL2、可插拔内核3、数据迁移三、全部内容总结一、整体理解新版本​ ShardingSphere在2021年十月份推出了5.0的第一个发布版本,并在2022年一月份推出了5.1版本。从整体来看,ShardingSphere5.x将自己的功能定位从数据库中间件升级到了DataBase Plus,数据库功能增强。核心产品定位的变化,必然会带来非常多的改变。不过从功能方面来看,目前5.X版本还只是做了一些功能增强,但是核心功能并没有太大的变动。很多规

2022-04-11 14:53:57 3716

原创 ShardingShpere分库分表5-ShardingSphere分布式事务详解

文章目录一、ShardingJDBC分布式事务快速上手LOCAL本地事务XA事务快速上手BASE柔性事务快速上手seata部署方式:客户端使用Base事务二、分布式事务原理详解XA事务Base柔性事务ShardingJDBC扩展分布式事务管理器三、ShardingProxy分布式事务示例一、ShardingJDBC分布式事务快速上手ShardingJDBC支持的分布式事务方式有三种 LOCAL, XA , BASE,这三种事务实现方式都是采用的对代码无侵入的方式实现的。具体见 TransactionTy

2022-03-02 16:09:54 4777 2

原创 大数据基石-Hadoop3.x学习教程-大数据场景介绍

大数据基石-Hadoop Hadoop3.x版本全系列教程 === 楼兰 ===文章目录一、理解大数据1、大数据的特点2、大数据的应用方向3、大数据的工作前景二、大数据课程体系介绍1、大数据前置知识2、大数据课程体系一、理解大数据1、大数据的特点​ 大数据这个概念已经随着互联网不断融入到了我们生活的方面面中。他即是一片新的业务场景,也代表了一系列极具挑战的技术方向。从这个课程开始,我们就将真正开始进入大数据的世界。后续将有一系列的技术课程与项目实战,带大家系...

2022-01-27 13:28:44 1511

原创 Spark远程调试+页面监控--用最熟悉的方式开发Spark应用

Spark远程调试+页面监控-用最熟悉的方式开发Spark应用

2021-12-23 13:05:30 2261

原创 最强OLAP分析引擎-Clickhouse快速精通-下

最强OLAP分析引擎-Clickhouse快速精通二==楼兰==文章目录四、集群机制4.1 数据副本4.2 分布式表五、配置优化六、查询优化6.1 查看执行计划6.2 clickhouse内置的语法优化规则6.3 高性能查询优化1、选择合适的表引擎2、建表时不要使用Nullable3、合适的划分分区和索引4、数据变更优化5、使用Prewhere替代where6、指定列和分区7、避免构建虚拟列8、用IN代替JOIN七、生产常见问题1、Clickhouse的数据一致性问题2、多副本表,尽量固定写入的节点3、

2021-11-28 15:30:50 872

原创 最强OLAP分析引擎-Clickhouse快速精通-上

最强OLAP分析引擎-Clickhouse快速精通一==楼兰==文章目录一、Clickhouse简介1、什么是Clickhouse2、Clickhouse适用场景。二、Clickhouse环境安装1、线上快速体验2、本地快速部署3、远程连接clickhouse3.1 打开远程连接控制3.2 其他方式访问clickhouse三、Clickhouse使用篇3.1、建库3.1.1 Atomic 库引擎3.1.2 MySQL库引擎3.2、建表3.2.1 数据类型3.2.2 MergeTree 表引擎partit

2021-11-28 15:28:24 2397

NettyDemo.zip

https://blog.csdn.net/roykingw Netty系列博文Demo。管饱管够。

2021-06-12

Java类加载的故事-修正终结版.zip

配合博文地址:https://blog.csdn.net/roykingw/article/details/110737366 配合视频地址:https://www.bilibili.com/video/BV11a4y1p7eP 一个完善的故事,不再怕学不懂JAVA的类加载机制

2020-12-06

hadoop权威指南

hadoop权威指南 中文 书签 版本。

2016-09-26

AngularJS权威教程 PDF

AngularJS 权威教程 PDF版

2016-09-26

jexcelapi-2-6-12

java 操作excel的一个框架。带有完整的源代码,文档资料以及示例。

2010-07-28

VS 2005快捷键大全.txt

Visual Studio.net 2005常用的快捷键。记不住的可以下载做日常参考。

2010-03-19

c# .net示例项目 模拟QQ

使用c# .net开发的学习项目。模拟QQ,简单实现了QQ的实时聊天,图标闪烁等功能。

2010-01-27

反编译工具

经典的反编译工具,能反编译.class文件,查看.class文件就像看代码文件一样。相信是个少不了的东西。

2008-05-27

空空如也

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

TA关注的人

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