Spring 源码阅读(二)IoC 容器初始化以及 BeanFactory 创建和 BeanDefinition 加载过程

相关代码提交记录:https://github.com/linweiwang/spring-framework-5.3.33IoC 容器三种启动方式XMLJavaSE:ApplicationContext context = new ClassPathXmlApplicationContex...

2024-04-23

Java面试题:为什么HashMap不建议使用对象作为Key?

HashMap 是一种基于哈希表的动态数据结构,它允许使用任意不可变对象作为键(key)来存储和检索数据。然而,在某些情况下,使用对象作为 HashMap 的键可能会遇到一些问题。首先,我们需...

2024-04-21

Java面试题:请谈谈对ThreadLocal的理解?

ThreadLocal是一种特殊的变量存储机制,它提供了一种方式,可以在每个线程中保存数据,而不会受到其他线程的影响。这种机制在多线程编程中非常有用,因为它允许每个线程拥有自己的...

2024-04-21

JDBC数据库汇总Attack研究

前言针对除Mysql的其它数据库的jdbc attack分析H2 RCE介绍H2 是一个用 Java 开发的嵌入式数据库,它本身只是一个类库,即只有一个 jar 文件,可以直接嵌入到应用项目中。H2 主要...

2024-04-19

今天我们来聊一聊Java中的Semaphore

写在开头在上几天写《基于AQS手写一个同步器》时,很多同学留言说里面提到的Semaphore,讲得太笼统了,今天趁着周末有空,咱们就一起详细的学习和梳理一把 Semaphore。什么是Semaph...

2024-04-13

详解Java Chassis 3与Spring Cloud的互操作

本文分享自华为云社区《Java Chassis 3技术解密:与Spring Cloud的互操作》,作者: liubao68。Java Chassis 3一个很重要的设计原则:利用架构的韧性设计来解决兼容性问题。比如通...

2024-04-11

java switch 自定义表格的渲染和编辑示例

目录 正常使用表格 自定义表格样式 自定义Model 渲染器代码: 编辑器代码: 不管是什么编程语言,都已经内置好很多典型的前端组件给你使用,使用这些默认组件基本能完成80%的...

2024-04-11

Spring反序列化JNDI分析

漏洞原理Spring框架的JtaTransactionManager类中重写了readObject方法,这个方法最终会调用到JNDI中的lookup()方法,关键是里面的参数可控,这就导致了攻击者可以利用JNDI注入中...

2024-04-07

JVM—对象的创建流程与内存分配

JVM—对象的创建流程与内存分配创建流程对象创建的流程图如下:对象的内存分配方式内存分配的方式有两种: 指针碰撞(Bump the Pointer) 空闲列表(Free List) 分配方式 ...

2024-04-07

SpringBoot中bean的生命周期

目录 概述 使用场景 代码演示bean初始化 TestSupport BeanPostProcessorImpl log 代码 概述Bean 生命周期管理是 Spring Boot 中的关键功能之一。它负责管理应用程序中...

2024-04-07

从零开始学Spring Boot系列-集成MyBatis-Plus

在Spring Boot应用开发中,MyBatis-Plus是一个强大且易于使用的MyBatis增强工具,它提供了很多实用的功能,如代码生成器、条件构造器、分页插件等,极大地简化了MyBatis的使用和配...

2024-04-07

从零开始学Spring Boot系列-SpringApplication

SpringApplication类提供了一种从main()方法启动Spring应用的便捷方式。在很多情况下, 你只需委托给 SpringApplication.run这个静态方法 : @SpringBootApplication pub...

2024-04-07

Java 封装的艺术:保护你的数据,增强代码安全性

php小编草莓专注于分享Java封装的艺术,帮助读者保护数据,增强代码安全性。Java封装是面向对象编程的重要特性,通过封装可以隐藏实现细节,提高代码复用性和可维护性,确保数据安全...

2024-03-31

ava反序列化-CC1

