java基础
文章平均质量分 71
fightingD&W
团结紧张 严肃活泼
展开
-
NO.467 环绕字符串中唯一的子字符串
定义字符串base为一个无限环绕的字符串,所以base给你一个字符串s,请你统计并返回s中有多少也在base中出现。s。原创 2024-02-06 16:34:28 · 448 阅读 · 1 评论 -
NO.423 从英文中重建数字
给你一个字符串s,其中包含字母顺序打乱的用英文单词表示的若干数字(0-9按返回原始的数字。原创 2024-02-01 15:38:13 · 418 阅读 · 0 评论 -
map getOrDefault() 用法
该方法接受两个参数:要查找的键和默认值。如果键存在,则返回与该键关联的值,否则返回指定的默认值。因此Java 8引入了一个新的方法getOrDefault(),该方法可用于解决这个问题。当我们尝试访问一个不存在的键时,Map会返回null值。这在某些情况下可能会导致错误。当获取某个对象的值进行一些操作,如果map的value值为空,就会抛出空指针异常。1. 构造Map参数格式。原创 2024-01-30 21:00:00 · 986 阅读 · 0 评论 -
NO.396 旋转数组
题目给定一个长度为n的整数数组nums。假设arrk是数组nums顺时针旋转k个位置后的数组,我们定义nums的F返回 F(0), F(1), ..., F(n-1)中的最大值。生成的测试用例让答案符合整数。原创 2023-09-16 16:29:05 · 110 阅读 · 0 评论 -
NO.665 非递减数列
如果我们取a1 或 a3进行分析,我们会发现,由于这2个数分别在数组的两端,在进行判断校验的时候,需要判断另2个数彼此间的大小关系,以及与当前 a1 或 a3的关系。当我们取a2 进行分析时,当a2 > a3,此时分析 a1 可能的情况(如果 a1 > a2 > a3 直接不满足条件)综合以上可以得到:当 x 存在且 x>z,就让 z=y,否则让 y=z 当变更超过 2 次就不再满足条件。假设 这 3个数 分别 为 a1, a2,a3。因此,我们取 a1 和 a3 进行分析,不合理。原创 2023-07-22 14:44:35 · 137 阅读 · 0 评论 -
NO.274 H 指数
给你一个整数数组citations,其中表示研究者的第i篇论文被引用的次数。计算并返回该研究者的 h。根据维基百科上h代表“高引用次数” ,一名科研人员的h是指他(她)至少发表了h篇论文,并且每篇论文被引用h次。如果h有多种可能的值,h是其中最大的那个。3给定数组表示研究者总共有1。原创 2023-07-17 09:22:40 · 217 阅读 · 0 评论 -
process.waitfor()超时配置
在编写Java程序时,有时候我们需要调用外部的exe,这时可以通过Runtime的exec()方法,该命令使用比较简单,但是无法对执行做细节的控制。通过使用ProcessBuilder构建Process可以进行细节的控制,但是默认process是阻塞的。不要被误解,他也是阻塞的,阻塞到process进程执行完,才进行是否超时的判断。并不是说当超时时他会自动结束。通过process.destroy()方法可以从外部终止该process。但是waitFor时主进程阻塞是阻塞的。转载 2023-06-30 14:00:00 · 2293 阅读 · 1 评论 -
从零开始刷力扣
是不是有许多小伙伴在刷力扣的时候感觉无从下手?从头按顺序开始刷的童鞋们可能会比较有感触,为什么才第四题就感觉很难了?没关系,本文将对力扣的 1-700 题中不需要会员的数据结构与算法题目(数据库与 shell 除外)进行分类,并推荐一个刷题的顺序。原创 2023-06-29 07:18:00 · 656 阅读 · 0 评论 -
OOM 原因及解决方案
OOM 原因及解决方案原创 2023-06-12 10:06:59 · 5666 阅读 · 0 评论 -
如何进行单元测试
java,单元测试的那些事儿原创 2023-02-25 21:22:49 · 1723 阅读 · 0 评论 -
如何实现一个线程安全的list
线程安全,list原创 2023-02-18 23:19:29 · 3558 阅读 · 2 评论 -
Restful需要了解的那些事儿
restful相关知识点总结分析转载 2023-02-18 14:52:38 · 150 阅读 · 0 评论 -
jstack命令解析
前言如果有一天,你的Java程序长时间停顿,也许是它病了,需要用jstack拍个片子分析分析,才能诊断具体什么病症,是死锁综合征,还是死循环等其他病症,本文我们一起来学习jstack命令~jstack 的功能 jstack用法 线程状态等基础回顾 实战案例1:jstack 分析死锁 实战案例2:jstack 分析CPU 过高jstack 的功能jstack是JVM自带的Java堆栈跟踪工具,它用于打印出给定的java进程ID、core file、远程调试服务的Java堆栈信息.j转载 2022-05-10 09:19:22 · 63416 阅读 · 11 评论 -
实体类为什么要实现Serializable接口?必须吗?
前言序列化在rpc通信里面是避不开的一部分,可以把序列化这个操作简单看作是电话,A想跟B聊天,由于两个人都在家里,传播信息就需要媒介,序列化就相当于电话,A要跟B交流,就要通过电话互相发送消息。有个常见的误解就是,"所有实体类都要实现Serializable接口",其实实体类不一定要实现Serializable接口,只有JDK自带的序列化才需要这么做,使用json序列化就不需要了。一、什么是序列化和反序列化?序列化:将对象状态信息转化成可以存储或传输的形式的过程(Java中就是将...转载 2021-05-12 09:08:08 · 894 阅读 · 0 评论 -
如何避免NPE(NullPointException)
首先声明一个 User 对象,接下来所有代码可能都会用到这个对象做演示,在下面将不在赘述。很简单,不上代码,上图片:1.自动解箱抛 NPE代码只有一行,再简单不过了:int method() { return new User().getId(); }踩坑姿势:包装类型为 null 时,进行自动转换为基本数据类型报错。解决方案:返回之前进行判断与处理或者改为相同类型。 ...转载 2019-02-17 13:53:51 · 1124 阅读 · 0 评论 -
SimpleDateFormat线程安全问题解决方案
1.原因SimpleDateFormat(下面简称sdf)类内部有一个Calendar对象引用,它用来储存和这个sdf相关的日期信息,例如sdf.parse(dateStr), sdf.format(date) 诸如此类的方法参数传入的日期相关String, Date等等, 都是交友Calendar引用来储存的.这样就会导致一个问题,如果你的sdf是个static的, 那么多个thread 之...转载 2019-02-27 23:29:32 · 292 阅读 · 0 评论 -
Java日志规范
前言一个在生产环境里运行的程序如果没有日志是很让维护者提心吊胆的,有太多杂乱又无意义的日志也是令人伤神。程序出现问题时候,从日志里如果发现不了问题可能的原因是很令人受挫的。本文想讨论的是如何在Java程序里写好日志。一般来说日志分为两种:业务日志和异常日志,使用日志我们希望能达到以下目标:对程序运行情况的记录和监控; 在必要时可详细了解程序内部的运行状态; 对系统性能的影响尽量小...转载 2019-03-11 22:21:07 · 710 阅读 · 0 评论 -
java之 Timer 类的使用以及深入理解
1. Time类使用: 1 根据是否循环执行分为两类: 2 3 //只执行一次 4 public void schedule(TimerTask task, long delay); 5 public void schedule(TimerTask task, Date time); 6 7 //循环执...转载 2019-03-11 22:58:19 · 356 阅读 · 0 评论 -
Calendar日期处理
一.Calendar 类详解Calendar 类是一个抽象类,它为特定时间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。1、...转载 2019-03-13 20:26:50 · 855 阅读 · 0 评论 -
HashMap, HashTable,HashSet,TreeMap 的时间复杂度
hashSet,hashtable,hashMap 都是基于散列函数, 时间复杂度 O(1) ,但是如果太差的话是O(n);TreeSet==>O(log(n))==> 基于树的搜索,只需要搜索一半即可O⑴的原因是离散后,下标对应关键字hash就是散列,甚至再散列。但是我一直对hash表的时间复杂度有个疑问。一个需要存储的字符串,通过hash函数散列到一个相对较短的索引,使得存...转载 2019-01-20 19:55:40 · 1794 阅读 · 0 评论