自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JMM初学

程序顺序保留:每个线程内部的操作必须按照该线程的程序代码顺序执行。(不允许重排序)全局内存顺序:所有线程看到的整个系统的操作执行顺序必须一致顺序一致性模型虽然理论上完美,但硬件上难以实现,但Java等语言可以提供近似保证。

2025-06-06 17:00:41 730

原创 Java基础之数组(附带Comparator)

数组中的每个元素都会被初始化为默认值,int 类型的就为 0,Object 类型的就为 null。不同数据类型的默认值不同。还有一个需要注意的是,Arrays.asList 方法返回的 ArrayList 并不是。只有创建对象时才会使用new关键字,所以数组是个对象。如果需要添加元素或者删除元素的话,需要把它转成。将数组转为List,使用Arrays类。自定义排序(使用Comparator)Arrays.sort()方法。

2025-06-03 20:53:59 631

原创 volatile,synchronized,原子操作实现原理,缓存一致性协议

在不同的锁状态下,Mark word会存储不同的信息,这也是为了节约内存常用的设计。当锁状态为重量级锁(锁标识位=10)时,Mark word中会记录指向。

2025-06-02 21:19:28 915

原创 JVM常量池(class文件常量池,运行时常量池,字符串常量池)

从上述源码中可以发现。String这个类是被final修饰的,代表该类无法被继承。String这个类的成员属性value[]也是被final修饰,代表该成员属性不可被修改。因此String具有不可变的特性,也就是说String一旦被创建,就无法更改。这么设计的好处有几个。方便实现字符串常量池: 在Java中,由于会大量的使用String常量,如果每一次声明一个String都创建一个String对象,那将会造成极大的空间资源的浪费。

2025-05-22 23:18:27 1083

原创 Tomcat简述介绍

work:运行时生成的文件,最终运行的文件都在这里。**当客户端用户访问一个JSP文件时,Tomcat会通过JSP生成Java文件,然后再编译Java文件生成class文件,生成的java和class文件都会存放到这个目录下。如果需要添加Tomcat依赖的jar文件,可以把它放到这个目录中,当然也可以把项目依赖的jar文件放到这个目录中,这个目录中的jar所有项目都可以共享之;logs:这个目录中都是日志文件,记录了Tomcat启动和关闭的信息,如果启动Tomcat时有错误,那么异常也会记录在日志文件中。

2025-05-18 16:38:21 752

原创 并发学习之synchronized,JVM内存图,线程基础知识

虚拟机栈:每个线程都会有自己的虚拟机栈,是线程私有的区域。虚拟机栈主要用于存储栈帧,每个方法被调用时都会创建一个表栈帧。栈帧包含方法的局部变量,操作数栈和其他等。操作数栈:主要用于方法执行过程中的数据计算和临时存储。它的行为类似于传统CPU的运算寄存器,但采用栈结构(LIFO)来存储和操作数据。**堆:**堆是一个线程共享区域,是Java内存管理的核心区域。通过new关键字创建的对象实例和数组都存储在堆中。方法区。

2025-05-17 17:24:48 812

原创 整数和浮点数转换时的精度损失

