自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ada的博客

JAVA-学习中...

  • 博客(83)
  • 收藏
  • 关注

原创 DAY35-动态规划-01背包

LeetCode416. 分割等和子集。

2024-08-06 11:43:31 209

原创 DAY32-动态规划

LeetCode746. 使用最小花费爬楼梯。LeetCode509. 斐波那契数。LeetCode509. 斐波那契数。LeetCode70. 爬楼梯。

2024-08-04 14:58:24 153

原创 JAVA-反射

反射允许对封装类的和的信息进行编程访问。从文件获取对象。

2024-08-02 23:06:00 589

原创 Redis实战

实现流程实现流程实现流程。

2024-08-01 21:28:48 2180

原创 DAY30-贪心(区间算法)

LeetCode452. 用最少数量的箭引爆气球。LeetCode435. 无重叠区间。LeetCode763.划分字母区间。重点:维护一个最右区间长度。

2024-08-01 15:53:10 299

原创 DAY28-贪心

LeetCode1005.K次取反后最大化的数组和。LeetCode122.买卖股票的最佳时机II。LeetCode45.跳跃游戏II。LeetCode55. 跳跃游戏。

2024-07-31 16:50:18 202

原创 Day29-贪心算法

LeetCode134. 加油站LeetCode134. 加油站思路:主要是在遍历的时候计算局部剩余油量总和,如果小于0则说明无法走到需要更新起始点。LeetCode135. 分发糖果思路:主要是利用两次遍历,第一次遍历的时候需要给数组里的每个位置都填上值。第二次反向遍历的时候在根据(该位置的最大值,和后一位+1来判断)

2024-07-31 16:42:30 274

原创 DAY27-贪心算法

LeetCode376. 摆动序列。LeetCode53. 最大子序和。LeetCode455.分发饼干。

2024-07-29 14:04:02 256

原创 Day25-回溯

LeetCode491.递增子序列。LeetCode491.递增子序列。LeetCode47.全排列 II。LeetCode46.全排列。Leetcode51.N皇后。

2024-07-28 11:28:10 171

原创 Springboot-websocket实现及底层原理

Spring Boot 中的 WebSocket 依赖于 Spring模块,使用了 Reactor Netty 库来实现底层的 WebSocket 通信。

2024-07-27 19:10:59 2771

原创 DAY24-回溯

leetcode93.复原IP地址。leetcode90.子集II。leetcode78.子集。

2024-07-27 10:53:35 145

原创 DAY23-回溯

LeetCode40.组合总和II。LeetCode131.分割回文串。LeetCode39. 组合总和。

2024-07-26 12:46:03 213

原创 DAY22-回溯

【代码】DAY22-回溯。

2024-07-25 12:15:08 189

原创 JUC并发编程-ReentrantLock(可重入锁)

reentrantLock默认时不公平的,但公平锁一般没有必要,会降低并发度。

2024-07-24 16:21:05 306

原创 JUC并行开发03-共享模式与异步模式

如果需要在多个类之间使用GuardedObject对象,作为参数传递不是很方便,因此设计一个用来解耦的中间类,这样不仅能够解耦【结果等待者】和【结果生产者】,还能够同时支持多个任务的管理。每个Java对象都可以关联一个Monitor对象,如果使用synchronized给对象上锁(重量级)之后,该对象头的MarkWord中就被设置指向Monitor对象的指针。图中Futures就好比居民楼一层的信箱(每个信箱有房间编号),左侧的t0,t2,t4就好比等待邮件的居民,右侧的t1,t3,t5就好比邮递员。

2024-07-24 14:07:30 706

原创 DAY21-二叉树

【代码】DAY20-二叉树。

2024-07-24 11:16:47 259

原创 DAY20-二叉树

【代码】DAY20-二叉树。

2024-07-23 12:37:22 229

原创 DAY18-二叉树

【代码】DAY17-二叉树。

2024-07-22 12:25:33 193

原创 JUC并发编程02-常见方法

默认情况下,Java进程需要等待所有线程都运行结束,才会结束。有一种特殊的线程叫做守护线程,只要其他非守护线程运行结束了,即使守护线程的代码没有执行完,也会强制结束。

2024-07-21 14:55:40 551

原创 DAY17-二叉树

【代码】DAY17-二叉树。

2024-07-21 09:48:20 416

原创 JUC并发编程01-基础概念

当上下文切换发生时,需要由操作学习通保持当前线程的状态,并恢复另一个线程的状态,Java中对应的概念就是程序计数器,它的作用时记住下一条jvm指令的执行地址,是线程私有的。top命令 查看进程信息(每隔一段时间重新采集) top -H -p 4262 查看java进程中的线程信息。(微观串行,宏观并行)中,线程作为最小调度单位,进程作为资源分配的最小单位,可以说进程是线程的一个容器。由于一些原因导致cpu不再执行当前的线程,转而执行另一个线程的代码。一个进程内可以有多个线程,一个线程就是一个指令流。

2024-07-20 19:38:12 1069

