
java
IndigoDream
这个作者很懒,什么都没留下…
展开
-
JVM中的GC笔记
GC – Garbage Collection – 垃圾回收如何判断对象是否可以清除JVM中的GC采用根搜索算法,就是选用一些对象作为GC Roots,并组成根对象集合,然后从这些作为GC Roots的对象作为起点,搜索所走过的引用链(Reference Chain)。如果目标对象到GC Roots是连接的,我们称目标对象是可达的,如果目标对象不可达,即表示目标对象是可以被回收的。可以作为GC Root的对象有:1.JVM栈中引用的对象。2.方法区中,静态属性引用的对象。3.方法区中,常量引原创 2020-07-03 15:19:15 · 237 阅读 · 0 评论 -
HashSet
package com.test;import java.util.HashSet;// HashSet 底层是使用哈希表来支持的,特点:存取速度快class Person{ int id; String name; public Person(int id,String name) { this.id=id; this.name=name; } @O...原创 2019-05-01 11:29:34 · 120 阅读 · 0 评论 -
Vector
package com.test;import java.util.Enumeration;import java.util.Vector;// Vector 底层也是维护了一个Object的数组实现的,实现与ArrayList是一样的,但是Vector是线程安全的,操作效率低// ArrayList与Vector的区别?// 相同点:ArrayList与Vector底层都是使用了O...原创 2019-05-01 11:17:49 · 173 阅读 · 0 评论 -
TreeSet
TreeSet:TreeSet要注意的事项:往TreeSet添加元素的时候,如果元素本身具备了自然顺序的特性,那么就按照元素自然顺序(1,2,3… a,b,c…)的特性进行排序存储往TreeSet添加元素的时候,如果元素本身不具备自然顺序的特性,那么该元素所属的类可以实现实现Comparable接口,把元素的比较规则定义在CompareTo(T o)方法上。如果比较元素的时...原创 2019-05-01 11:06:11 · 152 阅读 · 0 评论 -
堆栈和队列的存储特点
堆栈和队列的存储特点使用LinkedList集合实现堆栈和队列数据结构的存储方式!!package com.test;import java.util.LinkedList;//使用 LinkedList 实现堆栈数据结构的存储方式 class StackList{ LinkedList list; public StackLis...原创 2019-04-28 11:52:48 · 2511 阅读 · 0 评论 -
LinkedList集合
package com.test;import java.util.Iterator;import java.util.LinkedList;// (1)LinkedList 底层是使用了链表数据结构实现// 1.方法:// addFirst(E e) //把元素添加到集合的首位置// addLast(E e) //把元素添加到集合的末尾处,与add(E e)方法效果相同/...原创 2019-04-28 11:43:26 · 213 阅读 · 0 评论 -
Java中的泛型在集合中的应用
泛型的好处和应用规范:泛型在集合中常见应用和规范原创 2019-05-02 18:04:02 · 1070 阅读 · 0 评论 -
ArrayList集合的特点和原理
ArrayListArrayList 底层是通过维护了一个Object数组实现的,特点是查询速度快,增加删除慢ArrayList 使用无参构造函数创建对象时,Object数组默认的容量是10,当长度不够时,自动增长0.5倍,也就是原来数组长度的1.5倍当数据需要频繁的查询,而增加删除较少的时候,建议使用ArrayList数组存储数据。...原创 2019-04-27 20:35:11 · 5196 阅读 · 1 评论 -
List接口
package com.test;import java.util.List;import java.util.ListIterator;import java.util.ArrayList;public class List1 { // 集合体系: Collection 单列集合的根接口 List 如果实现了List接口的集合类,该集合具有的特点:有序,可重复 Se...原创 2019-04-27 17:11:52 · 255 阅读 · 0 评论 -
迭代器的工作原理和注意事项
package com.test;import java.util.ArrayList;import java.util.List;import java.util.ListIterator;// 迭代器在变量元素的时候要注意事项:// 在迭代器迭代元素的过程中,不允许使用集合对象改变集合中的元素的个数(也就是添加或者删除),可以进行修改// 如果需要添加或者删除只能使用迭代...原创 2019-04-27 15:05:49 · 750 阅读 · 0 评论 -
Collection
集合数组的特点:只能存储同一种数据类型的数据一旦初始化,长度固定数组中的元素与元素之间的内存地址是连续的。===Object类型的数组可以存储任意类型的数据集合:集合是存储对象数据的集合容器集合比数组的优势:集合何以存储任意类型的对象数据,数组只能存储同一种数据类型的数据集合的长度可以发生变化,数组的长度固定Collection 单列集合的根接口Collection下...原创 2019-04-27 14:57:55 · 221 阅读 · 0 评论 -
Java中equals()方法和双等号“==”的区别
Java中equals()方法和双等号“==”的区别1.双等号== ,如果比较的是基本数据类型的变量,比较的是其赋值的内容是否相等,如果比较的是引用类型的变量,则比较的是所指向的对象的地址是否相等。2.equals()方法 ,equals方法不能用来比较基本数据类型的变量。默认情况下equals()比较的也是对象的地址是否相等。但很多引用类型都对equals()方法进行了重写,使其比较的是对象...原创 2019-04-15 22:02:40 · 1797 阅读 · 0 评论 -
JAVA排序之插入排序
package com.test;public class InsertSort {public static void main(String[] args) { int numbers[] = { 3, 7, 5, 1, 67, 9, 2, 34, 12, 45 }; insertSort(numbers);}//=====插入排序=====//每次循环就是将无序数列的第一个...原创 2019-03-28 19:07:18 · 206 阅读 · 0 评论 -
JAVA排序之选择排序
package com.test;public class SelectSort {public static void main(String[] args) { int numbers[] = { 3, 7, 5, 1, 67, 9, 2, 34, 12, 45 }; selectSort(numbers);}// =====选择排序=====// 选择排序是一种简单直观的...原创 2019-03-28 17:09:48 · 103 阅读 · 0 评论 -
JAVA排序之冒泡排序
package com.test;public class BubbleSort {public static void main(String[] args) { int numbers[] = { 3, 7, 5, 1, 67, 9, 2, 34, 12, 45 }; bubbleSort1(numbers);}//=====冒泡排序=====//从左向右,每两个相邻的数...原创 2019-03-28 15:54:33 · 120 阅读 · 0 评论 -
JAVA中的四个排序
插入排序选择排序冒泡排序快速排序// 1. 插入排序 时间复杂度为// 排序方法 平均时间复杂度情况 最好情况 最坏情况 空间复杂度 稳定性// 插入排序 O(n2) O(n) O(n2) O(1) 稳定// 假定第一个元素有序。// 取一个临时变量存放第二个元素的值。第二个元素与第一个元素比较,如果第二个元素大于第一个元素,两个元素交换位置,否者,不...原创 2019-03-28 14:53:17 · 1146 阅读 · 0 评论 -
JAVA排序之快速排序
快速排序步骤图package com.test;public class QuickSort {public static void main(String[] args) { int numbers[] = { 3, 7, 5, 1, 67, 9, 2, 34, 12, 45 }; quickSort1(numbers, 0, 9); quickSort2(numbers,...原创 2019-03-29 14:20:46 · 142 阅读 · 0 评论 -
Java中byte类型的范围
java种为什么byte的范围是 -128~127在java中byte类型占8位 表示的范围是0000 0000 ~ 1111 1111 总共256个数,java中byte类型有正负,最高位表示正负,0为正,1为负。我们先看正数:0000 0000 ~ 0111 1111(原码)( 0 ~ 127,共128个数)我们知道在计算机系统中,数值一律用补码来表示和存储。正数的原码,反码,补码...原创 2019-03-20 18:49:55 · 22107 阅读 · 3 评论 -
JDK环境变量配置,测试java环境
为什么配置环境变量:1.什么是环境变量?环境变量就相当于你当前计算机所定义的一些变量,这些变量会被赋予一定的值。如果你想要运行某个命令,也就是运行某个执行文件,系统默认在当前目录查找,如果找不到会根据所配置变量的值去查找相应的文件运行。2.举个例子Java所编写的程序后缀名为.java,而计算机不能识别该类型文件,需要编译成.class类型文件才能执行。而这些编译命令都存放在安装的jdk...原创 2019-03-19 20:21:22 · 772 阅读 · 0 评论