自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 String源码解读

String源码分析

2023-08-24 00:07:39 127

原创 synchronized锁升级过程

synchronized锁升级以及锁优化的各种方式

2023-08-20 00:08:20 354

原创 线程池几个变量的理解与运算

线程池源码分析

2023-08-18 00:50:46 122

原创 理解Java是如何构造出链表的

算法记录

2023-07-17 11:08:00 503 1

转载 @PathVariable和@RequestParam的区别

顾名思义, @PathVariable和@RequestParam,分别是从路径里面去获取变量,也就是把路径当做变量,后者是从请求里面获取参数。

2023-07-13 23:47:01 429 1

原创 代码随想录算法训练营day11_20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值

思路:1.使用栈完成每组括号的匹配2.因为本题括号不会交叉,只能()[]{},降低了难度3.遍历字符串如果是左括号,放入栈,如果是右括号,使用它的左括号和栈顶元素比较是否相等也可以遍历的时候如果遇到左括号,就把对应的右括号放入栈,然后遇到右括号的时候和栈顶元素比较是否相等。

2023-05-20 11:00:51 37

原创 代码随想录算法训练营day10_232.用栈实现队列、225. 用队列实现栈

5.如果为空,如果stack1不为空,就使用while循环将stack1中的元素全部放入stack2实现顺序的改变。在实现pop和peek方法的时候,一定要注意先判断stack2还有没有元素,应该被先返回。使用add和remove再失败的时候会抛出异常所以使用offer和poll。1.由于栈的进出原则为LIFO,所以需要连个栈来改变成FIFO。4.首先判断stack2是否为空,如果不为空直接返回。我使用了一个双端队列Deque直接就实现了,很疑惑。2.push方法的实现:直接压入stack1。

2023-05-19 20:50:24 45

原创 代码随想录算法训练营day08_344.反转字符串、541. 反转字符串II、剑指Offer 05.替换空格、51.翻转字符串里的单词、剑指Offer58-II.左旋转字符串

思路:1.本题要求用修改字符串数组,2.使用双指针即可,两两原地交换。

2023-05-18 13:53:02 82

原创 代码随想录算法训练营day07_ 454.四数相加II 、383. 赎金信、15. 三数之和、18. 四数之和

思路:1.因为本题的四个数B组都是独立的,所以不用考虑重复2.先取A、B数组两个数相加存入map,重复次数加13.再遍历C、D数组,寻找有没有0 - C、D的和。

2023-05-16 11:31:24 27

原创 代码随想录算法训练营day06_ 242.有效的字母异位词 、349. 两个数组的交集 、202. 快乐数 、1. 两数之和

思路:1.首先想到的是用一个来记录每个字母出现的次数2.其次,也可以把数组替换为3.用map来做这道题不能通过containsKey来做,因为字符串长度可能不同。

2023-05-15 14:03:58 36

原创 Spring Boot自动装配

Spring Boot 的(Auto-configuration)是 Spring Boot 的核心特性之一,它使得开发者无需手动配置大量的 Spring 组件,而是通过在 classpath 中寻找 Spring Boot Starter 模块和条件化配置,自动完成配置和组装。这样,开发者就可以将精力集中在业务逻辑上,而不是在繁琐的配置上。

2023-05-15 10:48:32 278

原创 代码随想录算法训练营day04_ 24. 两两交换链表中的节点 、19.删除链表的倒数第N个节点 、面试题 02.07. 链表相交、 142.环形链表II

首先会考虑用一个虚拟节点来更便捷的操作链表,其次两两交换链表节点,这个过程空想是很复杂的,所以选择了画图,其实链表题都可以画图,画出来自己模拟就很清晰了。使用和来进行基本的交换使用来保存head.next.next节点,避免丢失节点在逻辑理清楚之后一步一步写代码,一遍过。

2023-05-14 00:45:17 31

原创 代码随想录算法训练营day03_ 203.移除链表元素、707.设计链表、206.反转链表

最基础的链表题,主要是为了教会你用虚拟头节点,我是认为只要是删除类型的题,最好都用虚拟头节点来做。已经刷了太多遍了,惯性了。。。需要注意的问题1.如果不使用头节点可能会造成这种链表少删一个的情况2.注意空指针异常的问题,链表最容易出现空指针异常,主要出现在循环条件里是还是还是,最好是画图来解决。

2023-05-12 22:13:16 27

原创 代码随想录算法训练营day02_ 977. 有序数组的平方、209.长度最小的子数组 、59.螺旋矩阵II

在一刷的时候,我的思路是暴力,直接遍历数组,然后将每个数组的元素平方放入新的数组,最后进行排序。:在看到有序数组的条件后,第一时间想到了双指针。因为在有负数的情况下,平方后会变大。

2023-05-11 22:23:16 194

原创 代码随想录算法训练营day01_ 704. 二分查找、27. 移除元素

时间复杂度和空间复杂度是衡量算法效率的两个重要指标。时间复杂度描述了算法运行所需的时间量,而空间复杂度描述了算法运行时所需的内存空间。可以用大O符号来表示,例如O(n)表示算法的时间复杂度与输入规模n成正比。也可以用大O符号来表示。例如,O(1)表示算法所需的额外内存量与输入规模无关,O(n)表示算法所需的额外内存量与输入规模成正比。

2023-05-10 15:42:01 520

原创 Java内部内详解

Java内部类学习小记

2023-05-06 15:05:06 224 1

原创 内部类、匿名内部类

Java学习小记

2023-05-05 21:50:22 39

原创 4.27北京长安新生面经

人生第一次面试

2023-04-27 16:27:21 91 1

原创 Java中的反射

学习反射的小记

2023-04-26 22:38:24 44

原创 什么是I/O?

计算机有输入设备(键盘等)和输出设备(显示屏等),(网卡和硬盘既可以作为输入也可以作为输出)。所以从计算机结构角度来看,I/O描述的是。为了保证操作系统的安全性和稳定性,一个进程的地址空间被分为和。我们平时的应用程序都是运行在用户空间,而像等都是需要依赖内核空间来完成的。而我们要执行I/O操作时,由于我们没有权限,所以只有,让操作系统来帮我们完成。而我们一般开发常见的就是。所以从应用程序来看,I/O是指我们的应用程序,将我们需要的数据从内核空间拷贝到用户空间。

2023-04-25 13:26:10 3339 1

原创 Java中的拷贝

Java中对象的拷贝 ,由于在面试中被吊打了,学习小记

2023-04-24 21:42:57 1433 1

原创 HashMap

HashMap源码学习小记

2023-04-23 21:30:39 112

原创 ArrayList

ArrayList源码解读,分享自己学习ArrayList的笔记

2023-04-22 20:12:08 47 1

空空如也

空空如也

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

TA关注的人

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