JavaEE(简略版)
我不想谋生,我想生活。
道也自由
酷得像风,野得像狗,没有人爱,道也自由
展开
-
反射、注解、枚举——枚举
枚举枚举是用来描述几个固定的值。在java中枚举是一种特殊的类,一个枚举类包含多个枚举项,而枚举项就是枚举类的对象。//定义枚举类,表示星期,一共有7天public enum Week { //下面是7个枚举项,表示七个Week对象 SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;} public enum Week { //枚举项,其实就是枚举类的对象 SUNDAY("星期日"),原创 2021-02-05 08:44:19 · 115 阅读 · 0 评论 -
反射、注解、枚举——反射
类加载器加载配置文件//创建Properties集合Properties pro = new Properties();//自动加载src目录下的文件,转换为一个字节输入流InputStream in = Demo1.class.getClassLoader().getResourceAsStream("config.properties");//读取配置文件pro.load(in); System.out.println(pro);反射通过反射可以获取任意类的它的各个组成部分(成员原创 2021-02-05 08:42:55 · 107 阅读 · 0 评论 -
反射、注解、枚举——xml解析
XMl概述xml是可扩展的标记语言。它的标签都是自定义的,然后通过程序员写代码自己进行解析。html的标签是预定义好的,每一个标签都有特定含义,这些标签可以被浏览器直接识别。xml一般用来作为配置文件使用,它可以表示具有层次结构的数据。xml标签的规则1.标签都有由一对尖括号组成的2.标签一般都是成对出现的,开始标签和结束标签的名称是一样的 <student></student>3.标签可以是单独的一个标签,必须要有结束标签 <student/>4.标原创 2021-02-05 08:37:43 · 118 阅读 · 0 评论 -
网络编程——Socket编程
网络编程的三要素ip地址:网络中某一台主机的唯一标识 ipV4: 32位组成,采用点分十进制表示法: 192.168.1.66 ipV6: 128位组成,采用冒分十六进制表示法: fe80::a0ca:ef4a:766c:62d3%13 ip的命令 ipconfig: 查看本机的ip地址 ping 域名/ip地址: 查看网络是否连通 端口号:主机上连接网络的应用程序的一个标识(0~65535)通信协议:数据传输的规则 UDP:面向无连接的不可靠的协议 TCP:面向原创 2021-02-04 09:31:52 · 165 阅读 · 0 评论 -
多线程——多线程高级
生产者消费者案例自己实现等待和唤醒由于CPU的随机性,多个线程在执行的时候是在相互抢夺CPU的执行权。为了让多个线程协同工作,可使用等待和唤醒机制。消费者和生产者案例就是一个很经典的,利用等待和唤醒,让多个线程达到协同工作的效果。满足的是一种供需关系。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pM6jSBZ8-1612402231375)(assets/1603508136981.png)]//桌子public class Desk { //默认生产1原创 2021-02-04 09:30:57 · 235 阅读 · 0 评论 -
多线程——多线程基础
多线程概念并行和并发1.并行:多个指令多核CPU上同时执行2.并发:同一个CPU核心,交替执行多条指令进程和线程1.进程:正在执行的程序2.线程:线程是进程中的一个执行单元(路径),如果一个进程中包含多个线程,这个程序就是多线程程序。 QQ、迅雷、360、飞秋等创建线程的方式线程的实现方式1Java的API提供了一个Thread类表示线程,创建一个Thread及其子类对象,即是线程对象。1.写一个Thread的子类2.复写run方法3.创建子类对象4.调用start()方法原创 2021-02-04 09:30:22 · 89 阅读 · 0 评论 -
IO流——其他流
其他流打印流(了解)打印流有两个PrintWriter和PrintStream,它们的方法都是一样的。打印只能写数据,不能读数据。可以使用Writer或者OutputStream的write往文件或者控制台写数据。也可以使用print和println方法,往文件或者控制台写数据。//创建流对象,输出目的:IODemo\a.txt//PrintWriter pw=new PrintWriter("IODemo\\a.txt");//PrintWriter pw=new PrintWriter(n原创 2021-02-04 09:29:30 · 111 阅读 · 0 评论 -
IO流——字符流
字符流由于使用字节流读取中文,可能存在乱码的问题。所以Java语言提供了字符流,给开发者使用,专门用于读取文本文件。字符流的体系字符流:读写字符数据的(只能读取文本文件) 字符输入流: Reader -- FileReader -- BufferedReader -- InputStreamReaer: 把InputStream转换为Reader,指定编码表 字符输出流: Writer -- FileWriter原创 2021-02-04 09:27:17 · 67 阅读 · 0 评论 -
IO流——字节流
IO流概述IO流是用来处理数据在存储设备之间的传输。根据流向的不同,分为输入流和输出流;根据读写数据的类型不同分为字节流和字符流。IO流的分类1.按照流向分类 输入流:读取数据的 输出流:写入数据的2.按照读写的数据分类 字节流:读写字节数据的(读任何文件) 字节输入流(读): InputStream -- FileInputStream -- BufferedInputStream 字节输出流(写): OutputStream原创 2021-02-04 09:26:27 · 84 阅读 · 0 评论 -
IO流——File类
File类File既能表示文件,也能表示文件夹,需要指定一个路径。File构造方法构造方法是用来创建对象的,既能创建文件的对象,也能创建文件夹的对象。public File(String pathname) 通过字符串路径创建File对象public File(String parent, String child) 通过字符串的父路径和子路径创建File对象public File(File parent, String child) 通过父路径和子路径常见F原创 2021-02-04 09:25:56 · 46 阅读 · 0 评论 -
Lambda和Stream流——Stream流
可变参数可变参数可以让方法接收多个同类型的参数,其本质是一个数组。可变参数的格式public static void method(数据类型... 变量名){ //把可变参数的变量,当做数组来使用即可。}注意:如果方法的参数除了可变参数,还有其他参数,那么可变参数必须放在最后一个。举例:求多个整数的和//可变参数public static int getSum(int... arr){ int sum=0;//求和变量 for(int i=0;i<a原创 2021-02-04 09:24:52 · 139 阅读 · 0 评论 -
Lambda和Stream流——Lambda表达式
内部类内部类根据在类中的位置不同分为三种1. 成员内部类: 在类的成员位置2. 局部内部类: 在方法中3. 匿名内部类: 在方法中,是一种简化的写法成员内部类public class Outer{ //成员变量 int num=10; //成员内部类 public class Inner{ //内部类的,成员变量 int num=20; //内部类的,成员方法 public void s原创 2021-02-04 09:21:45 · 465 阅读 · 0 评论 -
集合框架——Stream流式编程
可变参数可变参数可以让方法接收多个同类型的参数,其本质是一个数组。可变参数的格式public static void method(数据类型... 变量名){ //把可变参数的变量,当做数组来使用即可。}注意:如果方法的参数除了可变参数,还有其他参数,那么可变参数必须放在最后一个。举例:求多个整数的和//可变参数public static int getSum(int... arr){ int sum=0;//求和变量 for(int i=0;i<a原创 2021-02-04 09:19:51 · 137 阅读 · 0 评论 -
集合框架——HashSet集合、Map集合
红黑树(了解)1.对于每一个节点,都有一个颜色属性要么是黑色,要么是红色2.根节点是黑色的3.对于任意一个节点没有子节点或者没有父节点,我们就把它的子节点称之为叶子节点(Nil)4.对于一个红色的节点,它的子节点必须是黑色5.对于任意一个节点,到其叶子节点的简单路径的黑色节点数目相同添加元素的默认颜色: 1.默认节点的颜色为红色添加元素,如果打破了红黑规则,如何在恢复红黑规则。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dd5dQ30q-16123原创 2021-02-03 21:19:22 · 112 阅读 · 0 评论 -
集合框架——TreeSet集合
泛型泛型就是一种不确定的数据类型,使用<字母>,可以使用在类上,方法上和接口上。泛型类泛型类,指的是在类上有一个确定的数据类型,在创建该类对象时确定其数据类型。//<E>: 表示一种不确定的数据类型public class Box<E> { //定义一个变量 private E element; public E getElement() { return element; } public void原创 2021-02-03 21:18:20 · 181 阅读 · 0 评论 -
集合框架——Collection集合
集合和数组的区别1.数组:长度是固定的,元素可以是基本类型,也可以是引用类型2.集合:长度是可变的,元素只能是引用数据类型集合的继承体系集合的体系结构,非常重要,经常会用到。Collection(单列集合的根接口) --List(接口):元素是有索引的,可以重复,有序的 --ArrayList:底层是数组结构,查询快增删慢 --LinkedList --Set(接口): 元素是无索引,不能重复,无序的 --Hasdset --T原创 2021-02-03 21:17:22 · 80 阅读 · 0 评论 -
常用类的API——数组高级和递归
数组高级二分查找二分查找思路: 查找元素的索引,一次排除一半的元素 1.计算开始索引和结束索引 start = 0; end = array.length-1 2.计算中的索引 mid = (start+end)/2; 3.让中间元素和目标元素key进行比较 array[mid]>key 时: end=mid-1 array[mid]<key 时:start=mid+1 arr原创 2021-02-03 21:15:41 · 96 阅读 · 0 评论 -
常用类的API——BigDecimal类
Object类Object是所有类的父类,所以任意类的对象都可以调用Object类的方法。public String toString() 把对象转换为一个字符串(表示的是对象的地址) 如:com.itheima.demo2.Student@7c30a502 注意:一般子类会复写toString()方法,返回自己的属性值。 public boolean equals(Object obj) 比较两个对象的地址是否相等。 注意:一般子类会复写equal原创 2021-02-03 21:14:39 · 210 阅读 · 0 评论 -
常用类的API——Arrays等工具类
Math类Math是一个专门用于做一些基本数学运算的工具类public static double abs(double a) 返回 double 值的绝对值。 public static double max(double a, double b) 返回两个数的最大值public static double min(double a, double b) 返回两个 double 值中较小的一个。 public static double pow(double原创 2021-02-03 21:13:47 · 124 阅读 · 0 评论 -
常用类的API——Exception异常
异常异常指的是程序在编译或者运行时出现不正常的现象。 Java语言的设计者,把一些常见的问题封装了异常类,有些异常是有共性的,所以就有了异常体系。Throwable:异常体系的根类 --Error: 严重的错误 --Exception: 异常 --RuntimeException及其子类: 运行时异常 --非RuntimeException及其子类: 编译时异常虚拟机默认处理异常当程序出现的异常,虚拟机默认停止程序运行,并且把异常信息打印在控制台。异常信息:Exception i原创 2021-02-03 21:11:27 · 1567 阅读 · 0 评论 -
常用类的API——时间日期类
JDK8前时间类Date类Date表示一个时间,时间精确到毫秒。时间的原点是1970年1月1日0时0分0秒; 在中国时间原点在国际标准时间基础上加8个小时。public Date() 创建一个Date对象,表示的时间是当前系统时间。public Date(long date) 创建一个Date对象,表示的时间是指定毫秒值。-----------------------------Date date1=new Date(); //当前时间Date date2=new Date原创 2021-02-03 21:10:30 · 145 阅读 · 0 评论 -
常用类的API——Integer包装类
BigDecimal类BigDecimal可以对任意精度的数据进行运算,甚至可以运算超过long类的数据。//创建BigDecimal对象,就是把数据封装成对象。BigDecimal bd1 = new BigDecimal("80.3");BigDecimal bd2 = new BigDecimal("4.5");//对两个数据进行四则运算 //加法BigDecimal db3 = bd1.add(bd2);System.out.println(db3);//减法BigDecima原创 2021-02-03 21:09:40 · 121 阅读 · 0 评论 -
常用类的API——String类
String类概述字符串特点1.字符串字面值(如 "abc" )都作为此类的对象2.字符串是常量,它们的值在创建之后不能更改.字符串创建对象创建字符串对象,需要查看API中字符串的构造方法。提供了多种创建对象的方式。byte[] bs = {97, 98, 99, 100}; //ASCII编码表//String(byte[] bytes) : 利用字节数组创建字符串对象String s1 = new String(bs);System.out.println(s1); //abcd原创 2021-02-03 21:07:27 · 146 阅读 · 0 评论