目录 CC1 1、Transformer接口 2、Transformer的实现类 ConstantTransformer ChainedTransformer InvokerTransformer 3、寻找调用链 TransformedMap(功能...

2024-03-31

SpringBoot 常用注解总结

核心注解1. @SpringBootApplication主要用于开启自动配置,它也是一个组合注解,主要组合了 @SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan2. @EnableAu...

2024-03-29

Spring Boot 工程开发常见问题解决方案,日常开发全覆盖

本文是 SpringBoot 开发的干货集中营,涵盖了日常开发中遇到的诸多问题,通篇着重讲解如何快速解决问题,部分重点问题会讲解原理,以及为什么要这样做。便于大家快速处理实践中经常...

2024-03-29

如何在Java中读取超过内存大小的文件

读取文件内容,然后进行处理,在Java中我们通常利用 Files 类中的方法,将可以文件内容加载到内存,并流顺利地进行处理。但是,在一些场景下,我们需要处理的文件可能比我们机器所拥有...

2024-03-29

ElasticSearch8 - SpringBoot整合ElasticSearch

前言springboot 整合 ES 有两种方案,ES 官方提供的 Elasticsearch Java API Client 和 spring 提供的 [Spring Data Elasticsearch](Spring Data Elasticsearch)两种方案各有...

2024-03-26

SpringBoot如何优雅的进行参数校验

写在前面上一篇文章中我们学会了如何优雅的接收前端参数,传送门SpringBoot如何优雅的接收前端参数接收到参数后,接下来要做的就是校验参数的合法性。这一步的重要性就不用多说...

2024-03-25

项目性能优化—使用JMeter压测SpringBoot项目

项目性能优化—使用JMeter压测SpringBoot项目我们的压力测试架构图如下:配置JMeter在JMeter的bin目录,双击jmeter.bat新建一个测试计划,并右键添加线程组:进行配置一共会发...

2024-03-18

SpringBoot如何优雅停机?

优雅停机(Graceful Shutdown) 是指在服务器需要关闭或重启时,能够先处理完当前正在进行的请求,然后再停止服务的操作。优雅停机的实现步骤主要分为以下几步: 停止接收新的请求:首...

2024-03-18

写了个简单爬虫,分析 Boss 直聘自动驾驶岗位

两年前,朋友想知道 Boss 直聘上关于自动驾驶的岗位有哪些 ,于是,笔者写了一个简单的爬虫 crawler-boss ,将岗位的信息收集起来。这篇文章,笔者想分享爬虫 crawler-boss 的设计思...

2024-03-17

Java中的字符串

目录 一、简介 二、字符串定义 2.1 直接定义字符串 2.2 通过使用 String 类的构造方法来创建字符串 三、如何使用Java API帮助文档 3.1 帮助文档下载地址 3.2 帮助文...

2024-03-17

springboot如何优雅的获取前端参数

写在前面对于初学者来说,困难的不是理论知识,而是如何在程序中具体实现。现在的项目基本上都是前后端分离的项目,如何打通前后端,接收前端传过来的参数呢?废话不多说,这篇文章就来...

2024-03-17

Java 继承的迷宫:导航超类、子类和多态

在 Java 继承中,超类(父类)是通用类,定义了对象的行为和属性,而子类(派生类)从超类继承并扩展其功能。子类可以使用超类的非私有成员,并可以覆写超类的方法。多态:多态性允许一个对象...

2024-03-17

Java 对象导向编程中的封装与继承:理解基本原则

Java对象导向编程中的封装与继承是程序设计中的基本概念,对于Java开发者来说至关重要。在面向对象的编程中,封装和继承是两个核心概念,理解它们对于构建可靠和可扩展的代码至关...

2024-03-17

Java 继承的灵活性:多态的威力

Java继承的灵活性在面向对象编程中发挥着重要作用,其中多态作为继承的一种表现形式,具有强大的功能和威力。通过多态,我们可以实现同一接口的不同表现,提高代码的可复用性和可扩...

2024-03-17

Java 继承的层次结构:子类、父类和祖先

Java继承是面向对象编程的核心概念之一,构建了类之间的层次结构。在这种结构中,子类继承父类的属性和方法,而父类又可以继承自祖先类。php小编苹果将为您详细介绍Java继承的层...

2024-03-17

Java switch的用法是什么

Java中的switch语句用于根据不同的条件执行不同的代码块。它可以替代较长的if-else if-else语句,使代码更加简洁易读。switch语句的基本语法如下:switch (expression) {case v...

2024-03-17

揭开 Java 类与对象的神秘面纱:理解对象导向的基础

Java类与对象是面向对象编程的核心概念,理解其基础原理至关重要。php小编鱼仔将为您揭开Java类与对象的神秘面纱,带您深入探索面向对象编程的精髓。通过本文,您将了解类和对象...

2024-03-17

Java Servlet 的进阶之道:探索高级技巧和最佳实践

Java Servlet 是 Java Web 开发中的重要组件,掌握其高级技巧和最佳实践可以提升开发效率和代码质量。本文由 php小编柚子精心撰写,将为您深入探索 Java Servlet 的进阶之道,带...

2024-03-17

Java Servlet 故障排除之旅:解决常见问题和错误

Java Servlet 是开发 Java Web 应用程序的重要组件,然而在使用过程中难免会遇到各种故障和错误。本文将带领读者进入一场关于 Java Servlet 故障排除的旅程,探索常见问题和错...

2024-03-17

揭秘 Java Servlet:深入浅出的终极指南

作为Java Web开发的重要组成部分,Servlet扮演着连接前端与后端的桥梁角色。本指南将从入门到精通,为你揭示Servlet的工作原理、使用方法和高级技巧,助你在Web开发领域游刃有余...

2024-03-17

Java JSON 处理:提高应用程序性能的利器

Java JSON 处理一直是开发中的重要环节。通过高效处理 JSON 数据,可以提升应用程序性能。本文由 php小编百草为您介绍 Java 中关于 JSON 的处理技巧,帮助您更好地理解并运用这...

2024-03-17

Java RESTful API 的实战应用:构建一个动态的 Web 应用程序

Java RESTful API 是一种用于构建 Web 服务的技术,具有高度灵活性和可扩展性。在这篇文章中,php小编鱼仔将为您介绍如何利用 Java RESTful API 构建一个动态的 Web 应用程序。...

2024-03-17

Java RESTful API 的未来趋势:展望新技术和创新

从技术发展的角度出发,对Java RESTful API的未来趋势进行了深入探讨。文章展望了新技术和创新在这一领域的应用,分析了未来发展的方向和可能的变化,为读者呈现了一个关于Java R...

2024-03-17

Spring Cloud Kubernetes:拥抱容器化,让你的应用驰骋云海

容器化的优势容器化技术带来了诸多优势,包括: 隔离性和可移植性: 容器将应用程序与底层基础设施隔离开来,确保应用在不同的环境中也能正常运行。 弹性伸缩: Kubernetes 可以根据...

2024-03-17

Spring Cloud Config:配置管理的艺术,让你的应用弹性十足

spring cloud Config:配置管理的艺术php小编苹果为您介绍Spring Cloud Config——一门配置管理的艺术。通过Spring Cloud Config,您可以实现配置的集中管理和动态刷...

2024-03-17

Java RESTful API 与大数据分析的结合:解锁数据洞察力的强大潜力

Java RESTful API 与大数据分析的结合,为数据洞察力的提升带来了强大潜力。php小编子墨将为大家深度剖析这一融合应用的优势及技术实现,帮助读者更好地理解如何利用Java RESTf...

2024-03-17

Java 封装与继承的陷阱和最佳实践:避免常见的错误

過度封裝:過度限制資料和方法的存取會導致程式碼變得僵化和難以維護。應適度地提供存取,同時保持資料的完整性。 無效封裝:無效封裝會允許未經授權的存取,從而導致資料洩露和安...

2024-03-17

Java 线程池实战:提升程序性能与效率

Java 线程池是一种管理线程的机制,有助于提升并发程序的性能和效率。通过集中管理线程资源,线程池可以避免线程创建和销毁的开销,减少内存消耗,并提高代码的可维护性。创建线程...

2024-03-17

MapStructPlus 1.4.0 发布,体积更轻量!性能更强!

MapStruct Plus 是 MapStruct 的增强工具,在 Mapstruct 的基础上,实现了自动生成 Mapper 接口的功能,并强化了部分功能,使 Java 类型转换更加便捷、优雅。MapStructPlus官网此次...

2024-03-17

JVM内存结构

我们都知道,我们写的Java程序需要先经过编译,生成了.class文件(字节码文件)。然而,计算机并不能直接解释.class文件里面的内容,这时候就需要一个能加载、解释.class文件并且能按.c...

2024-03-15

Spring状态机(FSM),让订单状态流转如丝般顺滑

引言在复杂的应用程序设计中,尤其是那些涉及多个状态变迁和业务流程控制的场景,有限状态机(Finite State Machine, FSM)是一种强大而有效的建模工具。Spring框架为此提供了Sprin...

2024-03-12

『Java 语法基础』面向对象有哪些特性

面向对象编程(OOP) 是一个将现实世界抽象为一系列对象的编程范式,这些对象通过消息传递机制来互相交流和协作。OOP 的主要特性包括四个基本概念:封装(Encapsulation)、继承(Inherit...

2024-03-11

Spring动态定时任务之ScheduledTaskRegistrar

前言​ 在做SpringBoot项目的过程中,有时客户会提出按照指定时间执行一次业务的需求。​ 如果客户需要改动业务的执行时间,即动态地调整定时任务的执行时间,那么可以采用Spring...

2024-03-11

分享 Java 开发中常用到的设计模式

前言不知道大家在开发的时候,有没有想过(遇到)这些问题: 大家都是按需要开发,都是一个职级的同事,为什么有些人的思路就很清晰,代码也很整洁、易懂;而自己开发,往往不知道怎么下手设...

2024-03-11

Java 实际开发中积累的几个小技巧

目录 前言 一、枚举类的注解 二、RESTful 接口 三、类属性转换 四、Stream 流 五、判空和断言 5.1判空部分 5.2断言部分 文章小结 前言笔者目前从事一线 Java 开发今年...

2024-03-11

Java 互联网项目如何防止集合堆内存溢出(一)

目录 前言 一、代码优化 1.1Stream 流自分页 1.2数据库分页 1.3其它思考 二、硬件配置 2.1云服务器配置 三、文章小结 前言OOM 几乎是笔者工作中遇到的线上 bug 中...

2024-03-11

日常工作中关于 JSON 转换的经验大全(Java)

目录 前言 一、JSON 回顾 1.1结构形式 二、其它类型 -> JSON相关 2.1 JavaBean 转 JsonObject 2.2 JavaBean 转 Json 字符串 2.3 List 转 JsonArray 2.4 List 转Jso...

2024-03-11
返回顶部
顶部