• 2024-11-21修改jar包中的class文件(windows)
    本文只适用于修改引用较少的class文件,引用较多的话,比较复杂,容易出错以下都是在windows环境下操作的1.利用jd-jui工具将jar包打开,找到需要修改的class文件选中文件---点击菜单File-----savesource ---将需要修改的class文件以及其引用到的文件转换为java文件保存到本地 2
  • 2024-11-21JAVA ClassLoader机制
    概要说明注:本篇文章是网上多篇文章的缝合,把我觉得写的不错的,对我理解ClassLoader有帮助的内容写到博客中,同时我尽量让一些学Java安全的同学更详细的学习ClassLoader。参考文章(1):https://www.cnblogs.com/luckforefforts/p/13642685.html-简短,可以快速了解ClassLoader概念和双
  • 2024-11-21软件设计模式————(桥接模式)
    [实验任务一]:两个维度的桥接模式用桥接模式实现在路上开车这个问题,其中,车可以是car或bus,路可以是水泥路或沥青路。实验要求:1.画出对应的类图; 2.提交源代码; publicclassBusimplementsVehicle{@Overridepublicvoiddrive(){System.out.print("大巴");}}
  • 2024-11-21java.lang.IllegalArgumentException: Unsupported class file major version xx解决之道
    在一次项目打包中遇到了这个问题,这个问题的本质是打包时,你依赖的包或这些依赖的间接依赖中含有高于当前项目构建jdk版本编译出来的类,导致打包失败。1.majorversion和jdk各版本对应关系可以自行搜索,当前主要版本的对应关系是c:55对应java11majorversion:52对应java8maj
  • 2024-11-21Spring AOP的理解
        面向切面编程(Aspect-OrientedProgramming,简称AOP)是面向对象编程(OOP)的一种补充。它允许程序员根据功能将程序逻辑分割为不同的部分,这些部分称为“切面”(Aspects)。AOP的主要目标是通过分离关注点来提高模块化,特别是处理横切关注点(cross-cuttingconcerns),即那些影响多
  • 2024-11-21软件设计模式————(抽象工厂模式)
    [实验任务一]:人与肤色使用抽象工厂模式,完成下述产品等级结构: 实验要求:1.画出对应的类图; 2.提交源代码;publicclassBlackFactoryimplementsPeopleFactory{@OverridepublicManproduceMan(){returnnewBlackMan();}@Override
  • 2024-11-21学习高校课程-软件工程-需求建模:基于类的方法(ch10)
    CLASS-RESPONSIBILITY-COLLABORATOR(CRC)MODELINGResponsibilitiesaretheattributesandoperationsthatarerelevantfortheclass.职责是与类相关的属性和操作。Collaboratorsarethoseclassesthatarerequiredtoprovideaclasswiththeinformationneededt
  • 2024-11-21Class.isAssignableFrom判断A类是否可赋值给B类
    Java中的 Class 类的 isAssignableFrom 方法用于判断一个类或者接口是否可以被赋值给另一个类或者接口。这在判断类之间的继承关系或接口的实现关系时非常有用。方法签名publicbooleanisAssignableFrom(Class<?>cls)功能描述用途: isAssignableFrom 用于判断调
  • 2024-11-21三圆点CSS3 loading加载动画特效库
     在线预览       插件下载 安装可以通过npm来安装three-dots.css。npminstallthree-dots--save 使用方法在页面中引入three-dots.css。<linkhref="css/three-dots.css"rel="stylesheet"> HTML结构然后在你需要添
  • 2024-11-21【springboot开发】SpringBoot中出入参增强的5种方法 : 加解密、脱敏、格式转换、时间时区处理
    1.使用@JsonSerialize和@JsonDeserialize注解2.全局配置Jackson的ObjectMapper3.使用@ControllerAdvice配合@InitBinder4.自定义HttpMessageConverter5.使用AOP进行切面编程结语在SpringBoot中,对接口的请求入参和出参进行自定义的增
  • 2024-11-21Linux基础——BCLinuxOE21.10配置默认启动内核
    #查看内核菜单[root@harborkernel]#cat/boot/grub2/grub.cfg|grep"menuentry"if[x"${feature_menuentry_id}"=xy];thenmenuentry_id_option="--id"menuentry_id_option=""exportmenuentry_id_optionmenuentry'
  • 2024-11-21快照接口 isRepositoryExists单元测试
    好的,为了编写restoreSnapshotIndices方法的单元测试,我们需要考虑以下几个方面:准备测试数据:创建一个RestoreSnapshotIndicesRequest对象,包含多个SnapShotDTO对象。模拟依赖服务:使用Mockito模拟restHighLevelClient和indicesRestoreMapper等依赖服务的行为。执行测
  • 2024-11-20Spring工作流程
    (3)案例工作流程启动服务器初始化过程1.服务器启动,执行ServletContainersInitConfig类,初始化web容器功能类似于以前的web.xml2.执行createServletApplicationContext方法,创建了WebApplicationContext对象该方法加载SpringMVC的配置类SpringMvcConfig来初始化SpringMVC的容
  • 2024-11-20JAVA反射
    基本概念反射(Reflection)是Java中的一种机制,它允许程序在运行时动态地访问类的结构和行为,包括类、方法、字段、构造函数等,从而实现动态调用和操作。通过反射,程序不需要在编译时就确定使用的类、方法或字段,而是在运行时动态地加载和使用它们。反射广泛用于框架设计、工具开发和
  • 2024-11-20SSTI(模板注入)
    SSTI:SSTI(Server-SideTemplateInjection)即服务端模板注入,它是一种安全漏洞攻击技术。当应用程序在服务器端使用模板引擎来呈现动态生成的内容时,如果用户可以控制模板引擎的输入,就可能导致SSTI漏洞。服务端接收攻击者的恶意输入以后,未经任何处理就将其作为Web应用模板内
  • 2024-11-20Java语法糖详解
    什么是语法糖?语法糖(SyntacticSugar)也称糖衣语法,是英国计算机学家Peter.J.Landin发明的一个术语,指在计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。简而言之,语法糖让程序更加简洁,有更高的可读性。 有意思的是,在编程领域,除了语法
  • 2024-11-20python进阶-02-一篇文章搞明白BeautifulSoup
    python进阶-02-一篇文章搞明白BeautifulSoup一.说明开始今天的日拱一卒,上一篇文章我们介绍了Xpath,今天我们开始介绍BeautifulSoup,这个也是用来解析HTML文档的技术,但是跟Xpath还是有区别的,XPath是使用路径表达式来定位元素,而BeautifulSoup就是一个字简单。二.安装要使
  • 2024-11-19Java 反射:解锁 Java 世界的 “隐藏技能”
    一、引言在Java开发的广袤天地中,存在着一种犹如魔法般的技术——Java反射。它就像是一把隐藏的钥匙,能够打开Java类与对象内部那些平时看似难以触及的“暗格”,让开发者在运行时去动态地获取类的信息、操作对象的属性以及调用对象的方法等。无论是构建灵活的框架、实现
  • 2024-11-19面试题--Java反射
    目录获得一个类的class对象有哪些方式?1.使用.class属性:2.使用Class.forName方法:3.通过实例的getClass方法:4.通过类加载器:5.通过数组的getClass方法:6.通过Thread.currentThread().getContextClassLoader().loadClass:7.通过Method、Constructor等类的getDeclaringClass和getReturnT
  • 2024-11-19Java防止反编译的技术方案
    背景由于Java字节码的抽象级别较高,因此它们较容易被反编译。本文介绍了几种常用的方法,用于保护Java字节码不被反编译。通常,这些方法不能够绝对防止程序被反编译,而是加大反编译的难度而已,因为这些方法都有自己的使用环境和弱点。不同保护技术比较表以下几种技术都有不同的应用
  • 2024-11-19JAVA反序列化学习-CommonsCollections4(基于ysoserial)
    环境准备JDK1.8(8u421)这里ysoserial没有提及JDK版本的影响,我以本地的JDK8版本为准、commons-collections4(4.0以ysoserial给的版本为准)、javassist(3.12.1.GA)cc4.0、ClassPool<dependency><groupId>org.apache.commons</groupId><artifactId>commons-collections
  • 2024-11-19JAVA反序列化学习-CommonsCollections3(基于ysoserial)
    环境准备JDK1.7(7u80)、commons-collections(3.x4.x均可这里使用3.2版本)JDK:https://repo.huaweicloud.com/java/jdk/7u80-b15/jdk-7u80-windows-x64.exe<dependency><groupId>commons-collections</groupId><artifactId>commons-collections</a
  • 2024-11-19聊聊springboot项目中使用jackson的一些小技巧
    前言在我们前后端联调时,很经常以json作为数据的交互格式,今天我们就来聊聊在开发springboot项目中,使用jackson进行数据渲染一些小技巧场景一:枚举-JSON互转在日常开发中我们为了避免过多的魔法值,使用枚举类来封装一些静态的状态代码。但是在将这些枚举的意思正确而全面的返回给
  • 2024-11-19Python设计模式详解之2 —— 工厂模式
    工厂模式(FactoryPattern)是一种创建型设计模式,旨在定义一个用于创建对象的接口,但由子类决定实例化哪个类。工厂模式可以帮助我们将对象的创建与其使用分离,增强代码的可扩展性和维护性。工厂模式的分类简单工厂模式(SimpleFactoryPattern)工厂方法模式(FactoryMethodPatte
  • 2024-11-19Python设计模式详解之3 —— 抽象工厂模式
    抽象工厂模式也是一种创建型设计模式,它提供一个接口,用于创建一系列相关或相互依赖的对象,而无需指定它们的具体类。它特别适合在需要创建多个相关对象且这些对象在逻辑上属于一个“产品族”时使用。结构:抽象产品:定义了产品家族中每个产品的接口。具体产品:实现抽象产品接口