【Java学习笔记⑯(数据结构栈和队列、数组、链表、红黑树)】教程文章相关的互联网学习教程文章

JavaSE学习笔记 - Object类、日期类【代码】

ObjectObject 类是 Java 中所有类的超类,Java 中每个类都是由 Object 这个类拓展而来的。可以使用 Object 类型的变量引用任何类型的对象。 Object是类层次结构的根类,每个类都是使用 Object 类作为超类。Object 可以对 toString() 和 equals() 方法。我们在打印对象的时候打印是对象调用 toString() 的结果。toString() 的重写:toString() 源码 :toString() 方法默认返回结果是地址值,但是在开发中,我们常常需要查看对象属性...

JavaSE学习笔记 - 数字类、随机数【代码】

BigInteger import java.math.BigInteger;public class Main {public static void main(String[] args) {//加BigInteger ans = BigInteger.ONE;for (int i = 0; i < 1000; i++) {ans = ans.add(BigInteger.valueOf(i));}System.out.println(ans);//减ans = BigInteger.ZERO;for (int i = 0; i < 1000; i++) {ans = ans.subtract(BigInteger.valueOf(i));}System.out.println(ans);//乘ans = BigInteger.ONE;for (int i = 1; i < 10...

JavaS学习笔记 - String类【代码】【图】

String字符串一旦创建就不可改变 带有双引号的字符串在字符串常量池中存储 字符串比较时需要使用 equals 方法,String 类重写了 equals 和 toString 方法创建字符串 public class Main {public static void main(String[] args) {String str = "abc";String string = new String("abc");String string1 = new String("bcd");} }内存图分析拼接 public class Main {public static void main(String[] args) {String str = "abcdefg"...

JavaSE学习笔记 - 异常处理机制【代码】【图】

程序在执行的过程中出现非正常的情况,最终导致 JVM 非正常停止。异常在 Java 中以类的形式存在,每一个异常类都可以创建对象,在产生异常的时候就是创建了一个异常类的对象,然后将异常对象抛出。public class Main {public static void main(String[] args) {NullPointerException exception = new NullPointerException("空指针异常");System.out.println(exception);//java.lang.NullPointerException: 空指针异常} }异常继承结...

JavaSE学习笔记 - Collection集合【代码】【图】

集合是一种容器,可以用来存储对象。在数组中存储对象是长度一旦确定是不能改变的,但是集合的长度是可变的。 集合中存储的都是 Java 对象的引用,集合不能存储基本数据类型。集合继承结构图Collection单列集合类的父接口public class Main {public static void main(String[] args) {Collection<String> collection = new ArrayList<>();collection.add("abc");collection.add("abc");collection.add("bcd");Object[] objs = coll...

JavaSE学习笔记 - Map集合【代码】【图】

Map 继承结构图MapMap 集合为双列集合,集合中不能包含重复的键,但是值可以重复,并且每一个键只能对应一个值。常用方法 public class Main {public static void main(String[] args) {Map<Integer, String> map = new HashMap<>();map.put(1, "a");map.put(3, "b");map.put(2, "c");System.out.println(map);//{1=a, 2=c, 3=b}System.out.println(map.get(3));//b//这里需要注意,如果是自定义类型我们需要重写hashCode和equals方...

JavaSE学习笔记 - 反射技术【代码】

概述反射是一种强大的工具,可以用来编写能够动态操纵 Java 代码的程序,通过反射机制我们可以操作字节码文件。反射机制将类的各个部分封装成了对象,在程序运行的过程中我们可以操作这些对象(在操作一个类对象的时候我们可以操作其方法成员变量等)。这样可以使得程序解耦,提高了程序的可扩展性。Java 代码的三个阶段源代码阶段:编写类文件,然后添加成员变量,成员方法等,代码编译后生成字节码文件,此时代码还未被加载进内存。...

JavaSE学习笔记 - I/O流详解【代码】【图】

I/O 概述 ??I/O流:对硬盘文件进行读写,输入流就是将硬盘文件的内容读入到内存中使用,输出流就是将内存中的数据读入到硬盘文件中,以便于长期保存。文件是由字符或者字节构成的,所以可以进行写入和读取。所有的文件数据都是以二进制数字的形式保存,都是一个一个的字节,在传输的时候也是以二进制的形式进行数据的传输。 字节流继承结构图字符流继承机构图字节流 OutputStream 与 FileOutputStream(文件流) ??OutputStream:所有...

JavaSE学习笔记 - Java基础语法【代码】【图】

Java语言特性简单性:Java 中真正操作内存的是 Java 虚拟机,Java 虚拟机通过运行 Java 程序来操作内存,而 C++ 都是通过指针来操作内存,Java 程序中不能直接操作指针,所以在 Java 中不容易导致内存泄漏,所以变得简单。 Java 是完全面向的对象的语言:万物皆对象 健壮性:Java 编译器能够检测许多在其他语言中仅仅在运行时检测出来的问题。Java 有自动垃圾回收回收机制( GC 机制),不容易导致内存泄漏。 支持多线程 可移植性:编...

JavaSE学习笔记 - 面向对象基础【代码】【图】

面向对象面向对象特点:封装性、继承性、多态性、(抽象性) 面向对象:不关心具体的步骤,具体的步骤已经由某一个对象完成,考虑哪一个对象完成了这个事情,找到这个对象来做某一件事情。 面向过程:需要考虑具体的过程,要自己考虑每一步的实现过程,考虑怎么去做。 类和对象:创建类,设计类的属性;创建类的对象;通过 "对象.属性","对象.方法"调用对象的结构,功能。 万物皆对象:在 Java 语言范畴中,我们将功能、结构等封装到...

Java学习笔记(长期更新)

初识Java 初识Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。 Java可运行于多个平台,如Windows, Mac OS,及其他多种UNIX版本的系统。简介Java分为三个体系:JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版) JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版) JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。2005年6月,JavaOne大会召开,SUN公司公开Ja...

Java基础:枚举学习笔记【代码】【图】

枚举 概述 枚举(enumeration)是Java1.5引入的新特性,枚举类是一种特殊的类class,通过关键字 enum 来定义。之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束,但是这些约束的存在也造就了枚举类型的简洁性、安全性以及便捷性。 枚举的特性枚举类的构造方法强制被私有化,即枚举类不能实例化 所有的枚举都继承自java.lang.Enum类。由于Java 不支持多继承,所以枚举对象不能再继承其他类 每个枚举变量都是枚举...

Java8新特性学习笔记-CompletableFuture【代码】

目录代码 代码 package test;import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors;public class CompletableFutureTest {private static ExecutorService executorService = Executors.newFixedThreadPool(8);public static void main(String[] args) throws InterruptedException {// 创建异步执行任务:CompletableFuture<Double> completedFut...

Scala学习笔记一(与Java、Jvm的关系以及程序执行流程分析)【代码】【图】

一、Scala语言与Java、Jvm的关系分析Scala语言是马丁奥德斯基接触Java语言后,针对Java语言的特点,将函数式编程语言的特点融合到Java中,由此发明的。Scala语言和Java语言的;联系是十分紧密的。现在主流的JVM的Javac编译器就是马丁奥德斯基编写的,包括JDK1.5和JDK1.8。那么Scala和Java以及JVM之间有什么样的联系呢?我们来分析一下,如下图所示:   可以看出Scala语言编译的范围要大于Java语言的编译范围,也就是说有的Java程...

Java基础:反射学习笔记【代码】【图】

反射 类的加载 当程序主动使用某个类时,如果该类还没有被加载到内存中,则系统会通过加载、连接、初始化这三个步骤对该类进行初始化。有时会把这一整个流程统称为类加载或类初始化。类加载指的是将类的class文件读入内存中,并为之创建一个 java.lang.Class对象,也就是说程序使用任何类的时候,都会为其创建一个class对象。 类的连接 类被加载之后,系统会为之生成一个Class对象,接着会进入连接阶段,连接阶段负责把类的二进制数...