2021年9月10日
摘要: 为什么equals()方法要重写? 判断两个对象在逻辑上是否相等,如根据类的成员变量来判断两个类的实例是否相等,而继承Object中的equals方法只能判断两个引用变量是否是同一个对象。这样我们往往需要重写equals()方法。 我们向一个没有重复对象的集合中添加元素时,集合中存放的往往是对象,我 阅读全文
posted @ 2021-09-10 11:48 “樂·~ 阅读(1339) 评论(0) 推荐(0) 编辑
2021年9月9日
摘要: 自从 14 年发布 Java 8 以后,我们古老 java.util.Date 终于不再是我们 Java 里操作日期时间的唯一的选择。 其实 Java 里的日期时间的相关 API 一直为世猿诟病,不仅在于它设计分上工不明确,往往一个类既能处理日期又能处理时间,很混乱,还在于某些年月日期的数值映射存储 阅读全文
posted @ 2021-09-09 15:04 “樂·~ 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 关于String类的基本操作,可分为以下几类: 1、基本操作方法 2、字符串比较 3、字符串与其他数据类型之间的转换 4、字符与字符串的查找 5、字符串的截取与拆分 6、字符串的替换与修改 我觉得在整理到下面的内容之前需要给自己提的醒是关于字符串的操作方法我们是不需要像其他操作一样手动导包的,其St 阅读全文
posted @ 2021-09-09 10:10 “樂·~ 阅读(2117) 评论(0) 推荐(0) 编辑
2021年9月8日
摘要: 摘要: 从整体上介绍java内存的概念、构成以及分配机制,在此基础上深度解析java中的String类型,从内存分配情况来解析String对象的特性。 一、引题 在java语言的所有数据类型中,String类型是比较特殊的一种类型,同时也是面试的时候经常被问到的一个知识点,本文结合java内存分配深 阅读全文
posted @ 2021-09-08 16:19 “樂·~ 阅读(232) 评论(0) 推荐(0) 编辑
摘要: Java多线程实现的方式有四种 1.继承Thread类,重写run方法 2.实现Runnable接口,重写run方法,实现Runnable接口的实现类的实例对象作为Thread构造函数的target 3.通过Callable和FutureTask创建线程 4.通过线程池创建线程 前面两种可以归结为一 阅读全文
posted @ 2021-09-08 15:02 “樂·~ 阅读(282) 评论(0) 推荐(0) 编辑
摘要: Java wait()、notify()、notifyAll()方法 wait() 调用wait()方法后,线程进入等待状态,wait()方法不会返回,直到将来某个时刻,线程从等待状态被其他线程唤醒后,wait()方法才会返回,然后,继续执行下一条语句。 wait()方法的执行机制非常复杂,它不是一 阅读全文
posted @ 2021-09-08 11:02 “樂·~ 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 一、死锁 1.死锁的四个必要条件 2.如何预防死锁 二、几种典型的死锁场景 1、锁顺序死锁 2、动态锁顺序死锁 3、在协作对象间发生死锁 4、资源死锁 三、死锁后的诊断分析 通过线程转储信息来分析死锁 四、其它活跃性危险 1.饥饿 2.活锁 3.糟糕的响应性(性能问题) 一、死锁 死锁造成的影响很少 阅读全文
posted @ 2021-09-08 09:55 “樂·~ 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。 本文参考java 泛型详解、Java中的泛型方法、 java泛型详解 1. 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。 什么是泛型?为什么要使用 阅读全文
posted @ 2021-09-08 09:43 “樂·~ 阅读(23) 评论(0) 推荐(0) 编辑
2021年9月7日
摘要: 一个程序在运行起来的时候会转换成进程,通常含有多个线程。 通常情况下,一个进程中的比较耗时的操作(如长循环、文件上传下载、网络资源获取等),往往会采用多线程来解决。 比如显示生活中,银行取钱问题、火车票多个售票窗口的问题,通常会涉及到并发的问题,从而需要多线程的技术。 当进程中有多个并发线程进入一个 阅读全文
posted @ 2021-09-07 19:17 “樂·~ 阅读(165) 评论(0) 推荐(0) 编辑
摘要: https://blog.csdn.net/yangyechi/article/details/88195068 一、概述 当线程被创建以后,它不是一启动(start)就进入运行状态的,也不是一直处于执行状态。在线程的生命周期中,它要经过创建(New)、就绪(Runnable)、运行(Running 阅读全文
posted @ 2021-09-07 18:59 “樂·~ 阅读(43) 评论(0) 推荐(0) 编辑