Javase基础知识点
Java 是由 Sun Microsystems 在 1995 年首先发布的编程语言和计算平台,javase的基础知识点
@欧阳先生
这个作者很懒,什么都没留下…
展开
-
JAVA基础知识点23-Stream、单例模式
Stream:Stream 流集合侧重数据的存储stream测试数据的计算把数据源中的数据进行流式操作步骤: 1.获取stream 2.流式的中间操作 3.终止行为|操作注意: 1.stream不会修改原数据源中数据的 2.stream的中间操作每次回返回新的流,流是一次性的流 ,无法重复使用 3.惰性加载,延迟执行public class StreamDemo01 { static List<String>.原创 2020-12-14 20:02:50 · 184 阅读 · 0 评论 -
JAVA基础知识点22-反射、注解、正则表达式、xml
反射:反射操作方法反射操作属性 字段 getField(String name) 返回 字段对象,该对象反映此 类对象表示的类或接口的指定公共成员字段。 字段[] getFields() 返回一个包含 字段对象的数组, 字段对象反映此 类对象所表示的类或接口的所有可访问公共字段。 字段 getDeclaredField(String name) 返回 字段对象,该对象反映此 类对象表示的类或接口的指定声明字段。 字段[] getDeclaredFields() 返回原创 2020-12-14 19:57:07 · 117 阅读 · 0 评论 -
JAVA基础知识点21-网络编程、IP、端口、统一资源定位符(URL)、协议、套接字、UDP、反射
IP、端口:IP: 定义节点 IPV4 : 4个字节 32位 IPV6 : 8个字节 192.168.0.0~192.168.255.255 供组织内部使用的IP 127.0.0.1 本地IP localhost 本地 IP 与 域名: DNS|域名解析器 InetAddress端口:区分软件 2个字节 0~65535之间的整数表示端口号 8000的端口号为预留端口号 常见的端口号: 80: http .原创 2020-12-10 19:35:29 · 181 阅读 · 0 评论 -
线程通信 - 人车公用街道 - 案例
public class Demo06 { public static void main(String[] args) { //共享的街道 Street street = new Street(); //人车共享街道 new Thread(new Person(street)).start(); new Thread(new Car(street)).start(); }}class Street{.原创 2020-12-09 09:08:48 · 124 阅读 · 0 评论 -
JAVA基础知识点20-线程状态、礼让线程、join插队线程、守护线程与用户线程、线程优先级、线程通信、线程安全问题
线程状态:线程状态: 新生状态: new 就绪状态: start()准备好了,进入就绪队列,等待cpu的调度 运行状态: 当cpu调度某一个线程,这个线程获取线程体,执行线程体中的代码 阻塞状态: 线程无法正常执行 终止状态: 线程结束 注意: 一个线程如果一旦进入终止状态无法恢复,new了也是一个新的线程 如果一个线程一旦进入到阻塞状态,阻塞接触会直接恢复到就绪状态不会恢复运行状态 一个线程如何进入到就绪.原创 2020-12-09 09:02:55 · 101 阅读 · 0 评论 -
JAVA基础知识点19-Properties、Collection、如何处理HashMap的线程安全问题、四大内置函数式接口、多线程优缺点、线程和进程,并发和并行、线程的创建两种方法
Properties 属性列表中的每个键及其对应的值都是一个字符串。 Properties可以保存到流中或从流中加载。 作为配置文件使用: 1.在项目下定义一个文件xx.properties ->键值对的数据,默认都是字符串 通过Properties实现软编码 Properties作为配置文件特点: 可以存储简单的键值对数据,操作也简单Properties pro = new Properties();Collections 操作集合的工具类voi...原创 2020-12-07 20:46:23 · 178 阅读 · 0 评论 -
JAVA基础知识点18-List 与 Set之间的区别、TreeSet、HashSet、Map<K,V> 接口、HashMap、Hashtable、TreeMap、内外部比较器
List 与 Set之间的区别: 都是Collection接口的子接口,可以存储多个数据,但是每个数据只能为一个值 都继承了Collection的能力 List 有序可重复,拥有一些可以根据索引操作的方法 Set 无序不可重复 去重逻辑: e1.equals(e2)的返回值决定,和最多一个null元素。 HashSet --> HashMap TreeSet --> TreeMap -->TreeSe..原创 2020-12-07 20:28:48 · 171 阅读 · 0 评论 -
JAVA基础知识点17-容器、List接口、ArrayList、Vector 向量 与 ArrayList 区别、LinkedList
数组的特点: 定长 类型一致 存储多个数据 索引,根据索引操作数组效率高 引用数据类型 容器体系: 系列的容器类 可变长,操作灵活 任意类型的数据 只能存储引用数据类型public class CollectionDemo02 { public static void main(String[] args) { //容器对象 //多态 col能够调用的方法为Collection接口中存在的..原创 2020-12-04 21:32:17 · 127 阅读 · 4 评论 -
JAVA基础知识点16-IO流、字节流、字符流、Commons-IO 第三方的开源组件
int read() 从此输入流中读取一个字节的数据。 返回值: 数据的下一个字节,如果到达文件的末尾, -1 。每次读取一个字节的数据,当数据个数非常多, 重复读取多次-->循环简化public class IODemo02 { public static void main(String[] args) throws IOException { //1.创建流 InputStream is = new FileInputStream("D..原创 2020-12-03 21:16:23 · 110 阅读 · 0 评论 -
JAVA基础知识点15-基本数据类型的包装类、枚举、Date、SimpleDateFormat 日期格式化类、Math数学类
基本数据类型的包装类: byte --> Byte short --> Short int --> Integer long --> Long float --> Float double --&g..原创 2020-12-02 21:20:39 · 251 阅读 · 0 评论 -
JAVA基础知识点14-异常抛出、捕获、自定义异常,工具类,String,StringBuffer ,StringBuilder
Arrays 工具类 静态工厂import java.util.Arrays;public class ArraysDemo01 { public static void main(String[] args) { int[] arr1 = new int[]{4,2,1,3,5}; int[] arr2 = new int[]{4,2,1,3,5}; int[][] deepArr1 = {{1,2,3},{4,5}}; .原创 2020-12-01 21:15:23 · 267 阅读 · 0 评论 -
JAVA基础知识点13-数组、二维数组
数组: 相同数据类型的有序集合 1.引用数据类型 [] 2.长度一旦确定不可改变,定长 3.数据类型相同 4.有序 从0开始,一段连续的内存空间公式: 数据类型[] 数组名 = new 数据类型[长度];一维数组 的遍历: 1)for 普通 2)for .. eachpublic class ArrayDemo { public static void main(String[] args) { ..原创 2020-11-29 14:54:45 · 118 阅读 · 0 评论 -
JAVA基础知识点12-接口、内部类、成员内部类、私有内部类、静态内部类、匿名内部类、局部内部类、lambda
接口: 公共的抽象方法 公共的静态的常量父类:接口:java8新增: 可以在接口中定义带有方法体的方法 静态方法 : 根据接口名使用 默认方法 : 根据实现类使用内部类: (理解) 类中定义类 当类中的成员也是一种事物,可以把这个成员定义为内部类内部类的分类: 1.成员内部类 2.私有内部类 3.静态内部类 4.匿名内部类 *** 5.局部内部类 lambda 1.成员内部..原创 2020-11-29 14:40:30 · 157 阅读 · 0 评论 -
JAVA基础知识点11-多态、多态的调用、面向对象、abstract、接口
多态引用调用时候,对子类新增成员不可见多态前提下,想要调用子类的新增内容怎么办-->向下转型转型: 基本数据类型类型转换 Cast 孔子装爹: 孔子爹类: class 孔子爹{void teach(){做生意..}} 孔子类 : class 孔子 extends 孔子爹{void teach(){讲论语..}; void play(){吃鸡...}} 一个人来找孔子爹去授课,但是不巧,孔子爹外出..,只有孔子在家 --..原创 2020-11-27 21:50:21 · 132 阅读 · 0 评论 -
JAVA基础知识点10-Package 与 import、Javabean、面向对象的三大特性、重写与重载的区别、final、super关键字this之间的区别、Object 老祖宗类
Package 与 importPackage: 包: 相当于系统中的文件夹 作用: 1.管理众多的java资源 2.提供多重命名空间 包信息 : 存在java类的首行 定义规范: 全部 小写,每个层级之间使用.分隔 公司域名倒着写.功能名字|模块名字import: 想要在A类中使用B类,(创建B类的对象,调用B类中的静态内容) 不需要导包的类: 1.同包下的 ..原创 2020-11-26 21:44:25 · 149 阅读 · 0 评论 -
JAVA基础知识点09-new关键字、this 关键字、static、块block、Person 模板类、
new关键字做的事情: 1.在堆中为对象开辟空间,成员变量会跟随对象进入到堆内存并附默认值 2.调用构造器为对象初始化信息 3.将地址返回给引用构造器|构造方法|构造函数: 就是特殊的方法使用: 必须只能跟随new关键字使用作用: 只能new关键字才能创建对象,构造器只能为对象初始化信息(就是为对象的成员变量赋值) ,不能创建对象定义: 修饰符 类名(){ } 构造器不需要定义返回值和void 可以定义retur..原创 2020-11-25 14:39:40 · 228 阅读 · 0 评论 -
JAVA基础知识点08-面向对象
面向对象1.面向对象 与 面向过程的区别: 面向对象,面向过程是一种思想,思维方式,思考问题的角度 面向过程: "我该如何实现?",然后一步一步实现就可以了 面向对象: "我应该找谁完成?" '谁'就是这个对象,但是对象如何实现,我们不关注 面向对象依托于面向过程,方法内部具体功能的实现是面向过程的2.面向对象的优点: 1.可以将复杂的问题简单化 2.更符合现实生活中人们的思维角度 3.面向对象更符合管理者的角度,面向过程更执行者的角度3..原创 2020-11-23 20:14:22 · 73 阅读 · 0 评论 -
JAVA基础知识点07-递归、数组
递归:(了解) 自己调用自己 递归前进段 : 从开始自己调用自己到临界条件,过程称为递归前进段 递归后退段 : 从临界条件开始返回到上一层,过程称为递归后退段 临界条件: 停止自己调用自己的条件 递归头 : 临界条件 递归体 : 自己 调用 自己public class RecursionDemo06 { public static void main(String[] args) { int result = rec(..原创 2020-11-22 19:38:48 · 93 阅读 · 0 评论 -
JAVA基础知识点06-方法,封装、方法的调用、参数、return关键字、不可达语句、方法的重载
方法: 解决事情的办法 封装功能的要求: 类中方法外,方法不能嵌套 方法不调用不执行定义: 有返回值类型的方法 修饰符 返回值类型 方法名(参数列表){ 方法体 return 返回值; } 修饰符: 访问权限修饰符 ->public static 默认 返回值类型: 数据类型: 基本|引用 分析: 在方法..原创 2020-11-20 21:33:37 · 198 阅读 · 0 评论 -
JAVA基础知识点05-循环语句、for循环、while循环、do...while循环、break,continue终止语句、循环嵌套
循环语句: 重复做某件事 for 循环 重要等级:***** while 循环 重要等级:**** do..while 循环 了解 语法: for(条件初始化;条件判断;条件变化){ 重复执行的代码; } 条件初始化: 声明一个变量并且赋值 int i = 1; 条件判断 : 对变量i的判断,决定循环体{}重的代..原创 2020-11-20 21:22:43 · 218 阅读 · 0 评论 -
JAVA基础知识点04-随机数、流程控制语句、单分支、双分支、多分支、switch语句
键盘输入 接受字符串的功能: next() 从有效字符开始接收,非空格字符,不能包含空格,一旦遇到空格就不再接收,但是 功能还没结束,enter才能结束功能 nextLine() 接收用户输入的一整行的内容,包含空格import java.util.Scanner;public class ScannerDemo07 { public static void main(String[] args) ..原创 2020-11-20 21:14:23 · 238 阅读 · 4 评论 -
JAVA基础知识点03-运算符、引用数据类型、键盘输入
算数运算符: +++-- 自增自减赋值运算符: 基础赋值运算符 = 双目运算符 是java中唯一一个自右向左运算的符号 扩展赋值运算符(基础赋值运算符+算数运算符) += -= *= /= %= a+=1; =>a=a+1; a%=1; =>a=a%1; 推荐使用 优点: 执行效率高 编..原创 2020-11-19 21:09:34 · 187 阅读 · 0 评论 -
JAVA基础知识点02-数据类型转换、运算符
JAVA基础知识点1.数据类型转换2.运算符1.数据类型转换: 1.boolean类型不参与类型转换 2. 自动类型提升 大范围类型的变量 变量名 = 小范围类型的数据; 注意: 参数计算的数据的数据类型存在多种,结果的数据类型 会提升成为参与运算中的最大的数据类型 如果参与运算的数据类型为short,byte,char,最终的结果提升成为int类型原创 2020-11-18 09:01:46 · 182 阅读 · 2 评论 -
JAVA基础知识点01-变量、驼峰命名、数据类型
JAVA入门知识点变量: 可变的量 在程序执行过程中,其值可以发生改变的量 相当于造盒子 盒子就是变量 盒子的名字是变量名 盒子中存的内容 是变量的值 变量的作用: 存储数据 存储单个数据 变量就是: 在内存中开辟一个块内存 空间,用来存储对应类型的数据 常用的数据类型: 整数int 小数double 字符char' ' 布尔boolean 字符串""String语法: 数据类型 变量名 = 变量值;原创 2020-11-18 08:48:15 · 290 阅读 · 2 评论