- 在上一篇博文中,我们知道了如何获得二进制的字节流,并根据获得的字节流去装载一个类。同时也了解到类加载器的存在,每个加载器对应着不同的加载目录,相互配合着,从而使整个加载过程稳定而安全。那么他们是如何配合的呢?如果我自己写一个类,名字叫做String可以吗?首先我们来看一张图:图中除了最底下的那个加载器是我们没有讲到的,其余的都有说到过。其实底下那个就是我们自己实现的类加载器,用于自定义加载c... 在上一篇博文中,我们知道了如何获得二进制的字节流,并根据获得的字节流去装载一个类。同时也了解到类加载器的存在,每个加载器对应着不同的加载目录,相互配合着,从而使整个加载过程稳定而安全。那么他们是如何配合的呢?如果我自己写一个类,名字叫做String可以吗?首先我们来看一张图:图中除了最底下的那个加载器是我们没有讲到的,其余的都有说到过。其实底下那个就是我们自己实现的类加载器,用于自定义加载c...
- 一、前言今天我们讲类加载机制5个阶段中的第一个阶段,加载,又叫装载。为了便于阅读,以下都叫做装载。装载的第一步就是要获得二进制的字节流,它可以从读.class文件获得,也可以从网络中接收别人发送的字节流。反正只要符合虚拟机规定的字节流格式都可以进入这个阶段。有了字节流之后,要进行装载还需要一个工具,那就是加载器了。加载器既可以使用系统提供的引导类加载器,也可以使用用户自己定义的加载器,只需... 一、前言今天我们讲类加载机制5个阶段中的第一个阶段,加载,又叫装载。为了便于阅读,以下都叫做装载。装载的第一步就是要获得二进制的字节流,它可以从读.class文件获得,也可以从网络中接收别人发送的字节流。反正只要符合虚拟机规定的字节流格式都可以进入这个阶段。有了字节流之后,要进行装载还需要一个工具,那就是加载器了。加载器既可以使用系统提供的引导类加载器,也可以使用用户自己定义的加载器,只需...
- 在业务开发中,登录接口是非常常见的场景,随着业务的发展,需要支持多种登录形式 java设计模式之策略模式搭配SPI(一) java设计模式之策略模式搭配SPI(二) java设计模式之策略模式搭配SPI(完结)那么登陆接口该如何书写?如何设计接口?面对大量if else如何进行优化?我们今天讲解的是在项目中如何应用策略模式。登陆场景登录方法实现策略(Strategy)模式的定义:该模式定义了... 在业务开发中,登录接口是非常常见的场景,随着业务的发展,需要支持多种登录形式 java设计模式之策略模式搭配SPI(一) java设计模式之策略模式搭配SPI(二) java设计模式之策略模式搭配SPI(完结)那么登陆接口该如何书写?如何设计接口?面对大量if else如何进行优化?我们今天讲解的是在项目中如何应用策略模式。登陆场景登录方法实现策略(Strategy)模式的定义:该模式定义了...
- 一、概念: redos漏洞主要指的是,由于正则引起的资源耗尽风险。二、漏洞底层原理 解释不来。三、大白话解释 不合理的正则会导致检测文本时,疯狂的匹配,同时会设置多个节点,每个节点又有很多种匹配方法,导致需要匹配的次数过于巨大,线程一直被占用,导致的性能耗尽。 最多的情况就是自我重复的情况。四、举例 示例:(a|aa)+ 输入文本:aaaaa... 一、概念: redos漏洞主要指的是,由于正则引起的资源耗尽风险。二、漏洞底层原理 解释不来。三、大白话解释 不合理的正则会导致检测文本时,疯狂的匹配,同时会设置多个节点,每个节点又有很多种匹配方法,导致需要匹配的次数过于巨大,线程一直被占用,导致的性能耗尽。 最多的情况就是自我重复的情况。四、举例 示例:(a|aa)+ 输入文本:aaaaa...
- Java是一种广泛使用的编程语言和平台,但在某些情况下,您可能需要在Ubuntu系统上完全卸载Java。本文将详细介绍如何在Ubuntu上卸载Java,并清理与Java相关的文件和配置。请注意,在执行卸载操作之前,请确保您不再需要Java,并备份重要的Java应用程序和数据。 步骤 1:检查 Java 安装在开始卸载之前,首先需要确定系统上已安装的Java版本和组件。可以使用以下命令检查Ja... Java是一种广泛使用的编程语言和平台,但在某些情况下,您可能需要在Ubuntu系统上完全卸载Java。本文将详细介绍如何在Ubuntu上卸载Java,并清理与Java相关的文件和配置。请注意,在执行卸载操作之前,请确保您不再需要Java,并备份重要的Java应用程序和数据。 步骤 1:检查 Java 安装在开始卸载之前,首先需要确定系统上已安装的Java版本和组件。可以使用以下命令检查Ja...
- SSRF漏洞排查关键字:URL、HttpClient、request、URLConnection。漏洞原理:主要针对系统需要对其他系统发起连接请求的方法,如果请求地址完全可控,就可导致通过当前系统,访问与当前系统处于同一局域内的系统,造成网络跳板攻击,任意访问,信息泄露等等 建议解决方案:只需要能不让用户控制url目标地址即可,或者进行有效的校验,在允许范围内输出。 SSRF漏洞排查关键字:URL、HttpClient、request、URLConnection。漏洞原理:主要针对系统需要对其他系统发起连接请求的方法,如果请求地址完全可控,就可导致通过当前系统,访问与当前系统处于同一局域内的系统,造成网络跳板攻击,任意访问,信息泄露等等 建议解决方案:只需要能不让用户控制url目标地址即可,或者进行有效的校验,在允许范围内输出。
- 代码注入漏洞关键字排查:.exec 、 Runtime 建议解决方案:代码排查是否可控,做安全校验,防止危险命令 代码注入漏洞关键字排查:.exec 、 Runtime 建议解决方案:代码排查是否可控,做安全校验,防止危险命令
- Scala是下一代 Java 虚拟机 (JVM) 语言,作为Java的现代替代品正在迅速普及。早在 1995 年推出的 Java 已经从不起眼的开端发展成为编程语言中无可争议的领导者之一,尤其是在服务器端编程领域。然而,Scala 的受欢迎程度在过去几年中一直在稳步增长。2019 年,当 Twitter 决定将其平台从 Ruby 切换到 Scala 时,引起了 Web 开发界许多开发人员的关... Scala是下一代 Java 虚拟机 (JVM) 语言,作为Java的现代替代品正在迅速普及。早在 1995 年推出的 Java 已经从不起眼的开端发展成为编程语言中无可争议的领导者之一,尤其是在服务器端编程领域。然而,Scala 的受欢迎程度在过去几年中一直在稳步增长。2019 年,当 Twitter 决定将其平台从 Ruby 切换到 Scala 时,引起了 Web 开发界许多开发人员的关...
- 第 1 步:转到以下网站Java 17 链接第 2 步:双击下载的 exe 文件转到系统变量然后点击路径点击编辑按钮更多前端相关学习教程B站搜索“千锋教育” 第 1 步:转到以下网站Java 17 链接第 2 步:双击下载的 exe 文件转到系统变量然后点击路径点击编辑按钮更多前端相关学习教程B站搜索“千锋教育”
- 反序列化漏洞主要分为四种情况:1.原生java场景2.JSON场景3.XML场景4.YAML场景对应的工具或者关键字排查:1.原生java场景:ObjectInputStrem 、readObject() 、defaultReadObject 建议解决方案:安全校验,如类名校验2.JSON场景:parseObject()、parse()、ObjectMapper.reaValue ... 反序列化漏洞主要分为四种情况:1.原生java场景2.JSON场景3.XML场景4.YAML场景对应的工具或者关键字排查:1.原生java场景:ObjectInputStrem 、readObject() 、defaultReadObject 建议解决方案:安全校验,如类名校验2.JSON场景:parseObject()、parse()、ObjectMapper.reaValue ...
- @TOC 前言为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚,文章中如果有记录错误,欢迎读者朋友们批评指正。(博客的参考源码可以在我主页的资源里找到,如果在学习的过程中有什么疑问欢迎大家在评论区向我提出)建议先去浏览本人ssm专栏发布的ssm快速入门案例(一)(二)后再阅读本文章四、基于Spring... @TOC 前言为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚,文章中如果有记录错误,欢迎读者朋友们批评指正。(博客的参考源码可以在我主页的资源里找到,如果在学习的过程中有什么疑问欢迎大家在评论区向我提出)建议先去浏览本人ssm专栏发布的ssm快速入门案例(一)(二)后再阅读本文章四、基于Spring...
- 在Java开发领域,术语"node affinity"通常不是与Java语言本身直接相关的概念。然而,在某些特定的上下文中,可以将"node affinity"应用于Java应用程序的部署和调度方面。在Java开发中,"node affinity"可能指的是以下几个方面:服务器亲和性:在分布式环境中部署Java应用程序时,可以考虑将特定的Java应用程序部署在特定的服务器节点上,以实现服务器... 在Java开发领域,术语"node affinity"通常不是与Java语言本身直接相关的概念。然而,在某些特定的上下文中,可以将"node affinity"应用于Java应用程序的部署和调度方面。在Java开发中,"node affinity"可能指的是以下几个方面:服务器亲和性:在分布式环境中部署Java应用程序时,可以考虑将特定的Java应用程序部署在特定的服务器节点上,以实现服务器...
- 一、前言堆分为年轻代和年老代。永久代是非堆内存,它又叫做方法区(一般的说法),主要存储已被加载的类信息、常量、静态变量。而该区域在java8已被删除,取而代之的是元空间,会在后面的章节细讲。 二、什么是标记?怎么标记?第一个问题相信大家都知道,标记就是对一些已死的对象打上记号,方便垃圾收集器GC的清理。 至于怎么标记,一般有两种方法:引用计数和可达性分析。 2.1 引用计数引用计数实现起来... 一、前言堆分为年轻代和年老代。永久代是非堆内存,它又叫做方法区(一般的说法),主要存储已被加载的类信息、常量、静态变量。而该区域在java8已被删除,取而代之的是元空间,会在后面的章节细讲。 二、什么是标记?怎么标记?第一个问题相信大家都知道,标记就是对一些已死的对象打上记号,方便垃圾收集器GC的清理。 至于怎么标记,一般有两种方法:引用计数和可达性分析。 2.1 引用计数引用计数实现起来...
- 一、前言众所周知,在java中内存主要分为以下几类:寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制。栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)堆:存放所有new出来的对象。静态域:存放静态成员(static定义的)。常量池:存放字符串常量和基本类型常量(public... 一、前言众所周知,在java中内存主要分为以下几类:寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制。栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)堆:存放所有new出来的对象。静态域:存放静态成员(static定义的)。常量池:存放字符串常量和基本类型常量(public...
- 简单工厂模式(Simple Factory Pattern)是工厂模式的一种简单实现方式,它属于创建型模式。简单工厂模式中只有一个“工厂”类,它可以根据类型来创建不同的“产品”实例。 简单工厂模式(Simple Factory Pattern)是工厂模式的一种简单实现方式,它属于创建型模式。简单工厂模式中只有一个“工厂”类,它可以根据类型来创建不同的“产品”实例。
上滑加载中
推荐直播
-
码道新技能,AI 新生产力——从自动视频生成到开源项目解析2026/04/08 周三 19:00-21:00
童得力-华为云开发者生态运营总监/何文强-无人机企业AI提效负责人
本次华为云码道 Skill 实战活动,聚焦两大 AI 开发场景:通过实战教学,带你打造 AI 编程自动生成视频 Skill,并实现对 GitHub 热门开源项目的智能知识抽取,手把手掌握 Skill 开发全流程,用 AI 提升研发效率与内容生产力。
回顾中 -
华为云码道:零代码股票智能决策平台全功能实战2026/04/18 周六 10:00-12:00
秦拳德-中软国际教育卓越研究院研究员、华为云金牌讲师、云原生技术专家
利用Tushare接口获取实时行情数据,采用Transformer算法进行时序预测与涨跌分析,并集成DeepSeek API提供智能解读。同时,项目深度结合华为云CodeArts(码道)的代码智能体能力,实现代码一键推送至云端代码仓库,建立起高效、可协作的团队开发新范式。开发者可快速上手,从零打造功能完整的个股筛选、智能分析与风险管控产品。
回顾中 -
华为云码道全新升级,多会话并行与多智能体协作2026/05/08 周五 19:00-21:00
王一男-华为云码道产品专家;张嘉冉-华为云码道工程师;胡琦-华为云HCDE;程诗杰-华为云HCDG
华为云码道4月份版本全新升级,此次直播深度解读4月份产品特性,通过“特性解读+实操演示+实战案例+设计创新”的组合,全方位展现码道在多会话并行与多智能体协作方面的能力,赋能开发者提升效率
正在直播
热门标签