- 一文带你学习主流的“加密算法” 一文带你学习主流的“加密算法”
- 一、前言经过前几篇博文对堆内存以及垃圾收集机制的学习,相信小伙伴们已经建立了一套比较完整的理论体系!本篇博文就根据已有的理论知识,通过可视化工具来实战一番。 二、JAVA监视与管理控制台今天要讲解的工具位于JDK/bin目录下,大家可以发现该目录下有很多可执行文件,这里都是JDK为我们提供用于分析内存的一些工具。我们重点看看jconsole.exe-JAVA监视与管理控制台。先运行以下程序... 一、前言经过前几篇博文对堆内存以及垃圾收集机制的学习,相信小伙伴们已经建立了一套比较完整的理论体系!本篇博文就根据已有的理论知识,通过可视化工具来实战一番。 二、JAVA监视与管理控制台今天要讲解的工具位于JDK/bin目录下,大家可以发现该目录下有很多可执行文件,这里都是JDK为我们提供用于分析内存的一些工具。我们重点看看jconsole.exe-JAVA监视与管理控制台。先运行以下程序...
- 一、前言G1(Garbage First)垃圾收集器是当今垃圾回收技术最前沿的成果之一。早在JDK7就已加入JVM的收集器大家庭中,成为HotSpot重点发展的垃圾回收技术。同优秀的CMS垃圾回收器一样,G1也是关注最小时延的垃圾回收器,也同样适合大尺寸堆内存的垃圾收集,官方也推荐使用G1来代替选择CMS。G1最大的特点是引入分区的思路,弱化了分代的概念,合理利用垃圾收集各个周期的资源,解... 一、前言G1(Garbage First)垃圾收集器是当今垃圾回收技术最前沿的成果之一。早在JDK7就已加入JVM的收集器大家庭中,成为HotSpot重点发展的垃圾回收技术。同优秀的CMS垃圾回收器一样,G1也是关注最小时延的垃圾回收器,也同样适合大尺寸堆内存的垃圾收集,官方也推荐使用G1来代替选择CMS。G1最大的特点是引入分区的思路,弱化了分代的概念,合理利用垃圾收集各个周期的资源,解...
- 它能够一定程度上解决,在一个普通数据库处理上亿条数据时的查询效率低下的同时无法优秀地排列好用户所需要的数据,一次性上亿条数据没有经过正确地排列,用户很难找到想要的数据。并且,用户输入的数据可能不太准确,它也能够进行模糊查询,这种模糊查询是依靠计算得来的,而不是简单地匹配数据。本系列博文将从零开始一步步实现将 ES 集成到 springboot3 中,并在一个社区项目中进行实际应用测试,本文为系列第 它能够一定程度上解决,在一个普通数据库处理上亿条数据时的查询效率低下的同时无法优秀地排列好用户所需要的数据,一次性上亿条数据没有经过正确地排列,用户很难找到想要的数据。并且,用户输入的数据可能不太准确,它也能够进行模糊查询,这种模糊查询是依靠计算得来的,而不是简单地匹配数据。本系列博文将从零开始一步步实现将 ES 集成到 springboot3 中,并在一个社区项目中进行实际应用测试,本文为系列第
- 一、Maven高级Maven分模块开发是指将一个大型工程拆分成多个模块,并使用Maven进行管理。每个模块可以独立编译、测试、打包、发布,也可以作为其他模块的依赖项,实现模块化开发,提高工程的复用性和可维护性。下面是Maven分模块开发的步骤:• 创建父工程:在父工程的pom.xml文件中定义所有子模块的共同依赖,例如JDK版本、Spring版本等等。• 创建子模块:在父工程下创建子模块的目... 一、Maven高级Maven分模块开发是指将一个大型工程拆分成多个模块,并使用Maven进行管理。每个模块可以独立编译、测试、打包、发布,也可以作为其他模块的依赖项,实现模块化开发,提高工程的复用性和可维护性。下面是Maven分模块开发的步骤:• 创建父工程:在父工程的pom.xml文件中定义所有子模块的共同依赖,例如JDK版本、Spring版本等等。• 创建子模块:在父工程下创建子模块的目...
- 网络编程概述java是 Internet 上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序。Java提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在 Java 的本机安装系统里,由 JVM 进行控制。并且 Java 实现了一个跨平台的网络库,程序员面对的是一个统一的网络编程环境。网络基础计算机网络:把分布在不同地理区域的计算机与专门的... 网络编程概述java是 Internet 上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序。Java提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在 Java 的本机安装系统里,由 JVM 进行控制。并且 Java 实现了一个跨平台的网络库,程序员面对的是一个统一的网络编程环境。网络基础计算机网络:把分布在不同地理区域的计算机与专门的...
- netty中用于进行信息承载和交流的类叫做ByteBuf,从名字可以看出这是Byte的缓存区,是对字节数据的封装粗略地可以从2个维度进行区分:内存分布和内存回收按照内存分布维度:堆内存字节缓冲区、直接内存字节缓冲区按照内存回收维度:基于对象池,普通缓冲区创建简单使用public class test1 { public static void main(String[] args)... netty中用于进行信息承载和交流的类叫做ByteBuf,从名字可以看出这是Byte的缓存区,是对字节数据的封装粗略地可以从2个维度进行区分:内存分布和内存回收按照内存分布维度:堆内存字节缓冲区、直接内存字节缓冲区按照内存回收维度:基于对象池,普通缓冲区创建简单使用public class test1 { public static void main(String[] args)...
- 反射机制反射概念在Java中的反射机制是指在运行状态中,对于任意一个类都能够知道这个类所有的属性和方法;并且对于任意一个对象,都能够调用它的任意一个方法;这种动态获取信息以及动态调用对象方法的功能成为Java语言的反射机制。通过使用反射我们不仅可以获取到任何类的成员方法(Methods)、成员变量(Fields)、构造方法(Constructors)等信息,还可以动态创建Java类实例、调用... 反射机制反射概念在Java中的反射机制是指在运行状态中,对于任意一个类都能够知道这个类所有的属性和方法;并且对于任意一个对象,都能够调用它的任意一个方法;这种动态获取信息以及动态调用对象方法的功能成为Java语言的反射机制。通过使用反射我们不仅可以获取到任何类的成员方法(Methods)、成员变量(Fields)、构造方法(Constructors)等信息,还可以动态创建Java类实例、调用...
- 前言:老实说,本文核心技术在炒冷饭,但思路有创新。我认为该文章是将模拟栈帧技术实际落地的一个示例,因此抛砖引玉作用更多。作者刚入门只能挖鸡肋DOS,但经验丰富的师傅们改造下也许可半自动挖RCE介绍去年底,我的偶像三梦师傅发了一篇文章:一种普遍存在于java系统的缺陷 - Memory DoS三梦师傅重点提到了五种Java中的DoS漏洞由Pattern.matches造成的ReDoS循环参数可... 前言:老实说,本文核心技术在炒冷饭,但思路有创新。我认为该文章是将模拟栈帧技术实际落地的一个示例,因此抛砖引玉作用更多。作者刚入门只能挖鸡肋DOS,但经验丰富的师傅们改造下也许可半自动挖RCE介绍去年底,我的偶像三梦师傅发了一篇文章:一种普遍存在于java系统的缺陷 - Memory DoS三梦师傅重点提到了五种Java中的DoS漏洞由Pattern.matches造成的ReDoS循环参数可...
- 出发点是Java Agent内存马的自动分析与查杀,实际上其他内存马都可以通过这种方式查杀本文主要的难点主要是以下三个,我会在文中逐个解答如何dump出JVM中真正的当前的字节码如何解决由于LAMBDA表达式导致非法字节码无法分析的问题如何对字节码进行分析以确定某个类是内存马基于静态分析动态,打破规则之道 -- Java King 对本文... 出发点是Java Agent内存马的自动分析与查杀,实际上其他内存马都可以通过这种方式查杀本文主要的难点主要是以下三个,我会在文中逐个解答如何dump出JVM中真正的当前的字节码如何解决由于LAMBDA表达式导致非法字节码无法分析的问题如何对字节码进行分析以确定某个类是内存马基于静态分析动态,打破规则之道 -- Java King 对本文...
- 在实际工作中,有一种非常普遍的并发场景:那就是读多写少的场景。在这种场景下,为了优化程序的性能,我们经常使用缓存来提高应用的访问性能。因为缓存非常适合使用在读多写少的场景中。而在并发场景中,Java SDK中提供了ReadWriteLock来满足读多写少的场景。本文我们就来说说使用ReadWriteLock如何实现一个通用的缓存中心。 在实际工作中,有一种非常普遍的并发场景:那就是读多写少的场景。在这种场景下,为了优化程序的性能,我们经常使用缓存来提高应用的访问性能。因为缓存非常适合使用在读多写少的场景中。而在并发场景中,Java SDK中提供了ReadWriteLock来满足读多写少的场景。本文我们就来说说使用ReadWriteLock如何实现一个通用的缓存中心。
- 今天为大家介绍一个在高并发环境下,比读写锁性能更高的锁。可能很多小伙伴都不知道StampedLock是啥,至少我身边的很多小伙伴都没使用过StampedLock锁,今天,我们就一起来聊聊这个在高并发环境下比ReadWriteLock更快的锁——StampedLock。 今天为大家介绍一个在高并发环境下,比读写锁性能更高的锁。可能很多小伙伴都不知道StampedLock是啥,至少我身边的很多小伙伴都没使用过StampedLock锁,今天,我们就一起来聊聊这个在高并发环境下比ReadWriteLock更快的锁——StampedLock。
- 最近有不少小伙伴私信我说:看了我在【精通高并发系列】文章中写的深度解析线程池源码部分的文章,但是还是有些不明白线程池的实现原理。问我能不能手写一个简单的线程池,帮助读者深刻理解线程池的原理。 最近有不少小伙伴私信我说:看了我在【精通高并发系列】文章中写的深度解析线程池源码部分的文章,但是还是有些不明白线程池的实现原理。问我能不能手写一个简单的线程池,帮助读者深刻理解线程池的原理。
- 提起SimpleDateFormat类,想必做过Java开发的童鞋都不会感到陌生。没错,它就是Java中提供的日期时间的转化类。这里,为什么说SimpleDateFormat类有线程安全问题呢?有些小伙伴可能会提出疑问:我们生产环境上一直在使用SimpleDateFormat类来解析和格式化日期和时间类型的数据,一直都没有问题啊!我的回答是:没错,那是因为你们的系统达不到SimpleDateFor 提起SimpleDateFormat类,想必做过Java开发的童鞋都不会感到陌生。没错,它就是Java中提供的日期时间的转化类。这里,为什么说SimpleDateFormat类有线程安全问题呢?有些小伙伴可能会提出疑问:我们生产环境上一直在使用SimpleDateFormat类来解析和格式化日期和时间类型的数据,一直都没有问题啊!我的回答是:没错,那是因为你们的系统达不到SimpleDateFor
- 本文通过详细的代码示例,详细解析了Spring框架中IOC的两种核心实现方式:依赖查找和依赖注入。我们通过创建基本的IOC依赖查找实例,详解了如何在实践中运用这两种手段,并在三层架构中体验其使用方式。同时,我们也深度对比了依赖查找与依赖注入的优缺点和应用场景,为读者在面试中解答相关问题提供了参考。 本文通过详细的代码示例,详细解析了Spring框架中IOC的两种核心实现方式:依赖查找和依赖注入。我们通过创建基本的IOC依赖查找实例,详解了如何在实践中运用这两种手段,并在三层架构中体验其使用方式。同时,我们也深度对比了依赖查找与依赖注入的优缺点和应用场景,为读者在面试中解答相关问题提供了参考。
上滑加载中
推荐直播
-
华为云软件开发生产线(CodeArts)5月&6月新特性解读
2025/07/22 周二 16:00-18:00
Rooty 华为云高级产品经理
不知道产品的最新特性?没法和产品团队建立直接的沟通?本期直播产品经理将为您解读华为云软件开发生产线5月&6月发布的新特性,并在直播过程中为您答疑解惑。
回顾中 -
OpenHarmony生态构建
2025/07/24 周四 19:00-20:00
王天一、聂嘉一 -华为开发者布道师-高校学生
本次直播将结合讲师的实践经验,深入剖析OpenHarmony开发中的核心痛点与难点,展示从入门到进阶的多层次开发案例,并分享高效的学习路径、实用开发技巧和常见问题的解决方案。同时,我们还将探讨OpenHarmony的生态建设,解析测试规范与开发实践,帮助开发者更好地适配多设备,共同推动OpenHarmony生态的发展。
即将直播
热门标签