- 博客(28)
- 收藏
- 关注
原创 数据结构3.0—环形队列
相对于普通队列,环形队列front指向第一个数据的位置,即0read指向最后一个数据的位置的后一个位置maxSize同样表示队列容量,有效数据个数为maxSize-1。环形队列也是一个有序列表,遵循先入先出原则,但是他相比较于普通队列不可动态更新数据,移动数据的缺点做出了改进。
2023-10-14 16:11:26
192
原创 数据结构2.0—队列
队列是一个有序列表,可以用数组或者链表来实现。遵循先入先出原则,即先存入队列的数据,要先取出,后存入的数据后取出。队列在许多地方有着相当重要的应用,如多线程中的synchronized等锁要使线程等待,线程就会被放在waitSet中,waitSet就是一个队列。唤醒之后阻塞的线程放在entryList中,entryList也是一个队列。
2023-10-10 11:45:11
151
原创 数据结构1.0—稀疏数组
稀疏数组采用的是以空间换时间的策略,当一个多维数组中,其中的元素大多为0或者同一值,就可以采用稀疏数组稀疏可以把大规模的并且多数数据都是一样的数组转换为只记录数据信息的小规模的数组,节省我们的空间资源,但是对于把数组转换为稀疏数组的处理要用到很多的遍历,这对于我们的程序是不太友好的,我们可以试着优化一下处理过程,采用更高效的处理方法。
2023-10-03 01:03:25
203
原创 简谈一下线程间通信
线程之间的通信就是当多个线程共同操作共享资源时,互相告知自己的状态,避免资源争夺。在JUC中,提供了多个API来实现线程间通信,下面我们简单通过一个简单例子来快速入手线程间通信下面的例子我们主要用到了await()和signalAll()这两个API来实现线程间通信await():await()方法是线程间进行等待和通知的一种机制用于让当前线程进入等待状态,直到其他线程通过调用signal()方法或signalAll()方法来唤醒它。
2023-09-25 00:46:09
129
原创 手写mybatis源码02-xml文档的解析
本文介绍xml解析的几种方式,并举一个简单例子。/** Dom4j集成xpath解析xml* xpath使用路径表达式定位到元素//创建解析器对象 SAXReader saxReader = new SAXReader();//获取xml文档对象 try {//获取根节点 Element rootElement = document . getRootElement();
2023-09-17 20:20:36
303
原创 SpringFramework-01
这系列的博文介绍spring的学习,后期可能会涉及到spring源码的手写,大家敬请期待首先我们先来认识一下什么叫依赖假设我们现在有两个类A//debug打印日志,表示show方法执行 log . debug("showMethod action");//debug打印日志,表示show方法执行 log . debug("showMethod action");Slf4j;//debug打印日志,表示show方法执行BA a;
2023-09-05 15:17:44
533
原创 手写Mybatis源码01
这篇介绍怎么动态获取结果集中的数据并通过反射一一对应赋值给实体类,如果为空,则赋值null首先我们先定义一个sql数据类型转换成java数据类型的工具类,后面我们会用到。/** sql数据类型转换工具类//我们使用反射来获得实体类的方法对象,通过方法对象调用invoke()方法来给实体类赋值, // 所以我们在工具类定义并返回数据类型的Class对象 Class
2023-09-04 00:39:47
148
原创 java反射的使用以及在Mybatis源码中的应用
java反射的概念以及简单使用已经在java反射机制简单应用中提到,今天这篇文章来进一步介绍java反射及其java反射在一些框架中的应用java的反射是一种很强大的机制,是多数框架的基础,对于学习和使用甚至开发框架是必不可少的。
2023-09-03 00:57:13
389
原创 vue06 Element-Plus的安装和使用
这篇文章介绍了Element-Plus的安装和使用,Element-Plus的底层是基于vue的,所以需要搭配vue3来使用。Element-Plus给我们提供了一些强大的组件,让我们项目开发更快速,更便捷,学会使用Element-Plus将帮助我们更好的就业。
2023-08-07 20:20:24
3005
1
原创 vue04 真实DOM操作、vue路由使用和编程式导航
这次我们来了解一下vue中对于真实DOM操作、vue路由的使用以及编程式导航的实现Vue路由就是指vue-router,其中router是指根据url分配到对应的处理程序,路由就是用来解析URL以及调用对应的控制器并返回从视图对象中提取好的网页代码给web服务器,最终返回给客户端。
2023-08-05 16:34:49
551
1
原创 vue02 vue遍历、过滤器、监听器和组件
本次我们来学习并简单运用vue中的遍历,过滤器、监听器和组件//我们设置了名为sum的计算属性 computed : {sum() {} , }本次我们学习了vue遍历、过滤器、监听器和vue组件,这些需要我们去经常练习,做到熟练,因为在vue开发中我们会经常用到这些知识点,能熟练运用这些知识点也能帮助我们更快更好的进行vue的开发。
2023-08-03 16:33:41
539
原创 vue_01 vue安装与指令符、修饰符
本次我们学习了vue的安装和vue指令符和修饰符,通过这次学习,我们对vue有了基本的了解,下次我们将继续学习vue的知识。
2023-08-01 23:30:45
389
1
原创 java线程与进程学习3
线程死锁问题生产者和消费者问题前面两篇文章我们学习了多线程的线程创建、执行、对线程的控制方法,线程的优先级,如何实现线程的同步以及如何解决线程死锁,还学习了一个线程的典型应用,生产者与消费者问题。
2023-07-23 22:37:02
328
原创 IO流学习5
本节我们学习内存流,当输出流的目的和输入流的源是内存时,则为内存流,内存流有两个相关的类字节字节内存输入流 ——>是唯一一种能够直接从网络上获取二进制数据的流。字节内存输出流内存流关流没有任何效果,但为养成良好编程习惯,建议都写上关流。
2023-07-13 13:18:35
205
1
原创 IO流学习4
本节我们学习缓冲流,其父类是Reader;其父类是Writer,可以看出缓冲流是字符流的一种。从字符输入流读取文本,缓冲字符,以提供字符,数组和行的高效读取。将文本写入字符输出流,缓冲字符,以提供字符,数组和字符串的高效写入。不管是还是,开流后要记得关流 close()
2023-07-13 03:10:53
268
1
原创 IO流学习3
前面我们学习了字节的输入输出流,见下图,本节学习字符输入流和字符输出流。字符输入输出流操作的是文件缓存区数据,将数据刷新到磁盘中,将流关闭后自动刷新文件缓冲区字节流字符流输入流Reader输出流Writer。
2023-07-12 17:58:01
208
1
原创 IO流学习1
在Java程序中,数据的输入和输出操作以“流”(stream)的方式进行,Java语言提供了各种各样的“流”类来获取不同种类的数据。字节流字符流输入流Reader输出流Writer今天我们先来看输入流中的字节流,即字节输入流。
2023-07-12 13:00:08
152
1
原创 Java线程与进程学习1
进程进程是计算机中执行的程序;但不仅仅表示代码段和文本段,还包含:1、当前活动,如程序计数器的值和处理器寄存器的内容等。2、进程堆栈(包括临时数据,如函数参数、返回地址和局部变量)和数据段(包括全局变量)。3、堆,进程运行时动态分配的内存。线程线程可以看出是一个轻量级的进程,同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器,线程切换的开销小。换句话说,线程是一个程序里面不同的执行路径。
2023-07-02 15:00:06
474
1
原创 Java中的异常及其处理
/自定义的一个异常类MyException,且是从Exception类继承而来 public class MyException extends Exception {//自定义异常类的构造方法 public MyException(String message , int id) {//调用父类Exception的构造方法 this . id = id;} //获取异常的代码 public int getId() {return id;} }
2023-06-05 15:35:25
645
1
原创 JAVA中的接口
接口interface是抽象方法和常量值定义的集合接口是一种特殊的抽象类,这种抽象类只包含方法和常量的定义,而没有变量和方法的实现。一个类可以实现多个不同的接口多个不同的类可以实现同一个接口
2023-05-21 17:11:14
92
1
原创 JAVA中抽象类和方法的重写
1、用abstract关键字来定义的类叫抽象类,abstract关键字定义的方法叫抽象方法,抽象方法在的类一定要定义为抽象类,而且抽象类必须被继承,这样才能实现对抽象方法的重写。2、抽象类不能被实例化,只需声明,不用实现。条件一两个类必须有继承关系条件二重写后的方法必须和父类的方法具有:(1)相同的返回值类型(2)相同的方法名(3)相同的形参列表,也就是参数个数和类型都一致条件三重写的方法的访问权限不能更低。
2023-05-17 22:07:52
2191
1
原创 Java中的方法的重载
Java中方法的重载是指一个类中可以定义方法名相同,但实际参数不同的一个概念,调用方法时,可以根据实际的需求调用不同参数的方法。(1)对于有一个相同的需求,但具体有一些细节不一样的情况可以用到方法的重载。当然用到方法的重载的地方还有很多,大家可以在具体开发中体会。(2)构成重载的深层次的原因:这两个或多个方法可以被编译器识别出来,在调用的时候编译器知道要调用哪一个,不造成混淆,就构成了方法的重载。
2023-05-16 16:29:50
1056
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人