自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 学习笔记

Spring框架是一种轻量级的开发框架,用于提高开发人员的效率和提高系统的可维护性。

2024-03-28 02:41:04 97

原创 学习笔记

JWT(JSON Web Token),本质上是具有签名的JSON文件,能够让接收方验证身份。

2024-03-28 02:40:30 102

原创 学习笔记

验证用于验证身份凭据,授权访问某些系统的资源。CSRF:跨站请求伪造。XSS:跨站脚本攻击。

2024-03-27 20:54:02 73

原创 学习笔记

Spring中@RequestMapping的作用是将HTTP映射到相应的方法、类上。@Autowired的作用是对类、构造方法等进行标注,实现自动装配的工作。load支持延迟加载,get不支持。当数据查询时,oid无对象时,get返回null,load返回代理对象。get()和load()的区别?

2024-03-27 19:11:27 91

原创 学习笔记

Spring管理的事物类型:编程式事物、声明式事物(基于XML的声明式事物、基于注解的声明式事物)。Spring IOC:控制反转。Spring AOF:面向切面编程。Kafka是一个分布式的流处理平台。

2024-03-27 16:35:26 67

原创 学习笔记

缓存穿透:对不存在于数据库的缓存发送大量请求。布隆过滤器能够判断一个数据是否存在于海里的数据中。缓存雪崩:同一时间,大量的缓存同时过期。缓存击穿:一个热点缓存过期时候收到大量请求。Redis不具有原子性和持久性。

2024-03-26 21:18:06 105

原创 学习笔记

Redis使用C语言写成的数据库,与传统数据库不同在于Redis数据直接存储在内存,因此读写速度非常块,所以Redis数据库被用于缓存,甚至分布式锁和消息队列。池化思想:初始预设资源。解决的问题就是每次抵消掉消耗的资源。数据库分片的两种常见方案:客户端代理、中间件代理。Redis中的List是双向链表。

2024-03-26 20:45:51 88

原创 学习笔记

读取未提交、读取已提交、可重复读、可串行化。脏读、不可重复度、幻读。

2024-03-26 19:45:13 241

原创 学习笔记

字符集指的是二进制编码到某类字符符号的映射。校对规则指的是在某种字符集下的排序规则。MySQL中的索引主要是B树索引和哈希表索引,其中B树索引主要是B+树索引。事物是逻辑上的一组操作,要么都执行,要么都不执行。事物的特征:原子性、隔离性、一致性、持久性。MySQL是关系型数据库。

2024-03-26 19:32:11 87

原创 学习笔记

虚拟内存的意义在一定义了连续的虚拟地址空间,并且把内存扩展到硬盘空间。

2024-03-25 23:39:57 95

原创 学习笔记

进行内存的分配与回收、以及将内存逻辑地址转化为物理地址也是内存管理做的工作。连续性内存管理(块式管理)、非连续性内存管理(页式管理、段式管理)

2024-03-25 22:51:26 108

原创 学习笔记

进程调度算法:先来先服务、多级反馈队列调度、优先级算法、时间片轮转、短作业优先。进程之间的同步方式:互斥量、信号量、事件。

2024-03-25 22:44:43 90

原创 学习笔记

用户态:用户运行的进程或者可以访问任何用户数据的程序。系统态:可以访问计算机任何资源,不受限制的程序。系统调用的分类:系统管理、进程管理、进程控制、内存管理、文件管理。进程的五种状态:创建状态、就绪状态、运行状态、阻塞状态、结束状态。

2024-03-25 22:02:24 103

原创 学习笔记

HTTP是无状态的协议。通过session机制来保存状态。操作系统是用于管理计算书软件和硬件的程序。

2024-03-25 20:10:29 71

原创 学习笔记

HTTP1.0默认使用短连接,客户端和服务器每进行一次HTTP请求,就建立一次连接。HTTP1.1开始使用长连接,会保持一定时间,不会因为请求结束而断开连接。5XX:服务器端错误状态码。4XX:客户端错误状态码。1XX:信息性状态码。3XX:重定向状态码。

2024-03-24 22:30:27 69

原创 学习笔记

DNS解析url、建立TCP连接、发送HTTP请求、服务器处理请求并返回HTTP报告、浏览器解析渲染画面、连接结束。TCP拥塞控制:慢开始、拥塞避免、快重传、快恢复。TCP通过滑动窗口机制实现流量控制。

