自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringMVC

无论你传递几个参数, 只要传递的参数名和后端定义的参数名对应起来即可 spring就能够识别到你传递的参数然后对相应的参数进行赋值, 如果你参数名不一样 那就没法成功赋值 以参数名为标准 和 前端写参数的先后顺序无关。路径参数, 就是按照字面意思来, 就是获取url这个路径中的参数的注解, 该注解是作用在url上, 不是body中, 使用该注解能帮助我们实现从url中获取参数。路由映射: 用户输入url访问网络上的某个资源的时候, 用户的请求找到程序上对应的类和对应的方法的这样一个过程就是路由映射。

2025-12-09 11:45:00 1650

原创 -------------------UDP协议+TCP协议-------------------------

学习笔记#学习记录无连接: 知道对方的ip和端口号就能直接进行传输了,不需要建立连接不可靠传输: 没有确认机制 和 重传机制, 请求发出去了 对方收没收到就不管那么多了面向数据报: 每次读取数据的单位是一整个数据报, 应用层给传输层发多大的报文, udp就传输多大的,不会拆分也不会合并,不够灵活, 发100个字节给你 你就一次性读100个 不能一次10个10个的循环读取, 读取数据不灵活.

2025-12-08 14:49:01 967

原创 -------------HTTP协议---------------------

行文本 xml json protobuffer。

2025-12-07 11:01:24 862

原创 ---------------------网络编程-----------------------------------

#学习记录#学习笔记有基于网线直连基于集线器组建:基于交换机组建:基于交换机和路由器组建广域网(Wide Area Network):简单来说就是多个局域网再相互连接起来就组成广域网ip地址:ip地址是用来标识网络世界的某一台主机的地址的, 通过ip地址我们能快速的定位到网络中的某一台主机, 根据ip地址来找我们指定主机, 从而与我们指定的主机进行通信. 就好比发快递时候的某个具体地址 格式: ip地址是一个32位二进数, 划分成4 个 8位二进制数, 如01100100.00000100.00000101

2025-09-22 16:57:43 968

原创 ---------------------------文件IO-------------------------------

每当new 一个字节流对象就相当于直接打开文件, 这里得文件操作类都实现了Closable接口, 这里我们使用try with resources 来自动打开 关闭文件, 文件如果不关闭, 会引起文件资源泄露, 每打开一个文件之前在文件描述附表内先为这次文件操作占一个位置, 文件操作完事后需要将这个位置释放掉, 腾出来给其他人用, 如果不关闭文件, 就会一直站着文件描述符表, 导致文件描符表占满, 其他文件读写操作定会失败 相当于该文件已经泄露了, 你无法再去操作了.

2025-09-08 12:57:27 937

原创 -----------------------------多线程(6)------------------------

但是在一些情况下这种写时拷贝思想是特别重要的, 比如服务器重新加载配置文件, 当我们的将配置文件修改后, 必须重启服务器这个新的配置文件才能被读取到, 但是我们在修改配置文件后, 多数服务器配有reload配置重加载功能, 我们手动执行改功能, 就会在内存上新开辟一块空间, 将新的配置文件读到这里, 然后用新的配置代替旧的配置, 后续代码获取数据就从新的空间上读取配置文件.这里就是将新的配置文件重新拷贝到内存上---写时拷贝。

2025-09-06 11:28:46 750

原创 多线程(5)

假设线程1先加锁1,5 然后线程2加锁1发现加不上然后也必须从小的开始拿起所以线程2拿不到一把锁, 但是线程3 可以拿到它附近小的也就是2 最后就是线程1 加锁1 5 线程 3 4 5加锁 2 3 4 , 然后等线程1 完事之后将1 5 锁全都释放掉, 然后 2就可以顺便的拿起1, 线程5 拿起5, 然后线程5 完事, 将4 释放 线程4 拿到4 线程4完事后释放3, 然后线程3拿掉3, 依次类推就可以避免出现循环等待.当代码逻辑中只存在读操作时候, 我们就加读锁, 逻辑存在写操作, 就加写锁,

2025-08-27 16:22:55 742

原创 -----------------------------------事务--------------------------

事务说白了就是把一组sql语句打包在一起,同生共死,要么一起全部执行完,要么就都不执行,都是一条绳上蚂蚱。先来看一个转账例子,创建账户表,张三向李四转账100# ================账⼾表====================use test_1;name varchar(255) NOT NULL, # 姓名balance decimal(10, 2) NOT NULL # 余额。

2025-07-22 22:00:57 655

