java基础大全

Java基础

  1. java2标准版(J2SE):桌面端
  2. java2移动版(J2ME):手机端
  3. java2企业版(J2EE):服务器端
  • 特性和优势
  • 简单性、面向对象、可移植性、高性能、分布式、动态性、多线程、安全性。
  1. JDK:java开发工具包,包含JRE和java编译器javac、监控工具jconsole、分析工具jvisualvm等
  2. JRE:java运行环境,包含java虚拟机和java基础类库。
  3. JVM:java虚拟机
  4. java程序运行机制:解释型和编译型(先经过编译成class文件,再到操作系统通过解释器解释)
  5. IDE:集成开发环境

java基础语法

  1. 注释:单行注释//、多行注释 😕* /、文档注释 /**/。

  2. 标识符:Java中所有组成部分需要名字。类名、变量名以及方法名都称为标识符。所有的标识符都应该以字母(A-Z或者a-z)、美元符($)、或者下划线(_)开始,首字母不能以数字开头,标识符大小写是敏感的。

  3. 关键字在这里插入图片描述

  4. 数据类型:强类型语言(要求变量的使用严格符合规定,所有变量都必须先定义后才能使用)。 弱类型语言。

  5. java的数据类型分为两大类:基本类型(primitive type)和引用类型(reference type)。

  6. 变量在这里插入图片描述
    局部变量(在函数中):必须声名和初始化值 实例变量:从属对象 类变量:static。常量:使用final关键字,不能改变初始值。

  7. 数据类型在这里插入图片描述

  8. 字节在这里插入图片描述

  9. 类型转换
    在这里插入图片描述
    强制类型转换由高到低,自动类型转换是有低到高,注意:不能对布尔值进行转换,不能把对象类型转换为不相干,在把高容量转到低容量的时候,要强制类型转换,转换的时候可能存在内存溢出或者精度问题。

  10. 命名规范
    在这里插入图片描述

  11. 运算符在这里插入图片描述
    运算结果向高级别的运算符转换。

  12. 一元运算符:++、–:a++(先用后加),++a(先加再用)

  13. 逻辑运算符:&&与、||或、!非。

  14. 三元运算符:X ? Y : Z (如果X==true,结果为Y,否则为Z)

包机制

在这里插入图片描述

  1. javadoc文档:@autor 作者 @version 版本号 @sincere jdk版本

  2. 用户交互Scanner在这里插入图片描述

输入整数hasNextInt、依次类推。

  1. 顺序结构是框与框之间按从上到下的顺序进行的,它是若干个依次执行处理步骤组成的。

  2. if结构在这里插入图片描述

  3. switch多选择结构在这里插入图片描述

  4. 增强for循环在这里插入图片描述

  5. java控制流程:break continue在这里插入图片描述

  6. Java方法详解在这里插入图片描述

方法的定义在这里插入图片描述

  1. java是值传递,当进行引用传递时传入的是地址,其本质还是值传递

  2. 可变参数在这里插入图片描述

  3. 面向对象在这里插入图片描述
    在这里插入图片描述

  4. 方法的定义与调用

  5. 引用传递本质是对象,仍然是值传递。

  6. 构造器:IDEA构造方法快捷键alt+insert在这里插入图片描述

  7. 创建对象内存分析在这里插入图片描述

  8. 封装在这里插入图片描述

  9. 继承在这里插入图片描述

  10. super注意点在这里插入图片描述

  11. 重写在这里插入图片描述

  12. 多态在这里插入图片描述
    在这里插入图片描述

  13. intanceof在这里插入图片描述

  14. 抽象类在这里插入图片描述

  15. 接口在这里插入图片描述

  16. 异常在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

  17. 捕获和抛出异常:快捷键crtl+alt+t 在这里插入图片描述
    在这里插入图片描述

  18. 异常总结在这里插入图片描述

  19. 日期常用类Date、Calendar(单例模式、构造方法守保护不能new)、SimpleDateFormat(日期格式转化,一般要进行封装)

  20. String、StringBuffer在这里插入图片描述
    总结:假如定义的字符串内容基本不变或者很少变化,用String效率高;假如定义的字符串内容经常变动,要用StringBuffer。

  21. Arrays类型在这里插入图片描述

  22. 设计模式:单例设计模式 饿汉模式:在类中直接new出该类的对象,饱汉模式:在类中通过判断是否调用,再创建该对象。在这里插入图片描述

  23. java泛型在这里插入图片描述