2024-03-24 22:15:43 99

原创 学习笔记

三次握手的目的是为了确认自己和对方的发送和接收都是正常的。

2024-03-24 21:14:29 72

原创 学习笔记

G1收集器、parnew收集器、CMS收集器、Serial收集器。标记-清除算法、标记-整理算法、复制算法、分代收集算法。

2024-03-24 20:57:32 88

原创 学习笔记

如果存在一个字符串常量“abc”,如果没有一个string类对象引用的话,就是废弃常量。类中所有实例被回收,对象不被引用。

2024-03-24 20:45:26 74

原创 学习笔记

引用有强引用、弱引用、软引用、虚引用。弱引用具有更短的生命周期。引用计数算法,可达性分析算法。前者通过引用计数,后者通过判断有无引用链。

2024-03-23 18:55:26 98

原创 学习笔记

对象优先分配在eden区,大对象直接分配在老年区,长期存活的对象会进入老年区。

2024-03-22 19:45:23 63

原创 学习笔记

方法区是所有线程共享的,用于存储类加载的方法、对象和编译过的代码数据。类加载检查、分配内存、初始化零值、设置对象头、执行init方法。

2024-03-22 18:51:27 56

原创 学习笔记

exclusive:独占状态,只有一个线程可以执行。share:多个线程可以同时执行。Java方法的返回方式一共两种:return返回值和异常抛出。

2024-03-22 18:41:46 77

原创 学习笔记

AQS原理:如果请求的共享资源空闲,那么就需要将共享资源锁定。若是请求的共享资源被占用,那么就需要阻塞时锁等待机制。execute用于提交不需要返回值的方法,submit用于提交返回值的方法。

2024-03-21 22:03:03 247

原创 学习笔记

runable接口有返回值,会响应异常,而callable接口不会。减小资源消耗,提高响应速度,提高线程的可管理性。减小资源消耗,提高响应速度,提高线程的可管理性。

2024-03-21 21:09:23 72

原创 学习笔记

Threadloacl类的作用在于给每个线程存放数据的盒子,用于存放线程的私有数据。Synchronized修饰符保证被修饰的函数或方法在任意时刻只有一个线程执行。

2024-03-21 20:27:52 434

原创 学习笔记

死锁意思是当多个线程被阻塞,一个或多个线程同时等待某个资源,造成死锁。当线程A和B同时拥有资源,两者同时需要对方的资源,此时就会都阻塞,造成死锁。

2024-03-21 19:22:28 65

原创 学习笔记

并发编程的目的是为了提高程序的运行效率,但也可能会带来问题,比如内存泄露问题、上下文切换问题、死锁问题。线程是进程划分的更小的执行单位。进程是独立的,而线程则不是,同一进程内部的线程会相互影响。多线程可能带来的问题?

2024-03-20 22:06:47 85

原创 学习笔记

堆和方法区都是进程中所有线程共享的资源。堆是最大的内存区,用于存放新创建的对象,方法区用于存放已加载的类信息和编译过的代码数据等。并发指的是同一时间段,多个任务都在执行(单位时间段,不一定同时执行)。并行指的是单位时间段,多个任务同时执行。

2024-03-20 21:51:26 55

原创 学习笔记

Arraylist和vector的区别,Arraylist是List主要实现类,用于频繁的查找,不是线程安全的。Vector是List的古老的实现类,是线程安全的。进程是动态的,程序是静态的。进程是程序执行时产生的,随着程序的运行产生到消亡。线程是比进程更小的单位,一个进程会产生很多线程,线程也被称之为轻量级进程。

2024-03-20 21:40:51 79

原创 学习笔记

双向链表和双向循环链表:双向链表每个节点有两个指针,一个pre指向前一个节点,一个next指向后一个节点,双向循环链表的最后一个节点的next指向head,而head节点的pre指向前一个节点,构成一个循环。Arraylist和Linkedlist的区别在于:都是线程不安全的,Arraylist的底层数据结构是数组,Linkedlist的底层数据结构是双向链表。

2024-03-20 19:55:11 88

原创 学习笔记(11)

spring框架中的单例bean并不是线程安全的。当使其为不可修改状态的时候,是线程安全的。

