Java基础
文章平均质量分 82
Java基础知识
空城旧守i
Java后台人员
展开
-
散列表,Hash冲突,HashMap
一、散列表英文名“Hash Table”,又称哈希表是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。哈希表存储时把Key通过一个固定的算法函数既所谓的哈希函数转换成一个整型数字,然后就将该数字对数组长度进行取余,取余结果就当作数组的下标,将value存储在以该数字为下标的数组空间里。而当使用哈希表进行查询的时候,就是再次使用哈希函数将key转换为对应的数组下标,原创 2021-06-10 21:18:45 · 303 阅读 · 6 评论 -
Java栈与队列
栈定义:栈又称为堆栈,是一种运算受限的线性表,这是因为它仅允许在线性表的固定一端(表尾)进行插入、删除和读取元素等运算,不允许在其他任何位置进行运算特点:后进先出时间复杂度:O(1)一、栈的基本操作:在Java程序里面用Stack来描述栈的操作,这个类定义如下:public class Stack< E > extends Vector< E >可以发现Stack是Vector的子类,但他使用的并不是Vector类之中所提供的方法,而是采用如下的几种方法1.pus原创 2021-04-05 15:52:54 · 333 阅读 · 1 评论 -
List、Set与Map
一、List与Set的区别list和set都是collection的子类ListSet允许重复对象不允许对象重复有序。保持插入顺序,先入先出无序。无法保证存储顺序可以存入多个null元素只能存入一个null元素二、List集合public interface List< E > extends Collection可以看到List是Collection的子类,但List子接口对于Collection接口的方法进行了扩充以下是扩充的几个方法:原创 2021-03-30 20:15:09 · 707 阅读 · 5 评论 -
Java反射机制
Java语言允许通过程序化的方式间接对Class进行操作,Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数、属性和方法等。Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能,这就为使用程序化方式操作Class对象开辟了途径。...原创 2021-03-21 21:18:58 · 183 阅读 · 3 评论 -
Java字节流实现--文件与目录的拷贝
一、文件的拷贝–>原始方法注意:若使用InputStream将全部要拷贝的内容直接读取到程序里面,在文件很大时,将会导致程序直接卡死,所以强烈不推荐一次性全部拷贝所以我们采用部分拷贝,利用字节数组读取一部分存入字节数组,再将该部分输出。再利用while循环以此往复,直到全部拷贝过来代码如下:import java.io.*;class FileUntil {//定义一个文件操作工具类 private File srcFile;//原路径 private File desFi原创 2021-03-14 16:43:57 · 369 阅读 · 1 评论 -
Java创建线程的4种方法
任何情况下,只要定义了多线程,多线程的启动永远只有一种方案:Thread类中的start()方法1.创建Thread的子类:创建一个Thread的子类,并在Thread的子类中重写Thread类中的run方法,调用Thread类中的start方法,执行该线程class MyThread extends Thread{ @Override public void run() { System.out.println("继承了Thread"); }}public原创 2021-03-09 19:02:36 · 487 阅读 · 2 评论 -
Java线程与进程
一、进程与线程的概念1.进程:进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。进程是一种抽象的概念,从来没有统一的标准定义。进程一般由程序,数据集合和进程控制块三部分组成。程序用于描述进程要完成的功能,是控制进程执行的指令集;数据集合是程序在执行时所需要的数据和工作区;程序控制块包含进程的描述信息和控制信息是进程存在的唯一标志进程具有的特征:动态性:进程是程序的一次执行过程,是临时的,有生命期的,是动态产生,动态原创 2021-03-07 22:28:27 · 979 阅读 · 4 评论 -
Java字符串详解及操作
1.字符串的创建字符串内容永远不可变因为字符串不可变,所以字符串是可以共享使用的字符串效果上相当于char[]字符数组,但其底层原理是byte[]字节数组三种构造方法:public String(); //创建一个空字符串,没有任何内容public String(char[] array); //根据字符数字内容创建字符串public String(bytw[] array); //根据字节数组内容创建字符串直接创建:String str=“Hello World”p原创 2021-02-23 18:51:17 · 136 阅读 · 0 评论 -
ArrayList集合
1.创建ArrayList集合 数组的长度是不能发生变化的,但是ArrayList集合长度是可以发生变化的语法: ArrayList <E> list1 = new ArrayList<E>();对于ArrayList来说,有一个<E>代表泛型泛型也就是装在集合当中的所有元素,全部都是统一的什么类型注意:泛型只能是引用类型,不能是基本类型左边类型必须要写,JDK 1.7+开始右边尖括号内的类型可以省略impo原创 2021-02-22 16:38:29 · 877 阅读 · 8 评论 -
Java内部类
内部类 在一个类outside内部再定义一个类inside,类outside叫做类inside的外部类,inside叫outside的内部类1.成员内部类与局部内部类的定义成员内部类:public class outside { //外部类 String name="abc"; public class inside{ //成员内部类-->非静态内部类 public void method1(){/原创 2021-02-21 22:48:45 · 167 阅读 · 0 评论 -
Java基础
一.Java环境的配置1.JDK SDK JRE JVMJDK(Java Development Kit) JAVA开发工具包SDK(Software Development Kit)软件开发工具包JRE(Java Runtime Environment) JAVA运行环境JVM(Java Virtual Machine)虚拟机关系大致如图: JDK = JRE + javac.exe(编译工具)+jir.exe(打包工具) &原创 2021-02-07 17:37:40 · 180 阅读 · 3 评论