java集合

  1. list集合:List是Collection接口的子接口,也是最常用的接口,此接口对Collection接口进行了大量的扩展,List集合里的元素是可以重复的。List接口的主要实现类有ArrayList,和LinkedList。
    在数据量不大的情况下,这两个类性能差别不大,一般情况下,集合里的元素很少变化的,一般用ArrayList,假如集合里元素经常变动,要用LinkedList;底层实现有差别的。
  2. 集合的遍历:foreach和Iterator(迭代器)
  3. JAVA集合-Set集合:Set集合是Collection接口的子接口,没有对Collection接口进行扩展,里面不允许存在重复的内容;HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。HashSet允许有 null 值。HashSet 是无序的,即不会记录插入的顺序。HashSet 不是线程安全的, 如果多个线程尝试同时修改HashSet,则最终结果是不确定的。 您必须在多线程访问时显式同步对HashSet的并发访问。HashSet 实现了 Set 接口。
  4. JAVA集合-Map集合:HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步。HashMap 是无序的,即不会记录插入的顺序。HashMap 继承于AbstractMap,实现了 Map、Cloneable、java.io.Serializable 接口。

Java IO流-IO 流简介

  1. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为

  2. 流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。

  3. IO 流的分类:根据处理数据类型的不同分为:字符流和字节流
    根据数据流向不同分为:输入流和输出流
    在这里插入图片描述

  4. Java IO流-文件操作File 类

1,public boolean mkdir() 创建此抽象路径名指定的目录。

2,public boolean createNewFile() 创建一个文件

3,public boolean delete() 删除此抽象路径名表示的文件或目录。如果此路径名表示一个目录,则该目录

必须为空才能删除。

4,public boolean exists() 测试此抽象路径名表示的文件或目录是否存在。

5,public File[] listFiles() 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文

件。

6,public boolean isDirectory() 测试此抽象路径名表示的文件是否是一个目录。
在这里插入图片描述

  1. Java IO流-InputStream和OutputStream
    InputStream是输入流 OutputStream是输出流;
    InputStream输入流可以把文件从硬盘读取到内存;
    OutputStream输出流可以把文件从内存写入到硬盘;
    我们实际使用的都是InputStream和OutputStream的子类;
    比如文件操作方面用的是FileInputStream和FileOutputStream;

  2. Java IO流-BufferedInputStream和BufferedOutputStream
    带缓冲的输入和输出流;
    这里缓冲的概念,就是在A,B之间建立内存缓冲区,读取得快,就先放缓冲区,然后再从缓冲区写入指定目标,和没有缓冲比,效率快很多。

  3. Java IO流-Reader和Writer
    主要用于文本的读取和写入,一般使用的实现类是FileReader和FileWriter;

java多线程

  1. 进程、线程、多线程在这里插入图片描述
    在这里插入图片描述

  2. Thread多线程类在这里插入图片描述

  3. 实现Runnable接口在这里插入图片描述
    在这里插入图片描述

  4. 实现Callable接口在这里插入图片描述

  5. 静态代理模式在这里插入图片描述

  6. lamda表达式在这里插入图片描述

  7. 线程状态在这里插入图片描述
    在这里插入图片描述

  8. 线程方法在这里插入图片描述

  9. 停止线程在这里插入图片描述

  10. 线程休眠在这里插入图片描述

  11. 线程礼让在这里插入图片描述

  12. 线程合并在这里插入图片描述

  13. 线程状态观测在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  14. 守护(daemon)进程在这里插入图片描述

  15. 线程同步:队列+锁在这里插入图片描述

  16. 同步方法与同步块在这里插入图片描述
    在这里插入图片描述

  17. 死锁在这里插入图片描述

  18. Lock锁在这里插入图片描述
    在这里插入图片描述

  19. 线程通信在这里插入图片描述

  20. 生产消费者问题解决方法 管程法:在这里插入图片描述
    信号灯法:设置flag

  21. 线程池在这里插入图片描述
    在这里插入图片描述

java注解

  1. 注解在这里插入图片描述

  2. 内置注解在这里插入图片描述

  3. 元注解在这里插入图片描述

  4. 自定义注解在这里插入图片描述

  5. 反射在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 得到的Class类在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  2. 有Class对象的类型在这里插入图片描述

  3. java内存分析在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  4. 分析类的初始化在这里插入图片描述

  5. 类加载器的作用在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  6. 动态创建对象执行方法在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

  7. 性能比较在这里插入图片描述

  8. 获取泛型信息在这里插入图片描述

图片转存中…(img-3Lw6rDi5-1641013902271)][外链图片转存中…(img-FlTPk9fg-1641013902271)]

  1. 反射操作注解在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值