![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 72
sylvia_lily
这个作者很懒,什么都没留下…
展开
-
二十五、jdk8新特性
这里写目录标题1. 什么是Lambda2. 函数式接口3. 方法引用4. Stream1. 什么是Lambda概念:允许把函数作为一个方法的参数<函数式接口> <变量名> = (参数1,参数2…)->{方法体}Runnable task = ()->{System.out.println("子线程启动");}; Thread t2 = new Thread(task); t2.start();2. 函数式接口Consumer接口 没有入参没有原创 2021-04-08 10:09:58 · 76 阅读 · 0 评论 -
二十四、反射
这里写目录标题1. 类的对象2. 类对象3. 获取类对象4. 常用方法5. 工厂设计模式6. 通用编程7. 单例模式1. 类的对象I. 基于某个类new出来的对象,也称为实例对象。2. 类对象I. 类加载的产物II. 封装了一个类的所有信息(类名、父类、接口、属性、方法、构造方法)III. 一类.class文件就代表着一个类对象3. 获取类对象I. 通过类的对象,获取类对象(1) . Student s = new Student(); Class c = s.getCla原创 2021-04-08 08:46:43 · 46 阅读 · 0 评论 -
二十三、网络编程
这里写目录标题1. 客户端2. 服务端3.多线程服务端4. 客户端注册1. 客户端public static void main(String[] args) throws Exception { //1.创建客户端,连接指定的IP+端口号 Socket client = new Socket("192.168.31.97",7777); //2.获取输入输出流 InputStream is = client.getInputStream(); InputStreamReader i原创 2021-03-28 17:01:07 · 56 阅读 · 0 评论 -
二十二、I/O框架
这里写目录标题1、什么是流I. 方向(重点)3、字节流4、字符编码5、字符流6、字符节点流7、File1、什么是流I. 内存与存储设备之间传输数据的通道2、流的分类I. 方向(重点)(1) 输入流(2) 输出流II. 单位(1) 字节流(2) 字符流III. 功能(1) 节点流(2) 过滤流3、字节流I. 字节流的父类(1) InputStream(抽象类)(2) OutputStream(抽象类)II. 字节节点流(1) FileInputStream(原创 2021-03-15 00:33:45 · 107 阅读 · 0 评论 -
二十一、高级多线程
这里写目录标题1、线程池2、线程池原理3、获取线程池4、Callable接口5、Future接口6、同步7、异步8、Lock接口9、重入锁10、读写锁11、线程安全的集合:1、线程池I. 线程容器,可设定线程分配的数量上限II. 将预先创建的线程对象存入池中,实现重用池中的线程对象III. 避免频繁的创建和销毁2、线程池原理I. 将任务提交给线程池,由线程池分配线程、运行任务。并在结束任务后,复用线程。3、获取线程池I. Executor 线程池定级接口II. ExecutorS原创 2021-03-15 00:07:34 · 74 阅读 · 0 评论 -
二十、多进程
这里写目录标题1.进程:2.线程:3.线程的组成:4. 线程的创建:5.线程的状态:6. 线程常见方法:8. 线程安全的问题:9. synchronized 同步锁:10. 同步方式:11.线程的状态:12. 同步规则:13. 死锁、生产者与消费者:14. 线程通信:1.进程:I. 运行时的程序,称为进程。II. 单核CPU在任一时间点上,只能运行一个进程。III. 宏观并行、微观串行IV. cpu get NumberOfCores 获得核心数2.线程:I. 轻量级进程II.原创 2021-03-13 23:30:22 · 76 阅读 · 2 评论 -
十九、异常
这里写目录标题1.异常:2. 异常的分类:3. 异常的产生:4. 异常的传递:5. 异常的处理:6. 自定义异常:7. 异常方法覆盖:1.异常:I. 程序在运行过程中出现的特殊情况。II. 异常处理的必要性:任何程序都可能存在大量的未知问题、错误;如果不对这些问题进行正确处理,则可能导致程序的中断,造成不必要的损失。2. 异常的分类:I-Throwable:可抛出的,一切错误或异常的父类。位于java.lang包中。|-Error:JVM、硬件、执行逻辑错误,不能手动处理。|-Excep原创 2021-03-11 23:24:54 · 81 阅读 · 0 评论 -
十八、set和map
这里写目录标题1. Set子接口:2. foreach循环:3.Set接口实现类:4.Map体系集合:5. Map集合的遍历:6.15. Iterator 迭代器1. Set子接口:I. 特点:无序、无下标、元素不可重复(当插入新元素时,如果新元素与已有元素进行equals比较,结果为true时,则拒绝新元素的插入)II. 方法:全部继承自Collection中的方法2. foreach循环:for(数据类型 变量名 : 容器名称){ //可遍历集合或数组(常用在无序集合上)}for原创 2021-03-11 23:17:34 · 74 阅读 · 0 评论 -
十七、泛型
这里写目录标题1.泛型集合:2.泛型:高级类别的知识:3.Collections工具类:1.泛型集合:I. 概念:参数化类型、类型安全的集合,强制集合元素的类型必须一致。II. 特点:1). 编译时即可检查,而非运行时抛出异常。2). 访问时,不必类型转换(拆箱)。3). 不同泛型之间引用不能相互赋值,泛型不存在多态。List<Dog> list1 = new ArrayList<Dog>();abstract class Myclass<E>{原创 2021-03-10 23:19:47 · 65 阅读 · 0 评论 -
十六、集合
1. Collection体系集合:I. Collection父接口:该体系结构的根接口,代表一组对象,称为“集合”,每个对象都是该集合的“元素”。II. List接口的特点:有序、有下标、元素可重复。III. Set接口的特点:无序、无下标、元素不可重复。2.List子接口:I. 特点:有序、有下标、元素可以重复。II. 继承可父接口提供的共性方法,同时定义了一些独有的与下标相关的操作方法。3.List实现类:I. JDK8的ArrayList,实际初始长度是0II. 首次原创 2021-03-09 22:12:01 · 77 阅读 · 0 评论 -
十五、String
1.StringString s1 = "abca"; String s2 = s1 + "def"; String s3 = "abcdef"; s2.intern(); //加载池中失败 System.out.println(s2 == s3); String s4 = s2;//堆中地址 String s5 = s2.intern(); //池中地址 System.out.println(s4 == s5);2. BigDecimal BigDecimal原创 2021-03-09 22:01:10 · 84 阅读 · 0 评论 -
十二、内部类
这里写目录标题1. 内部类:1. 内部类:概念:在一个类的内部,再定义一个完整的类。特点:I. 编译之后可生成独立的字节码文件。II. 内部类可直接访问外部类的私有成员,而不破坏封装。 Outer.this.aIII. 可为外部类提供必要的内部功能组件。分类:I. 成员:1). 在类的内部定义,与实例变量、实例方法同级别的类。2). 属于外部类的一个实例部分,创建内部类对象,必须依赖外部类对象。3). Outer out = new Outer();Outer.Inner in原创 2021-03-09 12:40:12 · 78 阅读 · 0 评论 -
十一、接口
文章目录1. 接口的语法:2. 接口与抽象类的异同:3. 接口的概念:4. 接口的规范:5. 接口引用:6. 接口的多态:7. 常见关系:8. 常量接口:9. 接口:1. 接口的语法:I. 相当于特殊的抽象类,定义方式、组成部分,与抽象类类似。II. 接口中只能定义公开静态常量(变量)III. 接口中只能定义公开抽象方法(方法)IV. 接口不是类2. 接口与抽象类的异同:I. 相同:1). 可以编译成字节码文件2). 不能创建对象。(接口不是类,不是模板的概念,也没有构造方法)3)原创 2021-03-07 23:19:23 · 57 阅读 · 0 评论 -
十、static final
文章目录1. 静态与实例的区别:2. 静态的概念:3. 静态的特点:4. 类加载:5. 静态代码块:6. 总结:7.final1. 静态与实例的区别:I. 实例属性是每个对象各自持有的独立空间(多份),对象单方面修改,不会影响其他对象。II. 静态属性是整个类共同持有的共享空间(一份),任何对象修改,都会影响其他对象。2. 静态的概念:I. static可以修饰属性和方法,即为静态属性(类属性)、静态方法(类方法)II. 静态成员是全类所有对象共享的,全类只有一份,不因创建多个对象而产生多原创 2021-03-07 23:13:23 · 86 阅读 · 0 评论 -
九、抽象
文章目录1. abstract的意思:2. abstract修饰类:3.总结:1. abstract的意思:抽象的,似是而非的,像,却又不是,具备某种对象的特征,但不完整。2. abstract修饰类:I. 即为抽象类,不能独立new对象。II. 可被子类继承,对子类提供共性的属性和方法。III. 可声明引用,更纯粹的使用多态。IV. 抽象类的构造方法的作用:构建子类对象时,先构建父类对象,由父类共性+子类独有组成完整的子类对象。abstract class Animal1{ St原创 2021-03-06 22:19:47 · 87 阅读 · 0 评论 -
八、面向对象三大特性
文章目录一、封装:二、使用步骤1.引入库2. 继承:3.super关键字:4. 继承关系下的对象创建:5. 继承关系下的对象创建流程:(有点像递归)6.多态:一、封装:概念:尽可能隐藏对象的内部实现细节,控制对象的修改及访问的权限。2. private的访问修饰符,修饰属性,达到本类可见的效果。3. get/set方法是外界访问私有属性的唯一通道,方法内部可对数据进行过滤。(可在set方法中添加过滤条件)4. 提供公共访问方法,以保证数据可以正常录入。public class User原创 2021-03-06 22:14:18 · 94 阅读 · 2 评论 -
七、面向对象
文章目录1. 程序的概念:2. 现实世界组成:3. 什么是对象:4. 对象有什么:5. 特征和行为:6. 程序中的对象:7. 定义类、创建对象:1. 程序的概念:I. 程序是为了模拟现实世界、解决现实问题而使用计算机语言编写的指令集合。2. 现实世界组成:I. 程序员眼中,世界是由无数个对象组成的。3. 什么是对象:I. 一切客观存在的事物都是对象,万物皆对象。II. 初期:看得见、摸得着、并真实存在,都是对象。4. 对象有什么:I. 任何对象,一定有自己的特征和行为。5原创 2021-03-03 23:29:55 · 122 阅读 · 1 评论 -
六、数组
文章目录1. 概念:2. 数组的创建:3. 数组的组成概述:4. 数组的“扩容”:1. 概念:一组连续的存储空间,存储多个相同数据类型的值。2. 数组的创建:数据类型[] 数组名 = new 数据类型[长度]; // int [] a = new int[5];3. 数组的组成概述:I. 数组中的每个“格子”称为“数组的元素”。II. 对元素的访问分为:“赋值”、“取值”。III. 访问元素时,需要通过“下标”(从0开始,依次+1,自动生成)IV. 访问的语法:数组名[下标];原创 2021-03-01 23:01:23 · 110 阅读 · 0 评论 -
五、函数
文章目录1. 概念:2. 函数的定义:3. 定义的位置:4. 函数的调用:5. 函数的执行顺序:6. 形式参数、实际参数:7. 补充:8. 返回值与返回值类型:9. 总结:10. 递归:1. 概念:实现特定功能的一段代码,可反复使用。2. 函数的定义:public static void 函数名称(){//函数的主体(功能代码)}3. 定义的位置:定义的位置:定义在类的内部,与main函数并列。多数情况下,定义在main函数的下面4. 函数的调用:函数名();5. 函数原创 2021-03-01 22:55:00 · 100 阅读 · 1 评论 -
四、循环结构
文章目录1. 通过某个条件,使一段代码周而复始的执行2. 循环的组成部分:3. while循环4. do while循环:5. for循环:6. 流程控制语句:7. 嵌套循环:1. 通过某个条件,使一段代码周而复始的执行2. 循环的组成部分:I. 初始部分:循环用以判断的变量II. 循环条件:决定是否继续循环的依据III. 循环操作:单次执行的逻辑代码或任务(一次循环要做的事情)IV. 迭代部分:控制循环条件改变的增量3. while循环I. 语法:while(布尔表达式){原创 2021-02-28 23:40:58 · 278 阅读 · 0 评论 -
三、选择结构与分支结构
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录1. 基本if选择结构2. if else选择结构3. 多重if选择结构4. 嵌套if选择结构5. 分支结构:6. 局部变量:1. 基本if选择结构语法:if(布尔表达式){代码块 //当表达式结果为true,则执行该代码块}2. if else选择结构语法:if(布尔表达式){//代码块1}else{//代码块2}3. 多重if选择结构语法:if(布尔表达式){代码块1}else if原创 2021-02-28 23:22:31 · 1682 阅读 · 0 评论 -
二、语言基础
文章目录1. 前置知识2. 变量3. 数据类型4. 类型转换1. 前置知识I. 什么是内存?内存即是一块瞬时状态的存储空间,有一定的容量。II. 内存与硬盘的区别?内存的造价比较高,整个的计算机硬件资源是比较稀缺的。(内存得省着点用)工业上的瓶颈,多数大容量的内存都是由多个内存条组成的。 III. 计算机给Java程序大多的内存空间?Java虚拟机(Java程序),默认分配的物理内存容量是计算机1/8。(省着点用)IX. 计算机存储容量的基本单位?bit(位-8位等于1个字节) -原创 2021-02-11 13:22:01 · 179 阅读 · 0 评论 -
一、概述与环境搭建
目录1. java的由来2. 语言特点2.1 面向对象2.2 简单2.3 跨平台3.计算机执行机制3.1 编译执行3.2 解释执行3.3 Java的执行机制:先编译、再解释4 名词解释5 第一个Java程序6. java 文件名与公共类名必须一致7. 类的阐述8. Package包9. 命名规范1. java的由来JavaSE:Java Platform Standard Edition (Java平台标准版) CoreJavaJavaEE:Java Platform Enterprise Edit原创 2021-02-09 19:43:13 · 90 阅读 · 0 评论