
JavaEE基础
文章平均质量分 84
Java基础概念以及各种常见问题解释
阿福真的不想掉头发
学习Java,WEB中的心得
展开
-
《学习笔记D24》Java8新特性
一、JDK8接口特性1、JDK8中,接口不仅能定义抽象方法,还可以定义非抽象方法2、抽象方法和以前一样,默认加上public abstract,不能有方法体3、非抽象方法拥有方法体,但是修饰符只能是default或者staticpublic class Test01 { public static void main(String[] args) { Myinter.test2(); }}interface Myinter{ public abstract void test1原创 2020-11-23 18:22:44 · 80 阅读 · 0 评论 -
《学习笔记Day 23》枚举类型详细介绍以及网络编程TCP、UDP的代码实现,附加print和println底层
一、枚举类型(一)概念1、就是描述对象个数是有限个的类型2、声明一个枚举类型,使用关键字enum。枚举类型声明出来也是一个类型,编译过后也是一个.class文件(二)自己实现枚举的第一种格式和使用枚举格式完成1、自己实现:使用老汉式,在一个类中多定义几个对象就是枚举2、枚举实现:(1)使用enum关键字声明一个枚举类型(2)在枚举类型中,声明罗列各个对象的名称(3)在声明罗列各个对象时,对象之间使用逗号隔开,结束用分号结尾(4)在枚举类型中的各个对象,叫做【枚举项】//第一种自己实现枚原创 2020-11-18 20:31:39 · 388 阅读 · 0 评论 -
《学习笔记Day22》使用多线程的2种方法写火车票卖票系统以及单例设计模式
一、线程同步(一)同步方法1、同步代码块:在某段代码执行的时候,希望CPU不要执行那些会对当前线程数据产生干扰的线程上,所以给这段代码加上了同步代码块2、如果某个方法中,所有的代码都要加上同步代码块,使用同步方法就可以让代码格式变得更加简洁3、同步方法的格式修饰符 【static】 synchronized 返回值类型 方法名称(参数列表) {需要保证同步的方法体}4、同步锁对象(1)非静态方法:同步锁对象是this,即当前调用者,谁来调用这个方法,同步锁对象就是谁(2)静态方法:同步方原创 2020-11-17 18:35:22 · 482 阅读 · 0 评论 -
《学习笔记Day21》多线程的详细内容
一、多线程相关的三组概念(一)程序和进程1、程序:一个固定的存储有逻辑和数据的集合,是一个静态的状态,存储在磁盘上2、进程:一个正在运行着的程序,是一个动态的概念,一般运行在计算机的内存中3、查看计算机进程:ctrl + shift +ESC(二)进程和线程1、进程:是一个正在运行的程序,会分配一部分系统资源,是一个独立的资源分配单位2、线程:一条正在独立执行的路径。多线程,再执行某个程序的时候,该程序与多个子任务,每个线程都可以独立的完成其中一个子任务。在子任务之间,没有什么依赖关系,可以独原创 2020-11-17 17:57:10 · 190 阅读 · 0 评论 -
《学习笔记Day20》IO:字符流;转换流【超详细笔记!!!附代码学习】
一、字符流使用字节流出现的问题:1、使用字节流拷贝字符1)如果是纯粹的拷贝不会出现任何问题2)如果拷贝中途掺杂人为阅读,就会因为拷贝到的内容字节的问题,解码时产生乱码,如果是纯英文,我们还能按照一个字节进行解析,如果是纯中文,并且平台是GBK字符集,中文可以按照两个字节解析,如果是UTF-8中文按照3个字节解析,但是,如果中英文混杂,就不能按照固定套路解析了public static void main(String[] args) throws IOException { //字节流在纯原创 2020-11-13 18:24:45 · 185 阅读 · 0 评论 -
《学习笔记Day05补充》数组的超详细概念
一、数组1、数组:就是用于存储相同数据类型的数据的容器2、使用数组的原因:(1)没有数组:存在多个变量,每一个变量都需要有一个名称,并且在一个作用域内,这些名称还不能重复,如果要使用数据,会导致名称过多的记忆不便,还会导致名称复杂不好管理。对于后期的维护,产生非常多的不必要的麻烦。(2)有数组:只需要使用一个容器,容器具有一个名字,以后只需要寻找这个容器,就可以得到所有数据。数据在容器中存储有物理结构的位置关系,每一个位置都有编号,只需要通过编号,就可以找到指定的数据,方便维护和操作数据。3、定义原创 2020-11-13 17:28:01 · 276 阅读 · 0 评论 -
《学习笔记Day17》异常类编译异常以及运行异常详细介绍&throw和throws关键字以及比较
一、异常(一)异常的概述1、在Java运行过程中,出现了不正常的情况,称为异常2、异常就是一个对象,描述那些和正常情况不相符的异常情况,包含了异常情况的原因、详细信息、异常类型、错误位置等,这些内容都被封装在异常对象里3、异常也是一种处理异常情况的机制,可以对异常对象进行捕获、或者使程序发生跳转甚至停止运行(二)异常的体系1、Throwable:可抛出的,是异常体系和错误体系的总父类,所有的异常或者是错误对象都是Throwable的子类类型。只有Throwable的体系内的类型,才能进行异常处理原创 2020-11-12 22:12:17 · 335 阅读 · 0 评论 -
《学习笔记Day19》IO概述详细介绍以及使用Java代码逐步实现文件的拷贝
(一)简介1、IO:是input和output两个单词的缩写,input:输入,output:输出2、所有的输入输出,如果没有特殊的设定,都是站在计算机内存的角度去看待的,一切进内存的操作,都叫做输入,一切出内存的操作都叫做输出。例如:键盘录入一段字符到文档,就是键盘输入到内存,之后我们保存文档,就是将内存中的数据输出到磁盘。3、内存:运行速度比较快,是运行着的程序活跃的场地,断电内容丢失,不能持久化4、磁盘:适用于存储数据的仓库,相较于内存运行效率较低,断电内容不丢失,特点是数据持久化存储5、j原创 2020-11-12 21:13:29 · 182 阅读 · 0 评论 -
Java开发中必要单元测试教程以及测试超详细介绍
(一)软件测试的分类:(1)黑盒测试:测试工程师黑盒测试又叫做功能测试,主要是检测每个功能是否都能正常使用在测试中,把程序看成一个不能打开的黑盒子,在完全不考虑内部程序结构的情况, 进行测试,只要针对软件界面和软件功能的测试。(2)白盒测试:开发工程师白盒测试又称为结构测试、透明盒测试、逻辑驱动测试或基于代码的测试,主要检测代码逻辑是否正常。在白盒测试中,必须检查代码的逻辑和内部结构,从逻辑着手,得出测试的数据,按照程序内部结构进行测试。这一方法是把测试看成是一个打开的合资,测试人员很清楚里面原创 2020-11-12 20:37:05 · 490 阅读 · 0 评论 -
《学习笔记Day18》递归思想以及使用Java实现文件的增删改差
递归概述1、方法自己调用自己,解决的是一个比较复杂的问题,复杂的问题是基于简单的问题解决的基础上的,经过非常少的步骤,就可以解决这个复杂的问题。方法在自己调用自己的过程中,调用的总体逻辑不变,但是解决问题的规模越来越小(参数越来越小),一直到不需要递归的方式,也到能容易解决这个问题为止,就不需要再进行递归了。2、递归代码的特点:(1)方法自己调用自己:总体逻辑不变,但是规模在缩小,由于自己调用自己,所以功能都要单独的定义为一个方法(2)方法中的业务逻辑有两个分支:1)自己调用自己的分支:业务原创 2020-11-12 20:27:25 · 150 阅读 · 0 评论 -
《学习笔记Day16》Map超详细知识点笔记,Map的2种遍历方式;HashMap;Collection工具类详细介绍
Map1、体系位置:双列集合的顶层接口2、数据结构:描述的是一个数据(Key)到另一个数据(Value)的映射关系1)Key(键):有规律的,容易记忆的,是一个简单的数据2)Value(值):没有规律,不容易记忆的,是一个简单的数据3)操作:通过Key来寻找Value3、什么是映射:就是对应关系(1)数学:y = x * x(2)穷举罗列:{1=1, 2=4, 3=9, 4=16}4、Java中的Map集合就是通过琼剧罗列的方式来表示的5、Map集合的特点:1)Key是唯一的,原创 2020-11-11 22:23:03 · 242 阅读 · 0 评论 -
《学习笔记Day14》Math类方法;集合超详细学习笔记,Collection接口,List接口;List的3种实现类(Vector,ArrayList,LinkedList)
Math1、E:自然对数的底数2、PI:圆周率常用方法(1)abs(数字类型) 求绝对值(2)cbrt(double d) 开立方(3)sqrt(double d) 开平方(4)ceil(double d) 向上取整(5)floor(double d) 向下取整(6)max(int a, int b) 求最大值(7)min(int a, int b) 求最小值(8)pow(int a, int b) 求a的b次方(9)random() 返回[0.0, 1.0)的随机数(10)ro原创 2020-11-10 23:15:05 · 231 阅读 · 0 评论 -
《学习笔记Day15》泛型超详细学习笔记;Set(HashSet,LinkedHashSet)详细介绍附加代码学习
1、泛型就是广泛的类型,在定义类的时候,某些方法的参数列表或者返回值类型不确定,就使用一个符号,来表示那些尚未确定的类型,这个符号就是泛型。2、使用:对于具有泛型的类型,在类型后面加上<>,<>中写上泛型的确定类型3、泛型必须书写成引用数据类型,不能写基本数据类型泛型是写的时候,必须保持前后一致左必写,右可选择不写public class Dome { public static void main(String[] args) { ArrayLis原创 2020-11-09 00:56:59 · 209 阅读 · 0 评论 -
《学习笔记Day12》基本数据类型包装类(理思路6)+自动拆装箱
1、概述:因为八大原创 2020-11-07 21:44:39 · 120 阅读 · 0 评论 -
《学习笔记》面向对象(五)接口 内部类
接口:1、广义:一切定义规则的事物都是接口2、狭义:Java中用于定义方法声明的规则就是接口,Java的接口中,定义的所有方法都是抽象方法3、好处,将方法的调用和方法的实现分离开,可以降低代码耦合度,提高开发效率接口的特点1、关键字interface2、格式:interface 接口名{}3、接口中,只能声明定义抽象方法,不能定义有方法实现的方法4、接口的实现class 类名 implements 接口名{}接口中只有规则没有实现方法,我们通过类去添加规则的实现,不同的类可以原创 2020-11-07 21:09:46 · 152 阅读 · 0 评论 -
《学习笔记》面向对象(四)多态,instanceof关键字,抽象
1、final关键字1、final:不可更改的2、final可以修饰类【不能被继承】,成员变量【变量变常量】,成员方法【方法不能被重写】3、常量定义的格式:public static final double PI = 3.141592653589793;多态多态就是事物的多种形态对象的多态性:同一个对象,可能具有不同的名称,可以有不同类型的引用指向它【同一个对象,有不同的名称和描述】类的多态性:同一个类型,可能有不同子类的实现。同一个类型的引用,可能会指向不同子类的对象。【同一个名字和描述原创 2020-11-07 16:54:23 · 182 阅读 · 0 评论 -
《学习笔记》面向对象(三)继承,重写重载
继承是什么继承是让类与类之间产生关联,父子的关系关键字:extends格式在定义子类时,在子类类名后面加上 extends 父类类名public static void main(String[] args) { Student s = new Student();//********** s.name = "qwe"; s.age = 23; System.out.println(s.name+"..."+s.age); s.show(); } }class原创 2020-11-07 14:27:25 · 128 阅读 · 0 评论 -
《学习笔记》面向对象(二)匿名对象、封装、静态与非静态比较
匿名对象1、匿名对象就是没有名字的对象new 类名();public class Duixiang { public static void main(String[] args) { /**相当于: * Animal a = new Animal(); * a.name = "狗"; * a.age = 5; * 这样占用内存,对于那种只调用一次的对象来说匿名对象节约内存空间 * **/ new Animal().name = "狗"; new A原创 2020-11-07 12:54:51 · 148 阅读 · 0 评论 -
《学习笔记Day13》正则表达式;数量词;Date类;Calender类(理思路5)
正则表达式概述:一个字符串(regex)普通的字符串也是一个正则表达式,但是只能表示他自己格式:String1.matches(条件); 【 \条件】 在使用时在前面多加一个,因为预定义字符本身就是一个普通的反斜杠和一个普通的字符组成,是一个整体public static void main(String[] args) { /w:表示包含大小写字母有数字下划线 System.out.println("z".matches("\\w"));//true System.out.pr原创 2020-11-04 23:55:49 · 181 阅读 · 0 评论 -
《学习笔记Day12》StringBuilder类(理思路4)
1、概念1、StringBuilder是一个可变字符序列,因为append(插入字符)和insert(在字符串上插入字符串)在StringBuilder本身上操作,String本身长度不可变,所以要使用StringBuilder当存储器2、构造方法:(1)StringBuilder() 创建一个字符串生成器,初始容量为16(2)StringBuilder(int capacity) 创建一个字符串生成器,初始容量由capacity指定StringBuilder sb = new StringB原创 2020-11-04 18:58:00 · 140 阅读 · 0 评论 -
《学习笔记Day11》String类(理思路3)
一、概念1、String类型表示字符串,属于java.lang包,不需要导包2、字符串字面值常量储存在方法区的常量池中(二)、构造方法1、String()创建一个空字符串2、String(byte[] arr, int offset, int length)将byte数组的一部分解析为字符串3、3、String(char[] arr, int offset, int length) 将char数组的一部分解析为字符串4、String(String str) 返回参数字符串的副本publi原创 2020-11-04 00:25:39 · 212 阅读 · 0 评论 -
《学习笔记Day11》Scanner类(理思路2)
(一)、概念1、Scanner类型是一个可以扫描基本类型和字符串的简单文本扫描器,可以指定扫描设备经常使用的就是Scanner(System.In);其中System.In就是一个输入流,标准输入流,默认关联到键盘复习Scanner sc = new Scanner(System.In); int n = sc.nextlnt(); /*可选项:方法 (1)nextByte() (2)nextShort() (3)nextInt() (4)nextLong() (5)nextF原创 2020-11-03 23:00:59 · 193 阅读 · 0 评论 -
《学习笔记Day11》Object类介绍(理思路)
一、Object1、API:在java官方手册中API被称为:应用程序编程1、Object是所有类型的顶层,是所有类的直接或者间接的父类,在所有类型中都可以使用Object类型的方法。1、toString方法getClass():获取到当前对象所属的类型hashCode():根据对象的情况,计算出对象的哈希码值toString()“返回对象的字符串表示形式package ceshi01;public class Dome { public static void main(Stri原创 2020-11-03 22:41:27 · 141 阅读 · 0 评论 -
《学习笔记》面向对象(一)思想以及基础成员变量以及成员方法使用
*面向对象基础1、面向对象就是编程思想*2、面向对象和面向过程的对比面向过程:注重的是做事情的基本步骤,强调的是解决问题的方式【洗衣服】面向对象:注重的是做事情的主题,强调谁来解决问题,更强调数据,强调是谁拥有数据和操作数据的权力【找到洗衣机】3、类和对象比较类:概括性,并非实际存在【动物】对象:实际存在,属性的载体,行为的执行者【狗】*类属性:对事物特征的描述,一般是变量,定义在类中方法外,又叫成员变量行为:对事物功能的描述,叫方法,定义位置一样,去掉static人类原创 2020-11-02 13:40:36 · 187 阅读 · 1 评论 -
JAVA Day_02常量定义,逻辑运算符,位移运算符,三目运算符,键盘录入,分支结构if语句
变量1、字符类型:使用char定义char a = '变量'2、字符串类型:使用String定义String a = "变量"逻辑运算符逻辑运算符&:与运算全真则真,一假则假|:或运算一真则真,全假则假!:非运算真则假,假则真短路运算符&&:短路与||:短路或与逻辑运算规则一样位移运算符<<(左移):将2进制数舍去最高位,低位补0,意思就是每次对数字左移一位。数学意义就是在原有基础上乘2的几次方int num = 4;原创 2020-10-19 16:47:02 · 169 阅读 · 0 评论 -
JAVA Day_01常量,变量,数据转换,关键字
在编写代码的过程中,方便自己查错,多次阅读,我们一般在学习和工作中使用注释功能原创 2020-10-17 01:02:27 · 181 阅读 · 3 评论 -
001、WIN10 Java的JDK安装以及如何配置Java变量环境
一、JDK的安装: *首先从网站下载Java的JDK,网站在这里:[添加链接描述](https://www.oracle.com/java/technologies/javase-downloads.html) 推荐下载1.8和9.0win10:1.将下载好的JDK安装程序打开,点击下一步。2.可以自定义安装目录,我这里选择默认c盘,点击下一步(注意!!!路径不能有中文,空格)3.采用傻瓜式下一步我们就将JDK安装完成了。二、配置Java环境变量1.复制我们的JDK的bin的完原创 2020-10-12 20:29:15 · 195 阅读 · 2 评论