Java基础
文章平均质量分 80
老子大威天龙
这个作者很懒,什么都没留下…
展开
-
Java集合(四)—— Map详解
Map接口 1、HashMap 2、HashTable 3、TreeMap原创 2021-10-02 18:05:35 · 445 阅读 · 0 评论 -
Java集合(三)—— Set详解
Set接口 一、HashSet public class HashSet<E>extends AbstractSet<E>implements Set<E>, Cloneable, Serializable HashSet继承自Set接口,无序、不可重复的,线程不安全,存取速度快。 当向HashSet集合中存入一个元素时,HashSet会调用该对象的hashCode()方法来得到该对象的hashCode值,然后根据hashCode值决定该对象在HashSet中的存储位原创 2021-10-02 17:57:39 · 785 阅读 · 0 评论 -
hashCode 以及 hashCode()与equals()的联系
hashCode 以及 hashCode()与equals()的联系 一、什么是hashCode: hashCode就是对象的散列码,是根据对象的某些信息推导出的一个整数值,默认情况下表示是对象的存储地址。通过散列码,可以提高检索的效率,主要用于在散列存储结构中快速确定对象的存储地址,如Hashtable、hashMap中。 为什么说hashcode可以提高检索效率呢?我们先看一个例子,如果想判断一个集合是否包含某个对象,最简单的做法是怎样的呢?逐一取出集合中的每个元素与要查找的对象进行比较,当发现该元素与转载 2021-10-02 17:10:56 · 168 阅读 · 0 评论 -
Java集合(二)—— List详解
一、List接口 List接口的元素是有序、可重复的 1、Vector Vector实现了RandomAccess接口,因此可以通过下标进行随机访问,底层数据结构是数组结构。 Vector中的方法由于加了 synchronized 修饰,所以Vector的操作是线程安全的。 Vector实现了Cloneable,重载了clone()方法,因此可以进行克隆。 Vector实现了Serializable接口,因此可以进行序列化。 1.1、扩容机制 Vector默认初始容量为10(jdk7和jdk8一样都原创 2021-10-02 16:17:43 · 316 阅读 · 0 评论 -
Java集合(一)—— 总述
一、集合框架 1、框架图 2、集合说明 2.1、什么是集合? 集合就是一个放数据的容器,准确的说是放数据对象引用的容器 集合类存放的都是对象的引用,而不是对象的本身 JDK提供的集合API都包含在java.util包内 2.2、集合两大部分 Java 集合的框架主要分两大部分,一部分实现了 Collection 接口,该接口定义了存取一组对象的方法,其子接口 Set 和 List 分别定义了存取方式;另一部分是 Map 接口,该接口定义了存储一组“键(key)值(value)”映射对的方法。 2原创 2021-10-02 14:43:04 · 178 阅读 · 0 评论 -
Java基础(三)—— 异常
异常 1、Throwable Throwable类实现了Serializable接口,表示Throwable可以进行序列化,继承自Object类,他的子类主要是Error和Exception类还有一个StackRecorder类。Throwable是一个类而不是一个接口,这是为了让异常类能够有单一职责。 Throwable 类是 Java 语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出。类似地,只有此类或其子类之一才可以原创 2021-09-29 00:16:26 · 223 阅读 · 0 评论 -
Java基础(二)—— 面向对象
面向对象 面向对象三大特征:封装、继承、多态 1、类(分为属性和行为) 通常类名大写开头,例如:Student 类的关系:关联关系(has a)、继承关系(is a)、实现关系(like a)、聚合关系、依赖关系、组合关系 关联关系:一对一、一对多、多对多 List:有序可重复 set:无序不可重复 map:KEY-VALUE结构 定义一个类,主要有三个步骤: 1.1、定义类名, 用于区分不同的类。如下代码中 public class 后面跟的就是类名。class是声明类的关键字,类名后面跟上大括号,大原创 2021-09-26 15:53:48 · 223 阅读 · 0 评论 -
Java基础-泛型
泛型 大家可能会有疑问,我为什么叫做泛型是一个守门者。这其实是我个人的看法而已,我的意思是说泛型没有其看起来那么深不可测,它并不神秘与神奇。泛型是 Java 中一个很小巧的概念,但同时也是一个很容易让人迷惑的知识点,它让人迷惑的地方在于它的许多表现有点违反直觉。 文章开始的地方,先给大家奉上一道经典的测试题。 List<String> l1 = new ArrayList<String>(); List<Integer> l2 = new ArrayList<Int转载 2021-09-22 16:30:03 · 216 阅读 · 0 评论 -
jstack无法查看IDEA线程状态
jstack无法查看IDEA线程状态 问题描述: 在IDEA打上断点Debug时,用CMD的jstack查看线程,发现光标一直处于闪烁状态,没有打印出内容。 解决方法: 1、在IDEA打断点的地方,右键断点,勾选上Thread,点击Done即可。(修改后如下图) 2、重新Debug,再次 jps,jstack 就发现能打印出内容了。 注意重新运行Debug,它的pid会变化,需要重新输入jps命令查看线程的pid ...原创 2021-04-06 10:21:27 · 584 阅读 · 0 评论 -
Java基础(一)
基础语法 常量 Java 中的 final 关键字可以用于声明属性(常量),方法和类。当 final 修饰属性时,代表该属性一旦被分配内存空间就必须初始化,它的含义是“这是无法改变的”或者“终态的”。在变量前面添加关键字 final 即可声明一个常量。在 Java 编码规范中,要求常量名必须大写。 final 数据类型 常量名 = 值; final double PI = 3.14; 常量也可以先声明,再进行赋值,但只能赋值一次,比如: final int FINAL_VARIABLE; FINAL_原创 2021-09-26 15:30:18 · 144 阅读 · 0 评论