Java
文章平均质量分 92
Java
mojiezhao
个人学习笔记以及知识点整理
展开
-
Java垃圾回收
之前上学的时候有这个一个梗,说在食堂里吃饭,吃完把餐盘端走清理的,是 C++ 程序员,吃完直接就走的,是 Java 程序员。确实,在 Java 的世界里,似乎我们不用对垃圾回收那么的专注,很多初学者不懂 GC,也依然能写出一个能用甚至还不错的程序或系统。但其实这并不代表 Java 的 GC 就不重要。相反,它是那么的重要和复杂,以至于出了问题,那些初学者除了打开 GC 日志,看着一堆0101的天...原创 2020-03-15 20:55:25 · 180 阅读 · 0 评论 -
Java中equals()和HashCode()的关系
一.基础:hashCode() 和 equals() 简介在学习 hashCode() 和 equals() 之间的关系之前, 我们有必要先单独地了解他俩的特点.equals()equals() 方法用于比较两个对象是否相等,它与 == 相等比较符有着本质的不同。在万物皆对象的 Java 体系中,系统把判断对象是否相等的权力交给程序员。具体的措施是把 equals() 方法写到 Obje...原创 2020-03-15 20:42:15 · 286 阅读 · 0 评论 -
List、Map、Set三个接口,存取元素时,各有什么特点?
首先,List与Set具有相似性,它们都是单列元素的集合,所以,它们有一个功共同的父接口,叫Collection。Set里面不允许有重复的元素,所谓重复,即不能有两个相等(注意,不是仅仅是相同)的对象 ,即假设Set集合中有了一个A对象,现在我要向Set集合再存入一个B对象,但B对象与A对象equals相等,则B对象存储不进去,所以,Set集合的add方法有一个boolean的返回值,当集合中没有...原创 2020-03-06 21:48:30 · 341 阅读 · 0 评论 -
sleep() 和 wait() 有什么区别?
(网上的答案:sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。 wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。)s...原创 2020-03-06 21:00:32 · 210 阅读 · 0 评论 -
使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。例如,对于如下语句:final StringBuffer a=new StringBuffer(“immutable”);执行如下语句将报告编译期错误:a=new StringBuffer("");但是,执行如下语句则可以通过编译:a.append(" broken!");有人在定义方法...原创 2020-03-05 21:22:32 · 272 阅读 · 0 评论 -
Java之正则表达式
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。给定一个正则表达式和另一个字符串,我们可以达到如下的目的:1. 给定的字符串是否符合正则表达式的过滤逻辑(称作"匹配");2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。正则表达式的特点是:1. 灵活性、逻辑...原创 2020-02-09 20:11:03 · 164 阅读 · 0 评论 -
Java基础之反射(二)
Java反射机制是一个非常强大的功能,在很多大型项目比如Spring, Mybatis都可以看见反射的身影。通过反射机制我们可以在运行期间获取对象的类型信息,利用这一特性我们可以实现工厂模式和代理模式等设计模式,同时也可以解决Java泛型擦除等令人苦恼的问题。本文我们就从实际应用的角度出发,来应用一下Java的反射机制。Java反射机制主要提供了以下功能:在运行时构造一个类的对象;判断一个类所具...原创 2020-02-09 19:34:33 · 263 阅读 · 0 评论 -
Java基础之泛型
十八 泛型泛型(Generic)的作用,在JDK5以前,对象保存到集合中就会失去其特性(任何类型传入,都会变成Object),取出时通常要程序员手工进行类型的强制转换,这样不可避免就会引起程序的一些安全性问题,例如:ArrayList list =new ArrayList();list.add("abc");Integer num=(Integer)list.get[0];//运行时会...原创 2020-02-09 19:29:19 · 170 阅读 · 0 评论 -
Java基础之注解
今天要讲的是注解,对于本章节,最好是有Servlet基础的人查阅~因为单纯是Java基础的话,可能用不上注解这个东西。但如果开发过Servlet,就对@WebServlet不会陌生。现在的开发都推崇使用注解来进行开发,这样就可以免去写XML配置了,十分方便的一项技术~学习注解可以更好地理解注解是怎么工作的,看见注解了就可以想到它的运行原理了~。如果有错的地方请大家多多包涵并欢迎在评论区指正~...原创 2020-02-09 19:28:55 · 124 阅读 · 0 评论 -
Java容器之Collection
一、集合(Collection)介绍1.1为什么需要CollectionJava是一门面向对象的语言,就免不了处理对象为了方便操作多个对象,那么我们就得把这多个对象存储起来想要存储多个对象(变量),很容易就能想到一个容器常用的容器我们知道有-->StringBuffered,数组(虽然有对象数组,但是数组的长度是不可变的!)所以,Java就为我们提供了集合(Collect...原创 2020-02-09 18:35:25 · 182 阅读 · 0 评论 -
Java容器之List集合
现在这篇主要讲List集合的三个子类:ArrayList底层数据结构是数组。线程不安全LinkedList底层数据结构是链表。线程不安全Vector底层数据结构是数组。线程安全这篇主要来看看它们比较重要的方法是如何实现的,需要注意些什么,最后比较一下哪个时候用哪个~看这篇文章之前最好是有点数据结构的基础:Java实现单向链表,栈和队列,二叉树。当然了,如果讲得有...原创 2020-02-09 18:33:35 · 219 阅读 · 0 评论 -
Java集合之Map
原本我是打算继续将Collection下的Set集合的,结果看了源码发现:Set集合实际上就是HashMap来构建的!所以,就先介绍Map集合、散列表和红黑树吧!看这篇文章之前最好是有点数据结构的基础:Java实现单向链表栈和队列二叉树当然了,如果讲得有错的地方还请大家多多包涵并不吝在评论去指正~一、Map介绍1.1为什么需要Map前面我们学习的Collection叫做...原创 2020-02-09 18:29:57 · 180 阅读 · 0 评论 -
Java集合之Set
现在这篇主要讲Set集合的三个子类:HashSet集合A:底层数据结构是哈希表(是一个元素为链表的数组) + 红黑树TreeSet集合A:底层数据结构是红黑树(是一个自平衡的二叉树)B:保证元素的排序方式LinkedHashSet集合A::底层数据结构由哈希表(是一个元素为链表的数组)和双向链表组成。这篇主要来看看它们比较重要的方法是如何实现的,...原创 2020-02-09 18:28:15 · 237 阅读 · 0 评论 -
Java集合总结
Java容器可分为两大类:CollectionListArrayListLinkedListVector(了解,已过时)SetTreeSetHashSetLinkedHashSetMapHashMapLinkedHashMapTreeMapConcurrentHashMapHashtable(了解...原创 2020-02-09 18:26:35 · 133 阅读 · 0 评论