- 博客(59)
- 收藏
- 关注
原创 Java的映射和反射(详解)--项目代码一行一行解释(实用好上手不空洞)
这段代码通过 Java Stream API 实现了对PrizeDTO列表的排序、转换和收集操作,将其转换为列表并设置到result对象中。这种方式代码简洁,并且充分利用了 Stream API 的并行处理能力,提高了代码的可读性和性能。.stream()这段 Java 代码的核心功能是将对象中的records列表里的每个对象转换为对象,再把这些转换后的对象收集到一个新列表中,最后将这个新列表设置到result对象的records属性里。代码主要由以下几个关键步骤构成:获取。
2025-04-01 08:30:00
696
原创 Java中的比较方法(equals,hashcode,Comparble,Comparator,注解@Data和@Equalsandhashcode(参数使用等等)(这个是项目中最常用的比较注解))
1.基本类型的比较String,int等这些基本类型.2.equals和hashcode (注解@Data和@equalsandhashcode)3..Comparble中compareTo方法4.Comparator中compare方法
2025-03-25 08:30:00
1067
原创 JWT令牌——详解(保姆式解析代码教学)
等号它是一个补位的符号。指的是jwt令牌,看似是一个随机的字符串,但是我们是可以根据自身的需求在jwt令牌中存储自定义的数据内容。运行测试方法,输出的结果就是生成的JWT令牌,,通过英文的点分割对三个部分进行分割,我们可以将生成的令牌复制一下,然后打开JWT的官网,将生成的令牌直接放在Encoded位置,此时就会自动的将令牌解析出来。指的是它能够以较小的体积包含所有的信息。简单来讲,jwt就是将原始的json数据格式进行了安全的封装,这样就可以直接基于jwt在通信双方安全的进行信息传输了。
2025-03-24 09:00:00
1684
1
原创 一篇文章带你了解,走进,使用Spring Web MVC(非常容易理解的举例,让大家了解几个容易混淆的关系)
从上面的案例中,也发现了个新的问题,就是我们测试后端方法时,还需要去写前端代码.这对我们来说,是一件麻烦又痛苦的事情.随着互联网的发展,也随着项目难度的增加,企业也按照开发的功能,把人员拆分成了不同的团队.界面显示交给"前端开发工程师",业务逻辑的实现交给"后端开发工程师"后端开发工程师,不要求也不需要掌握前端技能了.那后端开发工程师,如何测试自己的程序呢?--使用专业的接口测试工具咱们课堂中使用的是Postman,接下来我们来学习Postman的使用.1. 传参介绍,也就是通过字符串来传参.
2025-03-01 10:00:00
2136
4
原创 SpringBoot 统⼀功能处理
拦截器是Spring框架提供的核⼼功能之⼀,主要⽤来拦截⽤⼾的请求,在指定⽅法前后,根据业务需要执 ⾏预先设定的代码.也就是说,允许开发⼈员提前预定义⼀些逻辑,在⽤⼾的请求响应前后执⾏.也可以在⽤⼾请求前阻⽌ 其执⾏. 在拦截器当中,开发⼈员可以在应⽤程序中做⼀些通⽤性的操作,⽐如通过拦截器来拦截前端发来的 请求,判断Session中是否有登录⽤⼾的信息.如果有就可以放⾏,如果没有就进⾏拦截.
2025-03-01 09:30:00
526
原创 一篇文章带你了解Spring AOP
1. AOP概述本节⽬标1.了解AOP的概念2.学习Spring AOP的实现⽅式以及实现原理, 对代理模式有⼀定了解1. AOP概述学习完Spring的统⼀功能之后, 我们进⼊到AOP的学习. AOP是Spring框架的第⼆⼤核⼼(第⼀⼤核⼼是IoC).什么是AOP?•Aspect Oriented Programming(⾯向切⾯编程)什么是⾯向切⾯编程呢?切⾯就是指某⼀类特定问题, 所以AOP也可以理解为⾯向特定⽅法编程.什么是⾯向特定⽅法编程呢?
2025-03-01 09:30:00
585
原创 MyBatis 操作数据库(详细入门详细)
数据库连接池负责分配、管理和释放数据库连接,它允许应⽤程序重复使⽤⼀个现有的数据库连接, ⽽不是再重新建⽴⼀个.没有使⽤数据库连接池的情况:每次执⾏SQL语句,要先创建⼀个新的连接对象,然后执⾏SQL语句,SQL 语句执⾏完,再关闭连接对象释放资源.这种重复的创建连接,销毁连接⽐较消耗资源程序启动时,会在数据库连接池中创建⼀定数量的Connection对象,当客⼾ 请求数据库连接池,会从数据库连接池中获取Connection对象,然后执⾏SQL,SQL语句执⾏完,再把 Connection归还给连接池。
2025-02-28 21:01:14
1127
原创 数据结构-排序算法
【本节目标】1. 掌握七大基于比较的排序算法基本原理及实现2. 掌握排序算法的性能分析3. 掌握 java 中的常用排序方法。
2025-01-11 14:09:51
968
原创 了解什么是JavaEE(什么是JavaEE)
1.前端Web开发[了解]◦HTML◦CSS◦JavaScript◦Jquery能够借助⽹络看懂前端代码即可.2.后端Web开发[重点]◦Maven◦Spring家族框架: Spring, SpringBoot,Spring MVC◦Mybatis◦Linux。
2025-01-06 14:38:16
2475
原创 Spring IoC&DI
DI: Dependency Injection(依赖注⼊)容器在运⾏期间, 动态的为应⽤程序提供运⾏时所依赖的资源,称之为依赖注⼊。程序运⾏时需要某个资源,此时容器就为其提供这个资源.从这点来看, 依赖注⼊(DI)和控制反转(IoC)是从不同的⻆度的描述的同⼀件事情,就是指通过引⼊ IoC 容器,利⽤依赖关系注⼊的⽅式,实现对象之间的解耦。上述代码中, 是通过构造函数的⽅式, 把依赖对象注⼊到需要使⽤的对象中的.
2024-08-12 01:20:03
893
1
原创 多线程---进阶(八股文)---文章后面写了面试会如何问和答案(!!!)
这个是Java1.7?中采取的技术.Java1.8中已经不再使⽤了.简单的说就是把若⼲个哈希桶分成⼀个"段"(Segment),针对每个段分别加锁.⽬的也是为了降低锁竞争的概率.当两个线程访问的数据恰好在同⼀个段上的时候,才触发锁竞争.
2024-07-21 13:58:59
999
原创 SpringBoot 介绍和使用(详细)
官⽅对于Maven的描述:引⽤来⾃:翻译过来就是:Maven是⼀个项⽬管理⼯具。基于POM(Project Object Model,项⽬对象模型)的概念,Maven可以通 过⼀⼩段描述信息来管理项⽬的构建,报告和⽂档的项⽬管理⼯具软件。⼤⽩话: Maven是⼀个项⽬管理⼯具, 通过pom.xml⽂件的配置获取jar包,⽽不⽤⼿动去添加jar包.2.2 为什么要去学Maven⼀句话: 简单, ⽅便, 提⾼我们的开发效率, 减少我们的开发Bug.
2024-07-21 09:00:00
1149
原创 MySQL全解(基础)-(MySQL的安装与配置,数据库基础操作(CRUD,聚合,约束,联合查询),索引,事务)
存储数据用文件就可以了,为什么还要弄个数据库?文件保存数据有以下几个缺点:文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序中控制不方便磁盘内存为了解决上述问题,专家们设计出更加利于管理数据的软件——数据库,它能更有效的管理数据。数据库可以提供远程服务,即通过远程连接来使用数据库,因此也称为数据库服务器。数据库大体可以分为 关系型数据库 和 非关系型数据库关系型数据库(RDBMS):是指采用了关系模型来组织数据的数据库。
2024-06-19 08:00:00
671
原创 反射,枚举以及lambda表达式
Java的反射(reflection)机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性,既然能拿到那么,我们就可以修改部分类型信息;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射(reflection)机制。Lambda表达式的优点很明显,在代码层次上来说,使代码变得非常的简洁。缺点也很明显,代码不易读。优点:1. 代码简洁,开发迅速2. 方便函数式编程3. 非常容易进行并行计算。
2024-06-15 20:00:48
836
1
原创 优先级队列(堆)和四个比较(==,equals,Comparable,Comparator)
本节具体阐述堆的概念和自己如何实现堆(底层)掌握PriorityQueue的使用。
2024-04-27 13:04:50
1061
4
原创 CSS选择器的常见用法(标签选择器,class选择器,id选择器,复合选择器,通配符选择器)
⼀个类可以被多个标签使⽤, ⼀个标签也能使⽤多个类(多个类名要使⽤空格分割, 这种做法可以让 代码更好复⽤)id 是唯⼀的, 不能被多个标签使⽤ (是和 类选择器 最⼤的区别)
2024-04-22 22:17:33
335
原创 JVM(java虚拟机 详解三个主要的话题:1.JVM 中的内存区域划分2.JVM 的类加载机制3.JVM 中的垃圾回收算法)
JDK、JRE、JVM之间的关系?JDK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译器javac与自带的调试工具Jconsole、jstack等。JRE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序运行的所需环境。
2024-04-21 15:15:02
1436
原创 一篇文章带你掌握⽹络原理--HTTP/HTTPS(HTTP各个部分详解和HTTPS加密详解)
HTTP(全称为"超⽂本传输协议")是⼀种应⽤⾮常⼴泛的应⽤层协议.HTTP诞⽣与1991年.⽬前已经发展为最主流使⽤的⼀种应⽤层协议.最新的HTTP3版本也正在完善中,⽬前Google/Facebook等公司的产品已经⽀持了.HTTP往往是基于传输层的TCP协议实现的.(HTTP1.0,HTTP1.1,HTTP2.0均为TCP,HTTP3基于UDP实现)⽬前我们主要使⽤的还是HTTP1.1和HTTP2.0.当前课堂上讨论的HTTP以1.1版本为主.
2024-04-20 13:59:20
1593
1
原创 网路原理-传输层UDP,TCP/IP(确认应答,超时重传,连接管理,三次握手,四次挥手,状态转换,流量控制,滑动窗口,拥塞控制,延时应答,捎带应答,异常情况,面向字节流)-网络层(IP协议,地址管理)
本节重点• 理解传输层的作⽤,深⼊理解TCP的各项特性和机制• 对整个TCP/IP协议有系统的理解• 对TCP/IP协议体系下的其他重要协议和技术有⼀定的了解。
2024-04-06 16:18:05
2464
14
原创 一篇文章带你掌握二叉树(附带二叉树基本操作完整代码演示,和两种思路)
【本长内容】1. 掌握树的基本概念2. 掌握二叉树概念及特性3. 掌握二叉树的基本操作4. 完成二叉树相关的面试题练习。
2024-04-05 22:24:41
1022
原创 一篇文章带你了解和使用-网络编程套接字
DatagramSocket 是UDPSocket,⽤于发送和接收UDP数据报。DatagramSocket 构造⽅法:⽅法签名 ⽅法说明DatagramSocket() 创建⼀个UDP数据报套接字的Socket,绑定到本机任意⼀个随机端⼝(⼀般⽤于客⼾端)
2024-04-01 21:55:24
767
原创 一篇文章带你了解Java网络原理
独立模式:计算机之间相互独立;随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据,即以多个计算机协同⼯作来完成业务,就有了⽹络互连。⽹络互连:将多台计算机连接在⼀起,完成数据共享。数据共享本质是⽹络数据传输,即计算机之间通过局域⽹,即Local Area Network,简称LAN。Local即标识了局域⽹是本地,局部组建的⼀种私有⽹络。局域⽹内的主机之间能⽅便的进⾏⽹络通信,⼜称为内⽹;局域⽹和局域⽹之间在没有连接的情况下,是⽆法通信的。
2024-03-31 00:34:03
919
3
原创 网络原理-传输层-UDP报文结构
16位UDP长度:只是用2字节,16个二进制位记录整个数据报(UDP⾸部+UDP数据)的最⼤⻓度.并不是整个报文大小2字节.但是记录了16位,所以UDP大小就是2的16次方/1024=64kb;• 不可靠:没有确认机制,没有重传机制;我们注意到,UDP协议⾸部中有⼀个16位的最⼤⻓度.也就是说⼀个UDP能传输的数据最⼤⻓度是。如果我们需要传输的数据超过64K,就需要在应⽤层⼿动的分包,多次发送,并在接收端⼿动拼装;16位UDP校验和:用2字节,16个二进制位来校验,如果校验和出错,就会直接丢弃;
2024-03-28 23:44:03
745
原创 网络编程基本概念(一篇文章掌握基本内容的详细概念,IP,端口号,协议,协议分层,封装和分用,客户端和服务端,请求和回应,两台主机的通信)
IP地址主要⽤于标识⽹络主机、其他⽹络设备(如路由器)的⽹络地址。简单说,IP地址⽤于定位主机的⽹络地址。就像我们发送快递⼀样,需要知道对⽅的收货地址,快递员才能将包裹送到⽬的地。IP地址是⼀个32位的⼆进制数,通常被分割为4个“8位⼆进制数”(也就是4个字节),如:通常⽤“点分⼗进制”的⽅式来表⽰,即a.b.c.d的形式(a,b,c,d都是0~255之间的⼗进制整数)。如:100.4.5.6。
2024-03-26 22:44:52
1327
2
原创 JavaEE-文件操作和IO
我们先来看看 File 类中的常⻅属性、构造⽅法和⽅法属性修饰符及类型 属性 说明static String pathSeparator 依赖于系统的路径分隔符,String类型的表⽰static char pathSeparator 依赖于系统的路径分隔符,char类型的表⽰构造方法。
2024-03-23 23:15:38
950
2
原创 一篇文章了解和使用Map和Set(HashMap/TreeMap/HashSet/TreeSet)
本节目标]*掌握HashMap/TreeMap/HashSet/TreeSet的使用*掌握了解HashSet和HashSet背后的哈希原理和简单的实现。
2024-03-04 09:00:00
1097
3
原创 计算机工作原理解析和解剖(基础版)
每个应⽤程序运⾏于现代操作系统之上时,操作系统会提供⼀种抽象,好像系统上只有这个程序在运⾏,所有的硬件资源都被这个程序在使⽤。这种假象是通过抽象了⼀个进程的概念来完成的,进程可以说是计算机科学中最重要和最成功的概念之⼀。
2024-01-26 00:29:03
716
原创 栈和队列(详解)
栈:一种特殊的线性表,其只允许在固定一端进行插入和删除元素的操作,进行数据插入和删除操作的一端称为栈顶,另一端称为栈底,栈中的数据遵守后进后出的原则.
2024-01-16 08:08:50
1080
原创 LinkedList与链表
LinkedList的底层是双向链表结构(链表后面介绍),由于链表没有将元素存储在连续的空间中,元素存储在单独的节点中,然后通过引用将节点连接起来了,因此在在任意位置插入或者删除元素时,不需要搬移元素,效率比较高。[说明]1.LinkedList实现了List接口2.LinkedList的底层使用了双向链表3.LinkedList没有实现RandomAccess接口,因此LinkedList不支持随机访问4.LinkedList的任意位置插入和删除元素时效率比较高,时间复杂度为O(1)
2023-12-26 15:50:45
1462
3
原创 ArrayList与顺序表(带完整实例)
在集合框架中,ArrayList是一个普通的类,实现了List接口,具体框架图如下:[说明]1.ArrayList是以泛型方式 实现的,使用时必须先实例化2.ArrayList实现了RandomAccess接口,表明ArrayList支持随机访问3.ArrayList实现了Cloneable接口,表明ArrayList是可以clone的4.ArrayList实现了Serializable接口,表明ArratList是支持序列化的。
2023-12-14 22:49:19
1075
4
原创 包装类 和 初阶泛型(详解)
一般的类和方法,只能使用具体的类型: 要么是基本类型,要么是自定义的类。如果要编写可以应用于多种类型的代码,这种刻板的限制对代码的束缚就会很大。----- 来源《Java编程思想》对泛型的介绍。泛型是在JDK1.5引入的新的语法,通俗讲,泛型:就是适用于许多许多类型。从代码上讲,就是对类型实现了参数化.
2023-12-12 21:49:29
870
原创 初始集合框架+时间和空间复杂度(数据结构)
数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合.算法(Algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。
2023-12-12 13:25:16
959
原创 详解异常 ! !(对异常有一个全面的认识)
Java 中虽然已经内置了丰富的异常类, 但是并不能完全表示实际开发中所遇到的一些异常,此时就需要维护符合我们实际情况的异常结构.例如, 我们实现一个用户登陆功能.if (!if (!System.out.println("登陆成功");此时我们在处理用户名密码错误的时候可能就需要抛出两种异常. 我们可以基于已有的异常类进行扩展(继承), 创建和我们业务相关的异常类.具体方式:1. 自定义异常类,然后继承自Exception 或者 RunTimeException。
2023-12-10 22:11:57
994
10
原创 对String类的操作 (超细节+演示)
由于String的不可更改特性,为了方便字符串的修改,Java中又提供StringBuilder和StringBuffer类。这两个类大部分功能是相同的,这里介绍 StringBuilder常用的一些方法,其它需要用到了大家可参阅 StringBuilder在线文档方法 说明。
2023-12-09 20:28:52
1047
3
原创 抽象类和接口(超重点!!)
说明:圆形,正方形,长方形都是图形,因此图形类和圆形和正方形还有长方形都是继承关系.虽然图形中也存在draw(),但由于图形类不是具体的图形,因此内部的draw()方法实际是没有办法实现的.由于图形类没有办法描述一个具体的图形,导致draw()方法无法具体实现,因此可以将图形类设计为"抽象类".
2023-12-06 23:15:01
1093
11
原创 继承 和 多肽(超重点 ! ! !)
[本节目标]1.继承2.组合3.多肽Java中使用类对现实世界中实体来进行描述,类经过实例化之后的产物对象,则可以用来表示现实中的实体,但是现实世界错综复杂,事物之间可能会存在一些关联,那在设计程序是就需要考虑。比如:狗和猫,它们都是一个动物有些动物就会有相同的习性,比如:猫和够都需要睡觉,都需要吃饭,但是吃的东西不同而已.通过上述代码发现:猫和狗的类中存在大量的重复代码,如下所示:那能否将这些共性抽取呢?面向对象思想中提出了继承的概念,专门用来进行共性抽取,实现代码复用。继承机制:是面向对象程序设
2023-12-02 14:02:18
1014
5
原创 类和对象(详)
在java中定义需要用到class,具体语法如下://创建类field;//字段(属性) 或者 成员变量method;//行为 或者 成员方法class为定义类的关键字,ClasName为类的名字,{ }中为类的主体。类中包含的内容称为类的成员。属性主要是用来描述类的,称之为类的成员属性或者类成员变量。方法主要说明类具有哪些功能,称之为类的成员方法。//品牌//型号//重量//长//宽//高//颜色public void washClothes(){ //洗衣服。
2023-09-24 20:42:38
167
4
原创 Java(运算符+循环)万字超详细介绍 (囊括了按位,异或,for,while等基础和疑难知识)
注意:1.0x前缀的数字为十六进制数字十六进制可以看成是二进制的简化表示方式一个十六进制数字对应4个二进制位.2.0xf 表示10 进制的 15也就是二进制的 11113. printf 能够格式化输出内容x 表示按照十六进制输出4.\n表示换行符5.如果两个数相同,则异或为0
2023-09-16 17:40:19
942
20
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人