原创 DAY16-二叉树

【代码】DAY16-二叉树。

2024-07-20 12:01:02 235

原创 DAY15-二叉树

【代码】DAY15-二叉树。

2024-07-19 12:34:56 285

原创 DAY14-二叉树

【代码】DAY14-二叉树。

2024-07-18 20:41:17 251

原创 DAY13—二叉树

【代码】DAY13—二叉树。

2024-07-18 11:52:59 207

原创 DAY12-数组

LeetCodeHot 100 数组专题。

2024-07-14 15:55:46 206

原创 JAVA线程基础-线程池

避免使用Executors创建线程池,主要是避免使用其中的默认实现。它只会用唯一的工作线程来执行任 务,保证所有任务按 照指定顺序(FIFO)执行。比较常见的有4个,用的最多是。

2024-07-13 16:45:18 1054

原创 DAY11-栈和队列

LeetCode150. 逆波兰表达式求值。LeetCode347.前 K 个高频元素。LeetCode239. 滑动窗口最大值。LeetCode239. 滑动窗口最大值。

2024-07-13 13:41:38 212

原创 Java基础-多线程并发

AQS全称是 AbstractQueuedSynchronizer,是阻塞式锁和相关的同步器工具的框架, 它是构建锁或者其他同步组件的基础框架。AQS与Synchronized的区别AQS常见的实现类ReentrantLock 阻塞式锁Semaphore 信号量CountDownLatch 倒计时锁工作机制线程0来了以后,去尝试修改state属性,如果发现state属性是0,就修改state状态为1,表示线程0抢锁成功。

2024-07-12 23:39:22 2255

原创 DAY10-栈与队列

LeetCode1047. 删除字符串中的所有相邻重复项。LeetCode225. 用队列实现栈。LeetCode232.用栈实现队列。LeetCode225. 用队列实现栈。LeetCode20. 有效的括号。

2024-07-12 14:09:39 351

原创 DAY9-字符串

55.右旋转字符串LeetCode151.翻转字符串里的单词法一:利用stack实现。

2024-07-11 15:06:19 238

原创 DAY8-字符串

LeetCode344.反转字符串LeetCode344.反转字符串LeetCode541.反转字符串II。

2024-07-10 16:40:31 261

原创 DAY7-哈希表

LeetCode383. 赎金信LeetCode454.四数相加IILeetCode383. 赎金信LeetCode15. 三数之和方法一(暴力法):但当数据量非常大的时候会超时。方法二(双指针法):固定i,再遍历j,k(),当遇到重复数字可跳过(

2024-07-09 15:22:47 265

原创 Java多线程相关基础知识

Q:进程和线程的区别?Q:进程和线程的区别?进程是一个在内存中运行的应用程序。线程是进程中的一个执行任务(控制单元),负责当前进程中程序的执行。进程与线程的区别总结:进程是操作系统资源分配的基本单位,而线程是CPU任务调度和执行的基本单位。:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。:一个进程可以有多个线程,线程是进程的一部分。

2024-07-08 23:01:59 1231

原创 DAY6-哈希表

LeetCode349. 两个数组的交集。LeetCode349. 两个数组的交集。LeetCode242.有效的字母异位词。LeetCode202. 快乐数。LeetCode1. 两数之和。

2024-07-08 14:08:53 224

原创 Java集合

红黑树(Red Black Tree):是一种自平衡的二叉搜索树(BST),也叫平衡二叉B树。节点要么是红色,要么是黑色。根节点是黑色。叶子节点都是黑色的空节点。红黑树中红色节点的子节点都是黑色。从任一节点到叶子节点的所有路径都包含相同数目的黑色节点。在添加或删除节点的时候,如果不符合这些性质会发生旋转,以达到所有的性质,保证红黑树的平衡。

2024-07-06 20:14:40 1281

原创 DAY4-链表

LeetCode24. 两两交换链表中的节点重点:LeetCode24. 两两交换链表中的节点LeetCode19.删除链表的倒数第N个节点。

2024-07-06 15:16:14 201

原创 DAY3-链表

LeetCode203.移除链表元素。

2024-07-05 16:30:13 304

原创 DAY2-滑动窗口

LeetCode76.最小覆盖字串。LeetCode59.螺旋矩阵II。LeetCode940.水果成篮。209.长度最小的子数组。209.长度最小的子数组。

2024-07-04 15:48:33 287

原创 Web请求过程

互联网的网络架构已从传统的C/S架构转变为了B/S架构.客户端: 使用统一的浏览器(Browser),使得用户可以很便捷的使用互联网服务.服务端:(Server)基于统一的HTTP,使得开发者可以采用相对规范的开发模式,且可以直接使用基于HTTP的服务器,无需单独开发.海量用户的访问请求保持用户请求的快速响应。

2024-07-03 23:26:09 846

SHU数字逻辑实验报告

SHU数字逻辑实验报告

2023-07-22

SHU计算机组成原理实验报告

SHU计算机组成原理实验报告

2023-07-22

空空如也

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

TA关注的人

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