- 博客(190)
- 收藏
- 关注
原创 1333.餐厅过滤器
Collections.sort(sorted, (a, b) -> { if (b.getValue().equals(a.getValue())) { // 评分相同按ID降序 return b.getKey() - a.getKey();
2025-03-27 08:39:17
374
原创 正则表达式基本语法和Java中的简单使用
public Matcher appendReplacement(StringBuffer sb, String replacement): 将当前匹配子串替换为指定字符串,并且将替换后的子串以及其之前到上次匹配子串之后的字符串段添加到一个 StringBuffer 对象里。在程序开发过程中,经常回遇到需要匹配,查找,替换判断的情况,如果仅仅用纯编码的方式解决,肯定会很吃力,所以,正则表达式就出现了,目的就是用来处理字符串的一系列操作。public int start():返回以前匹配的初始索引。
2025-03-23 14:54:45
841
原创 Java 关键字transient与注解@Transient的区别
被声明为 transient 的字段在反序列化时会被设置为默认值,如 null(对于对象)、0(对于基本数据类型)或 false(对于布尔类型)当一个对象被序列化时,被声明为 transient 的字段将不会被保存到序列化的结果中。transient 只影响对象的序列化,不影响其它方面的行为,比如字段的访问权限等。在Java中,transient 是一个关键字,用于声明一个字段不会被序列化。序列化过程中,transient 字段的内容不会被保存到序列化结果中。的,仅影响ORM框架的行为,不影响序列化。
2025-03-23 10:19:20
276
原创 注解@JSONField 和@Fileld含义和实用场景?
JSONField:主要用于 Fastjson 库中,控制 Java 对象与 JSON 数据之间的映射和序列化行为。@Field:通常用于指定字段的映射关系,具体含义取决于所使用的框架(如 Spring Data MongoDB)。
2025-03-23 09:42:09
411
原创 70.爬楼梯
你有多少种不同的方法可以爬到楼顶呢?1. 1 阶 + 1 阶 + 1 阶。有两种方法可以爬到楼顶。1. 1 阶 + 1 阶。有三种方法可以爬到楼顶。2. 1 阶 + 2 阶。3. 2 阶 + 1 阶。
2024-12-23 13:44:57
168
原创 136.只出现一次的数字
除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。
2024-12-18 16:54:49
253
原创 169 多数元素
尝试设计时间复杂度为 O(n)、空间复杂度为 O(1) 的算法解决此问题。你可以假设数组是非空的,并且给定的数组总是存在多数元素。,返回其中的多数元素。多数元素是指在数组中出现次数。
2024-12-18 16:29:56
182
原创 1.两数之和
因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。整数,并返回它们的数组下标。你可以按任意顺序返回答案。,请你在该数组中找出。
2024-12-16 20:58:45
194
原创 判断二叉树是否有与另一颗二叉树相同的子树
给定彼此独立的两棵二叉树,树上的节点值两两不同,判断(1树是否有与2树完全相同的子树)。* 子树指一棵树的某个节点的全部后继节点。
2024-10-29 13:26:08
143
原创 二叉树前序遍历(非递归的方法)
某App通过现金红包或优惠券等形式引导用户邀请亲朋好友甚至是陌生人来下载其App从而得到裂变式增长,其中邀请人称作师傅,被邀请人称作徒弟。现请你根据师傅节点,返回其师徒二叉树的前序遍历结果。输入: data =['a' 'b','c', ", 'd']返回值:['a,'b','d','c']1.假设一个师傅最多只能邀请两个徒弟,当师傅没有完全邀请到两个徒弟时,空缺的部分用”表示。输入: data =['a', 'b'.", d']返回值:['a','b'.'d']2.不可以使用递归的方法求解#示例1。
2024-10-28 20:37:48
272
原创 String、StringBuffer 和 StringBulider三者使用的总结
StringBuilder与StringBuffer都继承自AbstractStringBuilder类,在AbstractStringBuilder中也是使用字符数组保存字符串。2、StringBuffer与StringBuilder,他们是字符串变量,是可改变的对象,1、在执行速度方面的比较:StringBuilder > StringBuffer;2.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder。操作字符串缓冲区 下操作大量数据 = StringBuffer。
2024-09-25 16:56:07
333
原创 Java多线程:线程安全和非线程安全
jvm中有一个main memory对象,每一个线程也有自己的working memory,一个线程对于一个变量variable进行操作的时候, 都需要在自己的working memory里创建一个copy,操作完之后再写入main memory。:就是当多线程访问时,采用了加锁的机制;即当一个线程访问该类的某个数据时,会对这个数据进行保护,其他线程不能对其访问,直到该线程读取完之后,其他线程才可以使用。:就是不提供数据访问时的数据保护,多个线程能够同时操作某个数据,从而出现数据不一致或者数据污染的情况。
2024-09-25 16:50:06
303
原创 Java语言中List、Set、Map三种集合之间的区别
由于在插入数据时,涉及到数组元素的移动等内存操作,所以在插入数据时执行速度较慢;二者最大的不同是,HashTable的方法是synchronized(线程安全的),而HashMap不是,在多个线程访问HashTable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供外同步。但是某些Set的实现类以某种殊形式对其中的元素进行排序,如:LinkedHashSet按照元素的插入顺序进行排序;Set以及所有实现了Set接口的类都不允许重复值的插入,若多次插入同一个元素时,在该集合中只显示一个;
2024-09-25 16:37:16
935
原创 计算机网络各层有哪些协议?
一、物理层没有涉及到比较重要的协议,但是有一个比较重要的技术----非对称数字用户线(ADSL)二、数据链路层1、点对点协议(PPP----point to point protocol,用户计算机与ISP进行通信所使用的协议)(1)组成:一个将IP数据报封装到串行链路的方法 + 一个用来建立、配置和测试数据链路连接的链路控制LCP(Link Control Protocol)+ 一套网络控制协议NCP(Network Control Protocol)
2024-09-18 16:57:49
1279
原创 什么是缓冲区溢出?
介绍:在计算机安全领域,缓冲区溢出是一种常见的,也被称为缓冲区溢出攻击。这种情况可能会导致程序崩溃、数据损坏,甚至允许攻击者执行恶意代码。
2024-09-18 16:52:08
431
原创 有哪些进程调度算法?
书中一共描述了七种进程调度算法先来先服务调度算法是最简单的调度方法。其基本原则是,按照进程进入就绪队列的先后次序进行选择。对于进程调度来说,一旦一个进程得到处理机,它就一直运行下去,直到该进程完成任务或者因等待某事件而不能继续运行,才会让出处理机。先来先服务调度算法属于非剥夺方式。按照进程的优先级高低来进行调度,使高优先级进程优先得到处理机的调度算法称为优先级调度算法。进程的优先级可以由操作系统按一定原则赋予,也可以在操作系统外部安非,甚至可由用户支付高额费用来购买。
2024-09-18 16:45:30
1134
原创 线程有哪几种状态?
等待阻塞:运行的线程执行wait方法,则该线程会释放占用的的所有资源,jvm会把该线程放入==“等待池”==中,进入这个状态后是不能被自动唤醒的,需要调用notify/notifyAll 方法才能被唤醒。同步阻塞:运行的线程在获取对象的同步锁时,若该同步锁被其它线程占用,则jvm会把该线程放入==“锁池”==中。:线程对象创建后,其它线程调用了该对象的start方法,该状态的线程会位于可运行的线程池中,变得可运行,等待cpu的使用权。:线程执行完了或者因为异常而退出的run方法,该线程生命周期结束。
2024-09-18 16:32:33
181
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人