自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 觉得 Java 启动慢?快来使用 CDS 特性飞速启动~

使用这个存档后的文件,这代表着你需要这样启动应用:java代码解读复制代码。

2024-08-07 15:12:37 332

原创 Redis缓存穿透+缓存击穿+缓存雪崩 案例及解决方案(代码实现)

用户请求的数据在缓存和数据库中都不存在,用户每次请求数据都需要查询数据库,导致对后台数据库的频繁访问,数据库负载压力过大,这种现象就叫做缓存穿透。redis中存在某些热点数据时,即有大量请求并发访问的key-value数据。当极热点key-value数据突然失效时,缓存未命中引起对后台数据库的频繁访问,这种现象叫缓存击穿。缓存数据在同一时间点失效,导致大量的请求到数据库,从而使得是数据库崩溃。

2024-08-07 15:12:05 362

原创 零基础入门:利用 Sentinel 实现 SpringBoot 应用的接口限流与热点参数控制

用法:采用定义资源。SphU.entry方法是 Sentinel 的核心入口,用于保护指定资源。它的主要作用是在执行某段代码前,检查该资源是否被允许方法。如果允许,则执行代码;如果不允许,则进行响应的流量控制或熔断处理。基本用法:java代码解读复制代码try (Entry entry = SphU.entry("resourceName")) { // 业务代码 } catch (BlockException ex) { // 流控处理逻辑 }

2024-08-07 15:06:29 419

原创 最全Java面试汇总(面试题+答案)

JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突(两个对象调用的hashCode方法计算的哈希码值一致导致计算的数组索引值相同)而存在的(“拉链法”解决冲突).JDK1.8 以后在解决哈希冲突时有了较大的变化,当链表长度大于阈值(或者红黑树的边界值,默认为 8)并且当前数组的长度大于64时,此时此索引位置上的所有数据改为使用红黑树存储。但是,在线程池空闲时,即线程池中没有可运行任务时,它不会释放工作线程,还会占用一定的系统资源。

2024-08-07 15:05:15 810

原创 JWT,安全加密你的验证和授权信息

jwt令牌可以应用在我们很多项目开发的场景下,基本上所有的项目都会有一些验证信息以及授权信息相关的需求,目的是为了避免一些数据泄露给权限不够或者验证失败的用户,那么此时就需要jwt令牌的出场了。

2024-08-06 14:33:51 310

原创 RocketMQ中的顺序,乱序消息,佬都知道哪些?

RocketMQ中的顺序消息分为局部顺序和全局顺序,乱序消息等等。局部顺序消息通过Sharding Key将消息分配到不同的队列中,每个队列内的消息保持顺序性;而全局顺序消息则整个Topic内的消息都保持顺序性,但性能较低。在选择顺序消息类型时,需要根据实际业务需求和性能要求进行权衡。

2024-08-06 14:32:18 337

原创 增强用户体验:2个功能强大的.NET控制台应用帮助库

对于.NET开发者而言,构建控制台应用程序时,如何提升用户交互的流畅性和满意度,是一个持续探索与优化的话题。今天大姚给大家分享2个功能强大的.NET控制台应用帮助库,希望可以帮助大家能够快速的构建漂亮、强交互性、丰富功能的控制台应用程序。

2024-08-06 14:29:51 571

原创 【SkyWalking】如何在业务系统中控制SkyWalkingAgent的生命周期

文章基于SkyWalking-oap-9.7.0版本,agent版本为9.1.0。

2024-08-06 14:28:47 201

原创 全网Java面试题大全带答案

基本数据类型,如int,float,double,boolean,char,byte,不具备对象的特征,不能调用方法。装箱:将基本类型转换成包装类对象拆箱:将包装类对象转换成基本类型的值java为什么要引入自动装箱和拆箱的功能?主要是用于java集合中,List list=new ArrayList();list集合如果要放整数的话,只能放对象,不能放基本类型,因此需要将整数自动装箱成对象。

2024-08-06 14:24:11 859

原创 一文弄清Java的四大引用及其两大传递

为什么试验1中,String类值传递引用副本值的时候,无法修改原来实参呢?因为在方法中修改的时候是通过直接赋值的操作来修改,而String是一个不可变类,所以String机制是新建一个String对象去存储"CodeCodeBond"字符串的,所以并不能修改实参,你想到了吗?😄我是CodeCodeBond,我的座右铭是。

2024-08-05 14:23:47 766

原创 一次运用CompletableFuture异步编程优化功能的记录

有一天,客户反馈在系统查看当前用户的待办事项列表加载有明显卡顿,要等好几秒才加载出列表数据,印象中,这个功能已经上线有一段时间了,由于前期系统规划问题,没有维护全局的审核明细表,也没有引入什么流程引擎来支撑审批流,该功能的实现是通过分别到各目标模块统计数据汇总返回的。CompletableFuture 是由Java8引入的,这让我们编写清晰可读的异步代码变得更加容易,该类功能比Future 更加强大。在Java中用于异步编程,异步通常意味着非阻塞,运行任务单独的线程,与主线程隔离。

2024-08-05 14:22:44 377

原创 《Nginx核心技术》第2章:获取客户端真实IP、域名、协议、端口

Nginx最为最受欢迎的反向代理和负载均衡服务器,被广泛的应用于互联网项目中。这不仅仅是因为Nginx本身比较轻量,更多的是得益于Nginx的高性能特性,以及支持插件化开发,为此,很多开发者或者公司基于Nginx开发出了众多的高性能插件。使用者可以根据自身的需求来为Nginx指定某款插件以增强Nginx在某种特定场景下的功能或者提升Nginx在某种特定场景下的性能。

2024-08-05 14:22:08 767

原创 面试必问:系统频繁Fullgc,你有哪些优化思路?第一步分析gc日志(1)

如果经常性的发生提前晋升情况,需要调整新生代大小和Survivor 区大小。调整 SurvivorRadio 比例调整整个新生代比例,例如 -xmn=2g调整到 -xmn=6g,gc情况会大大改善提前晋升会增加 younggc 耗时,因为跨代拷贝是很耗时的。注意 Survivor 区幸存对象大小是否过大,这也是影响 younggc 耗时的因素。

2024-08-05 14:21:37 654

原创 史上最全面Java面试汇总(面试题+答案)

序列化是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。

2024-08-05 14:19:33 853

空空如也

空空如也

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

TA关注的人

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