- 博客(19)
- 收藏
- 关注
原创 手写简化版Spring框架
目标摘取整体框架中的核心逻辑,简化代码实现过程,保留核心功能,例如IOC、AOP、Bean生命周期、上下文、作用域、资源处理等内容实现源码地址httpsBean的创建交给容器,而不是调用的时候传递一个实例化好的Bean对象考虑单例模式,在对象的二次获取时,可以从内存中获取对象完善基础容器框架的类结构体,方便将来其他功能的扩容。...
2022-07-28 15:51:03 234
原创 C-集合源码分析【HashMap&&HashSet】
实现Map接口、存放键值对、非线程安全可以存储null的key和value,null作为键只能有一个,作为值可以有多个默认初始化大小为16、每次扩容,容量变为原来的2倍,总是使用2的幂作为哈希表的大小JDK1.8之前数组+链表数组主体链表解决哈希冲突JDK1.8之后数组+链表/红黑树链表长度大于8,且数组长度大于64,则将链表转换为红黑树链表长度大于8,且数组长度小于64,会优先选择进行数组扩容。...
2022-07-15 09:06:28 239
原创 B---集合源码分析(ArrayList)
概述实现List接口,是,即元素存放的数据与放进去的顺序相同实现RandomAccess接口,支持实现Cloneable接口,支持实现java.io.Serializable接口,支持支持放入null元素,底层通过实现支持ArrayList [未加synchronized] Vector线程安全size(), isEmpty(), get(), set()方法均能在内完成,add()方法的有关,addAll()方法的时间开销跟添加元素的个数成正比。ArrayList的实现
2022-07-14 17:08:14 89
原创 07-二叉树类
就是6种题型,4种二叉树的,6种二叉搜索书的二叉树可以链式存储,也可以顺序存储深度优先遍历:先往深走,遇到叶子节点再往回走广度优先遍历:一层一层的去遍历前中后,其实指的就是中间节点的遍历顺序栈和队列可以分别遍历深度优先遍历与广度优先遍历题目二叉树的递归遍历递归方法论:以下以前序遍历为例: 熟练的记住递归法的方法论,在递归的路上越走越稳!!!145. 二叉树的后序遍历94. 二叉树的中序遍历二叉树的迭代遍历为什么可以用迭代法(非递归的方式)来实现二叉树的前后中序遍历呢?递归
2022-07-14 11:05:25 557
原创 06-栈与队列类
[请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:此题自己琢磨了1个小时,差不多能做出来,大体思路就是:学习:一定要懂得复用,功能相近的函数要抽象出来,不要大量的复制粘贴,很容易出问题!在pop的时候,操作就复杂一些,输出栈如果为空,就把进栈数据全部导入进来(注意是全部导入),再从出栈弹出数据,如果输出栈不为空,则直接从出栈弹出数据就可以不进行数据的全部导入,会导致不进行先进先出,若st1多个元素,导致st1栈
2022-07-13 21:09:39 298
原创 05-双指针类
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。此题他喵的做了接近一个小时,研究双指针,也没研究出来,哎,太笨了学习:要真正的理解快慢指针的意义:快指针:是遍历新数组中不等于目标元素的数组慢指针:指针更新 新数组的下标位置理解 快慢指针究竟都是什么含义编写一个函数,其作用是将输入的字符
2022-07-12 21:34:11 203
原创 04-字符串类
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。此题很简单,思路也很容易,就是采用前后双指针法,一个指针指向数组的前面,一个指针指向数组的后面,然后进行遍历,每一次进行交换,对应下标也要相加或相减对于库函数的使用,如果题目关键的部分直接用库函数就可以解决,建议不要使用库函数,如果库函数仅仅是解题过程中的一小部分,并且你已经很清楚这个库函数的内部实现原理的话,可以考虑使用库
2022-07-10 14:05:50 130
原创 JavaWeb之Vue
Vue1. Vue简介渐进式js框架------> 简化页面中的js开发官网:cn.vuejs.org了解:jQuery是js框架渐进式:易用灵活高效通俗定义:vue的出现可以让我们在页面中完成特别复杂的操作,可以简化dom编程甚至可以不写任何dom编程代码2. Vue第一个入门案例2021/12/19-------【编程不良人】2021最新Vue全家桶系列教程<!DOCTYPE html><html lang="en"><head
2021-12-23 21:02:30 1278
原创 JavaScript进阶知识
1.函数1.1 定义函数Md快捷键:>加回车定义方式1:: <script> function abs(x){ if(x>=0){ return x; }else{ return -x; } } </script>一旦执行到return代表函数结束,返回结果如果没有执行return,函数执行完也会有返回结果,结果就是undefined定义方式2:了解var
2021-12-17 19:26:35 1217
原创 JavaWeb之JavaScript基础入门
重要网站:https://www.liaoxuefeng.com1. JavaScript之Helloworld方式1:HTML内部直接引入·<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Hello World</title> <!--script标签内,写Javascript代码--> <
2021-12-16 19:01:25 1166
原创 JavaWeb之CSS
1.CSS的简单介绍推荐网站:https://www.runoob.com 菜鸟教程重点:CSS选择器CSS Cascading Style Sheet 层叠级联样式表--------美化网页2.四种CSS导入方式方式1:内部样式表<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title>
2021-12-16 10:12:06 676
原创 JavaWeb之HTML
HTML 01:初识HTMLHTML Hyper Text Markup Language 超文本标记语言超文本:文字、图片、音频、视频、动画等W3C标准World Wide Web Consortium(万维网联盟)是Web技术领域中立性技术标准机构W3C标准包括: 结构化标准语言(HTML、XML) 表现标准语言(CSS) 行为标准(DOM、ECMAScript)常见IDE:记事本DreamweaverIDEAWebStormHTML02:网页
2021-12-14 12:11:55 830
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人