对于8位阶码,可能的值范围是0255。标准规定:阶码范围1254:表示规格化数(实际指数-126+127(因为这里包括0,且这里是指数0和下面的阶码0不一样。阶码0:表示非规格化数(Denormalized Numbers)或零。阶码255:表示无穷大(Infinity)或非数值(NaN因此,偏置值127是对称中心,使指数范围均衡覆盖正负值。

2025-05-13 21:28:01 953

原创 Java基础(包装器,关键字,修饰符,Object)

在Java编程语言中,Object类是所有类的根类。每个类都使用Object作为父类,所有对象(包括数组)都实现这个类的方法。

2025-04-23 17:31:52 906

原创 Mybatis-Plus学习笔记

MyBatis-Plus (简称 MP)是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。Mybatis-Plus提供了通用的Mapper和Service,可以在不编写任何SQL语句的前提下,快速的实现单表的增删改查(CURD),批量,逻辑删除,分页等操作。只要把MyBatis-Plus的特性到优秀插件,以及多数据源的配置进行详细讲解。雪花算法是由Twitter公布的分布式主键算法,它能够保证不同表主键的不重复性和同一张表主键的有序性。

2025-04-01 19:09:29 1038

原创 SpringBoot学习笔记(主)

自动配置:Spring Boot 能依据项目的依赖自动配置 Spring 应用。起步依赖:Spring Boot 提供了一系列的起步依赖(Starter Dependencies),它们是一些预定义的依赖集合,能帮助你快速添加项目所需的依赖。例如,包含了 Spring MVC、Tomcat 等 Web 开发所需的依赖,你只需在pom.xml(Maven 项目)中添加以下依赖,就可以快速搭建 Web 应用嵌入式服务器。

2025-03-24 11:38:45 703

原创 SpringMVC

MVC全名是Model View Controller 模型视图控制器,每个部分各司其职。模型(Model):负责封装业务数据和业务逻辑,通常是 JavaBean 或领域对象,可从数据库、文件等数据源获取数据。视图(View):负责将模型中的数据呈现给用户,常见形式有 JSP、Thymeleaf、FreeMarker 模板等。控制器(Controller):负责接收用户请求,调用模型处理业务逻辑,然后选择合适的视图将结果展示给用户。

2025-03-11 18:55:19 1167

原创 自定义注解

注解(Annontation),Java5引入的新特性,位于java.lang.annotation包中。提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。是一种说明、配置、描述性的信息,与具体业务无关,也不会影响正常的业务逻辑。但我们可以用反射机制来进行校验、赋值等操作。注解的定义通过@interface表示,所有的注解会自动继承java.lang.Annotation接口,且不能再继承别的类或是接口。

2025-03-08 16:20:55 1033

原创 SQL注入问题和数据库连接池

池化思想是一种在计算机科学中广泛应用的设计模式,其核心概念是预先创建一组资源对象(如数据库连接、线程、对象实例等),并将它们存放在一个 “池子” 中进行管理。SQL 注入是一种常见的网络安全漏洞,攻击者通过在应用程序的输入字段中插入恶意的 SQL 代码,从而改变原 SQL 语句的逻辑,达到非法访问、修改或删除数据库数据的目的。数据库连接池是一种负责分配、管理和释放数据库连接的技术,它允许应用程序重复使用一个现有的数据库连接,而不是每次需要访问数据库时都重新建立一个新连接。后,完整的 SQL 语句变为。

2025-03-08 09:47:05 581

原创 spring IOC(实现原理)

Configuration 声明是配置类@ComponentScan 扫描具体包结构的。也可以扫描多个包@ComponentScan(value ={“com.qcbyjy.demo4”,“com.qcbyjy.demo3”})@Import 注解 Spring 的配置文件可以分成多个配置的,编写多个配置类。用于导入其他配置类@Bean 注解 只能写在方法上,表明使用此方法创建一个对象,对象创建完成保存到 IOC 容器中。

2025-03-08 09:26:41 1063

原创 Maven私有仓库Nexus Repository Manager 3.52的Windows 64

Nexus Repository Manager 3.52的Windows 64下载地址:项目首页 - Nexus3.52Windows64位版本下载:本仓库提供Nexus Repository Manager 3.52的Windows 64位版本资源文件下载。Nexus是一个广泛使用的Maven私服搭建工具,适用于企业内部或个人项目中管理依赖库和构件。由于国外资源下载不便,特此分享该版本,方便大家快速获取并使用。 - GitCode教程:从零开始:Nexus私服搭建与Maven仓库配置的完全指南-阿里云开

2025-03-07 09:12:08 466

原创 SSM整合

是 Spring MVC 的配置文件,主要负责 Spring MVC 相关组件的配置,包括控制器扫描、注解驱动和视图解析等。会接收到相应的事件通知,并负责销毁 Spring 根应用上下文,释放相关资源,确保应用程序能够正常关闭,避免资源泄漏。是 Spring 的全局配置文件,负责配置 Spring 容器的核心组件,如数据源、MyBatis 的。(Web 应用的全局上下文)的方法,使得在 Web 应用中可以方便地获取与 Web 环境相关的信息。的所有功能外,还添加了一些与 Web 应用相关的特定功能和属性。

2025-03-04 10:06:48 826

原创 JAVAweb之过滤器,监听器

一个目标资源上,可能部署了多个过滤器,如果当前过滤器是最后一个过滤器,那么调用chain.doFilter()方法表示执行目标资源,而不是最后一个过滤器,那么chain.doFilter()表示执行下一个过滤器的doFilter()方法。当用户请求某个Servlet时,会先执行部署在这个请求上的Filter,如果Filter“放行”,才会接着执行用户请求的Servlet(或者接着执行其它的Filter)。:一个目标资源可以指定多个过滤器,过滤器的执行顺序是在web.xml文件中的部署顺序。

2025-02-25 20:49:05 1102

原创 JAVA反射

在 Java 中,反射(Reflection)是一种强大的机制,它允许程序在运行时获取类的信息、操作类的属性和方法等。反射就是能够获取类信息的能力.

2025-02-24 22:12:22 412

原创 JSP学习

JSP(Java Server Pages)是由 SUN 公司在 1996 年 6 月发布的一种基于 Java 技术的服务器端编程技术,用于开发动态 Web 应用。从本质上讲,它是一个简化的 Servlet 设计。在传统的 HTML(标准通用标记语言的子集)文件(.htm、.html)中插入 Java 程序段(Scriptlet)和 JSP 标记(tag),就形成了 JSP 文件,后缀名为.jsp。跨平台性:可在 Windows、Unix、Linux 等多种操作系统上运行。易于维护。

2025-02-23 22:03:57 1104

原创 Cookie和Session学习

在 Web 应用程序里,会话指的是一个客户端(通常是浏览器)与服务器之间从建立连接开始,到连接断开结束的整个交互过程。这个过程包含了客户端向服务器发送多个请求,服务器针对这些请求给出相应响应的一系列操作。Session(会话)是服务器端用于跟踪和管理客户端会话状态的一种机制。服务器会为每个与它建立会话的客户端创建一个唯一的 Session 对象,并给这个对象分配一个独一无二的 Session ID。这个 Session ID 一般会通过 Cookie 或者 URL 重写的方式传递给客户端。

2025-02-22 22:17:04 1121

原创 JAVAWeb之Servlet学习

客户端发起请求:客户端(如浏览器)通过 HTTP 协议向 Web 服务器发送请求。服务器接收请求:Web 服务器(如 Tomcat)接收到请求后,根据请求的 URL 查找对应的 Servlet。调用 Servlet:如果找到对应的 Servlet,服务器会创建或复用 Servlet 实例,并调用其相应的方法(如doGet或doPost)来处理请求。Servlet 处理请求:Servlet 方法根据请求的信息进行相应的处理,如读取请求参数、访问数据库等。生成响应。

2025-02-21 21:50:06 1052

原创 MySQL数据库学习(数据类型,约束,表设计,事务及其隔离)

通常占用 1 个字节的存储空间,有符号的范围是 -128 到 127,无符号的范围是 0 到 255。适用于存储一些取值范围较小的整数,如性别(可以用 0 和 1 表示)。:占用 2 个字节,有符号范围是 -32768 到 32767,无符号范围是 0 到 65535。可用于存储如年龄等数据。:占用 4 个字节,有符号范围是 -2147483648 到 2147483647,无符号范围是 0 到 4294967295。是最常用的整数类型,可用于存储用户 ID、订单编号等。

2025-02-20 15:34:53 880

原创 java异常学习

自定义异常类通常继承自Exception类(用于检查型异常)或类(用于非检查型异常)。以后项目中会有一些跟业务相关的异常,这种异常我们必须要自定义。以后的项目中自定义的异常99%都是运行时的异常。我们定义的异常要继承RuntimeException。在类中继承RuntimeException的构造器即可。// 自定义非检查型异常类// 构造函数,接受异常信息// 自定义检查型异常类// 构造函数,接受异常信息try {

2025-02-14 11:33:55 691

原创 IO流学习

IO:是 Input、Output 的简写,译为:输入、输出。流:数据传输的通道,在 Java 中,不同类型的数据有各自的传输通道,这些通道被实现为一个个具体的对象。Java 中所有传统的流类型都在 java.io 包中,Java 的 IO流 是实现数据输入输出的基础,方便对各个文件进行读写操作。拿BufferedInputStream举例内部维护了一个字节数组作为缓冲区。当程序调用的read()方法时,它首先会检查缓冲区中是否有可用的数据。

2025-02-13 22:27:30 629

原创 mybatis学习

mybatis官网:MyBatis中文网狂神笔记:【狂神说】Mybatis学习笔记(全)_狂神说mybatis课件笔记-CSDN博客 是 MyBatis 映射文件()中的一个重要属性,它为映射文件中的 SQL 语句提供了一个命名空间,主要作用是避免不同映射文件中 SQL 语句的 ID 冲突,同时也方便在 Java 代码中定位对应的 SQL 语句。通常, 的值会设置为对应的 Mapper 接口的全限定名。2. 标签用于从数据库中查询数据。可以通过设置不同的属性来指定查询的条件、返回结果的类型等。

2025-02-08 20:08:26 752

原创 JAVA集合

Java 中的Collection集合体系是 Java 集合框架的重要组成部分,用于存储单个数据元素,属于单列集合。Collection是该体系的根接口,代表一组对象。List和Set,此外还有Queue接口。

2025-02-07 11:11:32 658

原创 MySQL学习(一)

数据库(DataBase,简称DB)概念:数据库是按照数据结构来组织、存储和管理数据的仓库。从本质上讲,它是一个长期存储在计算机内,有组织、可共享的数据集合。作用:保存,并能安全管理数据(如:增删改查等),减少冗余…数据库总览:关系型数据库:基于关系模型,以表的形式组织数据,并通过表与表之间的关联(通常是通过主键和外键)来体现数据之间的关系。关系型数据库具有严格的结构和规范,数据一致性强。如MySQL、Oracle、SQLServer都属于关系型数据库。

2025-01-20 11:58:43 880

原创 Linux学习

Linux安装jdk,mysql,tomcat

2025-01-11 17:07:06 682

原创 Maven学习

Maven是一个项目管理工具,它可以帮助我们自动化构建项目,管理依赖,发布项目。

2025-01-05 22:35:53 691

原创 JDBC了解使用

JDBC(JavaConnectivity)就是Java数据库连接,是 Java 编程语言中用于执行 SQL 语句、与各类数据库(如 MySQL、Oracle、SQL Server 等)进行交互的一套标准应用程序接口(API)。说白了就是用Java语言来操作数据库。原来我们操作数据库是在控制台使用SQL语句来操作数据库,JDBC是用Java语言向数据库发送SQL语句。

2024-12-23 21:26:53 1022

原创 Spring AOP

首先我们来看一下登录的原理如上图所示这是一个基本的登录原理图,但是如果我们想要在这个登录之上添加一些新的功能,比如那么我们能想到的就有两种方法:①:通过对源代码的修改实现。

2024-12-21 18:03:11 658

原创 Java设计模式之代理

静态代理 vs 动态代理特性静态代理动态代理代理类生成时机编译时生成运行时生成灵活性低,代理类固定高,可以在运行时动态生成代理类代码冗余高,每个目标类都需要一个代理类低,代理类可以在运行时自动生成性能较好,没有额外的动态代理开销略逊于静态代理,但差异通常不大适用场景简单的代理需求,性能要求较高的场景复杂的代理需求,如AOP、JDK动态代理。

2024-12-21 17:15:23 597

原创 计算机组成原理---运行

计算机的工作过程

2024-12-20 21:33:07 1165

空空如也

空空如也

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

TA关注的人

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