原创 索引和数据库设计

索引说白了就是一个特殊一点的数据结构,这个数据结构能够方便我们快速的找到某条记录,就类似快递站的快递架子,快递被放在指定的架子的指定层然后从左到右有相应的编号,比如100-4-2500这个意思就是编号为100的架子的第4层的第2500个包裹,这样我们去拿快递的时候就能事半功倍,不需要海量的去寻找。那么对于数据库而言他所需要管理的数据也是海量的,那么我们通过索引这样的结构就能帮我快速定位到某条记录,提高数据库维护和应用的效率。MySQL的索引是⼀种数据结构,它可以帮助数据库⾼效地查询更新数据表中的数据。

2025-07-18 12:35:05 1001

原创 数据库约束

就是数据库里面的数据你不能乱填,想填啥就填啥那么就大概率无法保证我们数据的准确性,就好像社会一样没有相关的法律和道德对我们的行为进行约束那么社会就会乱套,数据库也一样,数据库约束是指对数据库表中的数据所施加的规则或条件,⽤于确保数据的准确性和可靠性。这 些约束可以是基于数据类型、值范围、唯⼀性、⾮空等规则,以确保数据的正确性和相容性。

2025-07-16 12:12:23 824

原创 多线程(4)

阻塞队列就是一种特殊的队列,两大特性就是1-->线程安全 2--->具备阻塞功能,是一种线程安全的数据结构,当队列满是,入队操作就会阻塞等待,队列为空的时候出队操作也会阻塞等待,只有在队列不满时才能正常入队,队列不为空时才能正常出队列,常用于生产者消费者模型参见的阻塞队列:BlockingQueue是一个接口,具体常用的实现类有ArrayBlockingQueue+LinkedListBlockingQueue+PriorityBlockingQueue,入队列的核心操作是put,出队列是take,当然q

2025-06-12 18:15:30 871

原创 二叉树相关操作代码+oj题目剖析

然后最后一层节点必须连续且靠左像这种靠右的或者不连续的都不是完全二叉树思路:根据二叉树的定义我们能够知道,如果。

2025-06-11 08:40:26 723

原创 多线程(3)

单例单例,就是单个例子,类只有一个实例化对象,并且这个对象在内内部直接实例化出来,那怎么样才能只有一个实例化对象,控制不出现第二个实例化对象呢?----->对构造方法用private修饰-->单例模式的点睛之笔----这样在类外无法访问到这个构造方法,就谈不上在类外再去new 实例化对象了,类似String类的不可变性:如下就是一个单例模式下的类//静态成员的初始化在类加载阶段//属性啥的-----////带参数的构造方法//构造方法//获取这个唯一的独苗---实例化对象。

2025-05-30 18:49:37 650

原创 多线程(2)

一个线程已经对一个锁加锁了,然后在这个锁里面(synchronized代码块中)有对同一锁对象继续加锁,这时候由于是对同一对象加锁,那么势必会阻塞等待,我在等你释放锁然后我能加锁然后往下走,你在等我往下走然后才能释放锁,处于这种矛盾等待的状态,就是。那你把线程阻塞当什么了?----------this是指代调用该方法的实例化对象,谁调用的那么这个锁对象就是这个实例化对象----->锁对象,在静态方法内不能使用this,所以在非静态的方法体内我们可以使用this,当。,线程关闭了,然后这个线程对象没消除,

2025-05-28 09:58:50 854

原创 多线程(1)

前面讲到的进程已经够好了啊,能够并发执行,符合我们这样一个cpu多核心的时代,让多个线程在多个核心上跑起来,但是我们注意到一个问题,我们这样一个并发编程就意味着需要更多的进程,但是进程是资源分配的单元啊,没弄一个新的进程出来也就意味着更多资源需要被占用开销,不够轻量,然而我们的线程就足够轻量。比如我休眠1000ms,休眠完事之后,就会请求cpu给我们的线程分配资源,也就是线程的调度,调对应的线程到cpu上去跑,有那么多线程,你无法保证第一时间就调度到你,也,

2025-05-27 19:26:41 709

原创 栈和队列总结

在获取队尾数据的时候,不是直接return elem[rear-1] 因为rear可能在0位置 0-1=-1了,正确做法是加一层判断如-----> int index=rear==0?new一个队列的实例化对象的时候,必须new一个链表LinkedList来充当队列,也就是说队列的底层结构是链表。此处我们使用数组模拟实现栈,使用链表也可以(头插法)2使用boolean类型的标记,比如定义一个变量。LinkedList正好是该接口的实现类。

