
JavaSE
重新学一遍
脱氧核糖不酸
精神里不肯偏安一隅,孤独上不愿随波逐流
展开
-
JavaEE_day_25_Lambda、SteamAPI
目录lambd表达式SupplierConsumerFunctionPredicate方法引用简写构造方法简写数组声明简写StreamAPI1.lambd表达式lamada表达式函数必须保证所传递函数是只有一个抽象方法的接口类.相当于匿名内部类(一个一次性的单一抽象方法接口类)的升级版,在箭头函数调用lamuda表达式时,必须与抽象方法一一对应,否则调用失败报错单句不想返回,则加{}不用加return,Integer [] arr = {1,5,4,2,8,3,4,9};原创 2021-02-03 15:18:24 · 134 阅读 · 0 评论 -
JavaEE_day_24_网络编程、正则表达式
目录网络编程 1. 网络编程tcp通信流程代码实现服务器端public static void Server() throws IOException{ //创建端口 ServerSocket ss = new ServerSocket(8080); System.out.println("服务器启动"); //把对象Socket传入skt(客户端) Socket skt = ss.accept(); System.out.println("客户端已连接"原创 2021-02-02 23:17:29 · 96 阅读 · 0 评论 -
JavaEE_day_23_死锁、线程通信、线程池、懒汉多线程优化
目录守护线程定时器 Timer锁对象死锁挂起/唤醒挂起/唤醒1.守护线程简单来说,就是没有任何一个线程的时候,JVM就需要退出了,这个时候守护线程也会退出,主要完成垃圾回收等功能>在没有其他线程存在时,守护线程自动退出,坚持到最后一个结束设置守护线程//Thread.setDameon() //true启动守护线程,false关闭守护线程t1.setDaemon(true);2.定时器 Timer计划任务,只要有一个任务监听就会是一个线程1 执行任务的类原创 2021-01-31 15:18:25 · 119 阅读 · 0 评论 -
JavaEE_day_22_线程介绍、生命周期、线程同步
目录并行并发Thread(线程)1.并行并发并行: 多个任务同时刻开始执行(对于多个设备)并发: 多个任务同时间片执行(对于单个设备) 2.Thread(线程)创建线程有两种方式,但是启动线程只有一种方式,就是调用线程对象中的start()方法Thread t1 = new Thread(new process()); Thread t2 = new Thread(new process()); Thread t3 = new Thread(new Runnable(){原创 2021-01-28 20:59:46 · 105 阅读 · 0 评论 -
JavaEE_day_21_File类、序列化流、Properties
目录数据流对象流序1.数据流为了方便地操作Java语言的基本数据类型和String的数据,可以使用数据流。里面新添加很多有关数据类型与字符串的方法boolean readBoolean() char readChar() double readDouble() long readLong()String readUTF()byte readByte() float readFloat() short readShort() int readInt()voi原创 2021-01-27 15:41:44 · 96 阅读 · 0 评论 -
JavaEE_day_20_IO 概述、文件流、缓冲流、转换流、打印流
1.概述简单来说 就是设备之间的数据传递称为流流的本质就是数据的传输,根据不同的数据传输特性,抽象出各种类,方便我们直接操作数据2.InputStream3.OutputStream4.文件流1 FileInputStream 字节输入2 FileOutputStream 字节输出3 FileReader 字符输入4 FileWriter 字符输出 // 将输入流提出原因:内部作用域够不到finally的作用域. // 赋值为null的原因:try原创 2021-01-26 21:37:28 · 85 阅读 · 0 评论 -
JavaEE_day_18_比较器、Map、散列
1.查漏补缺排序如果 添加的元素的类 是我们写的我们应该使用 Comparable , 因为对扩展开发,其他人还可以使用 Comparator, 实现新的排序功能因为(Comparator优先级高)如果 添加的元素的类 不是我们写的该类有排序(实现了Comparable) 比如Integer,但是 默认排序结果不是我们想要的,那么我们可以使用Comparator进行调整排序,因为优先级高如果该类没有实现排序(没有实现Comparable), 这时候我们需要使用Compara原创 2021-01-24 13:21:27 · 141 阅读 · 0 评论 -
JavaEE_day_17 (集合概述、List、Set、比较器)
1.Collection集合基本类型真的不能存吗? 真的,因为基本类型和Object没有关系,但是 可以把基本类型转换为对应的包装类类型,而 包装类 是Object的子类,这样就能间接存储基本类型了通过继承体系发现,集合中两大分类,List和Set 并且两个都继承了Collectionboolean add() : 添加元素void clear() : 清空集合boolean remove() 删除某个元素boolean isEmpty() 判断集合中是否为空bo原创 2021-01-22 21:26:50 · 106 阅读 · 0 评论 -
JavaEE_day_16 (常用API、异常机制)
1.日期,时间类 Date略,查找API文件即可2.枚举类 Enum定义常量的类//枚举类final class Result { public static final String SUCCESS = "SUCCESS"; public static final String FAIL = "FAIL";}//或者这么写enum ResultEnum { SUCCESS,FAIL}3.随机数 Random// 1 创建对象 Random r = new Random()原创 2021-01-21 23:20:27 · 82 阅读 · 0 评论 -
JavaEE_day_15 (常用API)
1.String类java特性:字符串内容会保存在字符串常量池中(方法区) 栈内存的引用指向字符串常量池里的对象.以new的方式创建String对象,会在堆内存开辟空间,new引用指向,堆内存保存常量池地址String s = new String("123");String s1 = new String ("123");s == s1; //false 以普通方式创建,在常量池中创建对象,引用指向常量池对象.(常量池中创建的对象若值相同则只创建一个对象)String s原创 2021-01-20 19:35:56 · 83 阅读 · 0 评论 -
JavaEE_day_14 (内部类、设计模式)
1.局部内部类局部内部类等同于局部变量注意 : 局部内部类 在访问外部方法中的局部变量的时候需要加final修饰(1.8之前),从1.8开始 final可以省略局部内部类中,不能有静态声明如果是成员方法中的局部内部类,可以访问外部类中所有 的属性如果是静态方法中局部内部类, 不可以直接访问外部类的成员属性public static void m2() { int i = 2; class InnerClass { // 不能有静态声明 // public static v原创 2021-01-19 20:53:07 · 76 阅读 · 0 评论 -
JavaEE_day_13 (Object、类关系、内部类、设计模式)
1.Object1. equals方法:public boolean equals(Object object){ return this == Object object;}//各方法类有不同的覆写方法//比如Intager类public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject ins原创 2021-01-18 21:54:43 · 98 阅读 · 1 评论 -
JavaEE_day12 (多态、抽象类、接口)
1.软件设计六大原则1单一职责原则 : 功能职责单一,只拥抱一种变化2里氏替换原则 : 所有在使用父类的情况下,都可以使用子类3依赖倒置原则 : 高层通过抽象依赖底层,4接口隔离原则 : 不应该依赖于它不需要的接口5迪米特原则 : 最少知识原则6开闭原则 : 对扩展开放,对修改关闭2.多态 polymorphism多态:父类引用指向子类对象;多态的好处为:可以调用子类的覆写,和父类本身的属性, 但是不能调用子类特有的属性调用时父子相同的属性时,调用父类属性...原创 2021-01-16 12:19:36 · 127 阅读 · 2 评论 -
JavaEE_day11 (继承、super、final、覆写)
1.继承继承提高代码复用性,只支持单继承, 一个类只能有一个父亲,一个父亲可以有多个子类语法 : public class 类名extends 父类名{ 类体 }ava.lang.Object 是java中的祖类(祖宗)2.super.super 用法 : 1 用于成员/构造方法中区分子类和父类同名的成员属性 2 用于子类构造方法中,调用父类构造方法(必须出现在子类构造方法的第一行)super.表示调用父类的某些方法(用来区分子类和父类重名的一些方法)super();用于调用父原创 2021-01-14 20:49:25 · 101 阅读 · 2 评论 -
Java_EE_day10 (面向对象,this,static,静态调用,修饰符, 包机制)
1.有参构造器//必须让用户输入某些参数,必须不能缺少的参数, 若是缺失就会报错(无参构造方法)public Student(int age, String name, String sex){ sout;}2.this用于区分, 重名的局部变量和成员变量int age;public static void setValue(int age){ this.age = age; //this.age代表成员的age变量} 3.静态语句块只有static修饰的语句块 , 类加载时原创 2021-01-13 18:56:43 · 131 阅读 · 1 评论 -
Java_EE_day09 (面向对象编程)
1.对象加载实例化1 加载类到静态区2 调用构造方法(栈内存压栈,开辟栈帧),在堆内存开辟内存空间3 把对应类中的成员属性复制到堆内存中4 再把堆内存内存地址赋值给栈内存遍历Student stu = new Student();2.get/set方法//用于某变量被私有化后, 不能直接对变量进行更改赋值等操作时使用.private int age; // 对外提供一个公共的方法,便于访问这个变量 //此set方法规范了,变量的输入方式,(age必须小于0输入,否则返回0)原创 2021-01-12 20:00:54 · 65 阅读 · 1 评论 -
JavaEE_day_08
1.二分法查找二分法查找 :1 建立在排序的基础之上2 数据没有重复元素,如果有,先找到那个算哪个3 用于查找固定有序的数据算法实现 :1 确定起始和结束位置2 确定中间数据,判断中间数据是否为目标数据,如果是直接返回3 如果目标数据小于中间数据,则 起始值不变,结束值 为 中间值 -14 如果目标数据大于中间数据,则 结束值不变,起始值 为 中间值 +15 如果 起始值 大于 结束值 终止比较,说明不存在6 重复执行以上操作即可//二分法查找 public static in原创 2021-01-11 21:43:16 · 105 阅读 · 0 评论 -
JavaEE_day_06 (数组, foreach)
0.数组的声明方式//静态数组int [] a= {1,2,3} ;int [] a = new int [] {1,2,3};//动态数组int [] a = new int [4];int[][] array4 = new int[2][3];1.数组的方法特性由于数组在内存中是连续存储, 所以数组的增删改查中, 改查比较快 (链表增删快)2.引用型数组的存储方式引用型数据类型,需要两部分空间: 栈内存与堆内存的各存一块, 栈内存保存地址,堆内存保存对象数据.3.数组下标为原创 2021-01-05 20:50:50 · 151 阅读 · 0 评论 -
JavaEE_day_05 (递归应用)
1.一些递归的方法//1-100的和 public static int sum(int a){ if(a != 0){ return a+ sum(--a); } return a; }//1-100偶数和public static int sum1(int i){ if (i % 2 == 1) { i --; } if (i <= 1 ) { return 0; }else{ return i + sum(i - 2); }原创 2021-01-04 20:05:21 · 97 阅读 · 0 评论 -
JavaEE_day_04 (方法,内存管理, 运行流程)
1.查漏补缺short 和byte相加得到int型,(当byte, short, int, char 混合计算时都变成int)byte b = 1;short s = 1;char c = 'A';byte bb = b + s + c; //报错int ii = b + s + c; //正确long ll = b + s + c; //先变为int , 然后自动转换成long型double 优先级最高 , 除了布尔类型都能转换为double无论是整数或是字符型都能转换为doub原创 2021-01-03 18:43:55 · 119 阅读 · 2 评论 -
javaEE day_03 (分支,循环,switch,outerFor)
1.昨天的查漏补缺1.1. char的类型转换:char c = 'A';int i = 1;i = i + c; //65+1=66c = i + c; //报错c = (char) (i + c); // 'B'1.2 浮点类型与整数类型不能自动转换2.有关+= *= /= %= 运算符2.1 当高精度往低精度转换时会自动转换,尽管会损失精度.byte i = 1; i = i + 1;//报错,int转换为byte时会损失精度 i += 1;//正确 //+=/++/--原创 2021-01-02 19:46:25 · 206 阅读 · 0 评论 -
javaEE day02 (数据类型,变量,运算符)
1.数据类型之定义long l1 =13456789L;float f1 = 2.32f;float f2 = 2.3F;//写成这样都可以2.默认值boolean的默认值为false (且不参与任何数据转换)byte, short, int, long 都为0char为 “\u0000”3.变量种类局部变量: 方法体内部定义的变量 见变量a成员变量: 类中没有被static修饰的变量 见变量i静态变量: 类中被static修饰的变量 见变量cpubli原创 2020-12-31 19:05:01 · 126 阅读 · 0 评论 -
javaEE day01 (eclipse的配置)
1.有关eclipse前期配置字符编码window->preferences->workspace字体大小window->preferences->general->apperance->colors and Fonts->basic->text font->edit…2.有关eclipse导入项目右键->import->general->existing projects into workspace在工作空原创 2020-12-30 19:54:20 · 131 阅读 · 2 评论