2024-03-19 23:58:30 67

原创 学习笔记(10)

线程与进程相似,但线程比进程更小,很多线程共享内存和资源,被称为轻量级进程。进程和线程都是动态的,都会随着程序的调用而产生和消亡。程序是静态的,是文件和指令的集合。==判断两个对象是否相等,一般是判断内存是否相等。equals判断要看是否覆盖了类。==和equals的区别在于。线程、进程、程序的区别。

2024-03-19 17:02:20 242

原创 学习笔记(9)

调用子类的构造方法前调用父类没有参数的构造方法是为了帮助子类进行初始化。

2024-03-18 21:42:06 82

原创 学习笔记(8)

调用静态方法无需创建对象。当静态方法访问本类成员时,只能访问静态成员,不能访问实例成员,而实例方法没有这个限制。一个类的构造方法是完成对一个类的创建初始化工作。即使没有创建构造方法也有默认的不带参数的构造方法。是指在调用一个方法的代码后所产生的结果。返回值用于进行接下来的操作。对象相等指的是内存中的内容是否相等,而引用的相等指的是指向的内存地址是否相等。构造方法名称与类名相同,没有返回值,但也不能用void修饰构造函数。

2024-03-18 21:38:47 78

原创 学习笔记(7)

接口一般用public修饰方法,而抽象类可以用protected、default、static(不能private)来修饰。接口可以有很多个,本身接口也可以通过extend来扩展,而抽象类只能有一个。抽象类是对类的抽象,接口是对方法的抽象。接口中除了static、final变量不能有其他,而抽象类不一定。局部变量和成员变量的区别:成员变量随对象的存在而存在,而局部变量在方法中或是方法的参数,会随着方法的结束而消失。一个对象引用可以有0或一个对象示例,一个对象实例可以有多个对象引用。

2024-03-18 21:17:04 58

原创 学习笔记(6)

因为静态方法可以不通过类来调用对象,因此静态方法不可以调用非静态变量,也不能访问非静态对象变量成员。装箱与拆箱:将基本类型自动用对应的引用类型包装起来,拆箱是指将包装类型转换为基本数据类型。继承:子类继承父类的所有属性,可以拥有,但不能访问私有属性和私有方法。封装、继承和多态使得Java具有易维护、易扩展、易复用的特点。封装:类中把一个属性私有化,同时对外界提供可以使用的方法。多态:Java的多态通过继承和接口来实现。

2024-03-18 20:53:33 53

原创 学习笔记(5)

通常用单引号引出的是字符常量,用双引号引出的是字符串常量。字符常量相当于一个值(ASCII)值,可以参与数字运算,字符串常量相当于一个地址。重载发生在同一个类中,根据输入数据类型的不同选择不同的方法,参数不同,参数大小,返回值类型都可不同。重写是子类继承父类中,重写的方法名、参数类型、参数大小都必须相同,重写的抛出异常处理一定要小于父类,修饰返回值类型小于父类。字符常量相当于一个ASCII值,可以参与表达式运算,而字符串常量表示一串地址。字符串常量双引号引出,字符常量单引号引出。

2024-03-17 22:20:49 180

原创 学习笔记(4)

用于实现Java的多平台使用的特点。JVM虚拟机是用于运行Java字节码的虚拟机,可以在windows、macos、linux等系统实现。目的是在JVM虚拟机上使用相同的字节码,会得到相同的结果。在JVM上可以识别和应用的语言,只应用于虚拟机,保证了Java程序可以在不同操作系统运行。4.Java的类是单继承的,C++可以多继承。但Java的接口可以多继承。2.Java没有提供直接访问内存的指针,使内存更安全。3.Java有内存管理,不需要手动释放无用的内存。1.都是面向对象的,都支持封装、继承、多态。

2024-03-17 21:58:44 99

原创 学习笔记(3)

面向过程效率比面向对象要高,因为调用类需要对其进行实体化,会消耗资源,所以单片机、Linux/Unix编程是面向过程的。而面向对象具有易维护、易扩展、易复用的特点,能够降低耦合度,使系统更灵活。面向对象具有继承、封装、多态的特性。多平台可使用(Java虚拟机)。基于对象(封装、继承、多态)。

2024-03-17 21:37:20 93

空空如也

空空如也

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

TA关注的人

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