自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 浅析JVM垃圾回收算法

既然我们要做垃圾回收,首先我们得搞清楚垃圾的定义是什么?哪些内存是需要回收的?1.1 引用计数法简单的说就是给对象中添加一个引用计数器,每当有一个地方引用它,计数器就加1;当引用失效,计数器就减1;任何时候计数器为0 的对象就是不可能再被使用的。这个方法实现简单,效率高,但是目前主流的虚拟机中并没有选择这个算法来管理内存,其最主要的原因是它很难解决对象之间相互循环引用的问题。上面代码中除了对象objA和objB相互引用着对方之外,这两个对象之间再无任何引用。

2024-02-19 11:24:13 726 1

原创 那些年踩过的坑-RestHighLevelClient初始化问题分析

大家在引入RestHighLevelClient连接同一个ES服务使用单例模式!

2024-02-18 16:23:41 1840 2

原创 Java8-函数式编程

(3)distinct:注意 distinct()方法是依赖Object的equals方法来判断是否是相同对象的,所以注意重写自定义对象的equals方法。reduce的作用是把Stream中的元素给组合起来,我们可以传入一个初始值,它会按照我们的计算方式依次拿流中的元素和在初始化值的基础上进行计算,计算结果再和后面的元素计算。(7)flatMap:map只能把一个对象转成另一个对象来作为流中的元素,而flatMap可以把一个对象转换成多个对象作为流中的元素。3、方法体只有一个参数时,小括号可以省略。

2024-02-17 09:58:49 807 1

原创 初识Netty

网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机。数据传递本身没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后接受另外一个设备反馈的数据。现在的网络编程基本上都是基于请求/响应方式的,也就是一个设备发送请求数据给另外一个,然后接收另一个设备的反馈。Netty是一个异步事件驱动的网络应用框架,可以用以快速开发高性能、高可靠性的网络服务器和客户端程序。本质:网络应用程序框架实现:异步、事件驱动特性:高性能、可维护、快速开发用途:开发服务器和客户端。

2024-02-16 20:11:18 1720 1

原创 SpringBoot自动装配原理

如果当前项目很多我们不用的就会被加载到容器中,就很占空间,所以通过configurations = getConfigurationClassFilter().filter(configurations);方法就可以过滤出我们要用到的。可以在@SpringBootApplication去除自己不想用的(exclude=RedisAutoConfiguration.class)去除的逻辑就是以上图中的这几行代码。获取加载 META-INF/spring.factories文件中的自动配置信息。

2024-02-16 19:32:47 1054

原创 那些年踩过的坑-@Schedule实现定时任务

testCronJob本该10s执行一次,但由于testFixedRateJob执行时间较长,且第二个任务使用的fixRate是固定速率 上一次任务执行开始到下一次执行开始的间隔时间固定,单位为ms。若在调度任务执行时,,也就是说定时任务是单线程执行的。这意味着最多同时只有一个任务在执行。当一个任务还在执行时,其他任务会等待其完成,然后按照其预定的执行策略依次执行。这就导致了testCronJob并不能按时执行,可能多次被插队。Spring的@Scheduled的。

2024-02-16 19:14:19 563

原创 深入理解CAS

CAS(Compare And Swap,比较并交换),通常指的是这样一种原子操作:针对一个变量,首先比较它的内存值与某个期望值是否相同,如果相同,就给它赋一个新值。

2024-02-16 11:58:19 743 1

基于Netty框架的demo项目

这是一个基于高并发网络框架-Netty框架的demo项目,旨在展示Netty服务端与客户端的基础使用方式,并深入探讨了自定义编解码器以及心跳机制的实现。本demo紧密结合了本人发布的《初识Netty》一文中的示例,为学习者提供了一个直观、实用的学习参考。项目中,你可以清晰地看到BIO与NIO模型在Netty中的灵活运用,如何通过Netty的高性能特性来优化网络通信。此外,demo还详细展示了如何通过自定义编解码器处理网络通信中的数据编解码问题,以及如何利用心跳机制确保客户端与服务端之间的稳定连接。无论是Netty初学者还是有一定基础的开发者,都能从中获益匪浅。

2024-02-20

Java8 流式Lambda相关案例

主要是常用的流式处理的demo

2024-02-20

空空如也

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

TA关注的人

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