2025-05-22 16:58:38 846

原创 反射+枚举+lambda表达式

1使代码更简洁,2方便函数式编程3非常容易进行并行计算4java引入lambda,改善了集合的操作。

2025-05-21 14:00:55 1086

原创 ​CRUD增删改查笔记

C:create(创建,新增)R:retrieve(读取,查找,检索)U:update(等新,修改)D:delete(删除);Create(新增)先create一个学生表语法:1单行数据+全列插入:insert into table_name(字段1,字段2........)values(值1,值2.......)或者--->insert into table_name values(值1,值2......);

2025-04-30 09:35:51 652

原创 八大排序算法

gap为几分成几组,按gap为增量取值。

2025-04-26 12:11:10 789

原创 树的概念+二叉树概念(概念篇)

7树的高度或深度。

2025-04-23 21:10:26 1018

原创 B树详解+java实现+每步的解析

1. 如果树为空,直接插入新节点中,该节点为树的。

2025-04-22 16:23:03 1131 1

原创 链表List加LinkedList

学习记录##数据结构##链表。

2025-03-26 21:27:44 809

原创 数据结构篇-----顺序表Arrayslist(Java实现)

学习记录#通过java实现数据结果#学习体会1ArrayList的简介2. ArrayList使用3. ArrayList的扩容机制。

2025-03-21 19:35:37 562 2

原创 认识String类

spli(" " ,2)这个2代表分割成几份,如果分割成2份,那么第一个分割线处分割完就ok了,得到两份了。

2025-03-19 19:44:43 832 3

原创 抽象类和接口和内部类

##学习记录首先,我们知道在面向对象程序中的对象都是由类来描述的,但是反过来,并不是所有的类都能够用来实例化,描述一个对象,也就是说这个类还不够详细, 那么如果一个类没有足够的信息来描述一个具体的对象,这个类叫做抽象类。如何理解抽象类呢?(这个地方比较难理解)如之前讲到的图形打印 ,这个Shape类里虽然有一个draw方法,可以实现画图形,但是Shape这个类也不是具体的某个图形类,他只是一个“形状类” 而形状有很多种,我们讲如果要实例化一个对象,用来实例的类必须是具体的 实例的,不然怎么实例对象呢?如果

2025-03-19 11:41:48 979

原创 接口的使用----->排序和Object类中方法的分析

再重写方法。

2025-03-17 21:48:17 479

原创 详解多态

在这里,animal在编译的时候是不能确定具体要调用父类亦或者是子类的eat,但当程序运行时,如果子类中对父类中的方法有重写,则一定会掉用子类中重写的eat方法,这个过程叫做动态绑定。我们知道,向上转型的结果就是把子类对象当作父类对象来用,那么我们通过相应的父类引用如animal,如果没有方法重写,进行动态绑定,那么我们就只能访问父类成员了,在一些情况下要求访问子类成员的时候就不行了,此时:由于。1. 属性没有多态性 当父类和子类都有同名属性的时候,通过父类引用,只能引用父类自己的成员属性。

2025-03-16 07:00:00 516 1

原创 继承和多态得学习记录(上)

记录学习,学习笔记学习目标1继承2组合3多态何为继承:存在既有用,它的作用是什么?我们先看一个例子:定义猫和狗类:我们可以发现Dog类和Cat类具有一些共性,我们能否将这些共性提取出来然后,然后每个类都去公用他,不用每个类都去写一遍,实现代码的复用,提高代码效率呢?,实现代码复用。继承机制:是面向对象程序设计,我们可以在原来类的基础上去继承扩展其他类所具有的功能,产生新的类---->子类/派生类。继承呈现了面向对象程序设计的层次结构, 体现了。继承主要解决的问题是。

2025-03-15 11:19:24 731 1

原创 类和对象的学习记录

例如我们在使用Arrasys类中得toString方法打印字符串得时候,会出现如图,点击tab之后,便会在顶部自动导入图二得内容,那么圆圈里的内容就是一个根目录,就是一个包。图中的dog1 我们知道是引用变量,指向它的对象,同时this也指向这个对象,那么也就是说 ”this“ 的作用dog1的作用是类似或者说是相等的,可以这么来理解,只不过this有使用的注意事项。如图中两个包中都有Date类,如果调用Date类时便会起冲突,用的是第一个包中的类的方法还是第二个包的呢?

2025-03-14 10:43:52 578 1

空空如也

空空如也

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

TA关注的人

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