![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 83
weixin_45701378
这个作者很懒,什么都没留下…
展开
-
maven
maven 基本概念三种仓库:本地仓库、远程仓库、中央仓库。坐标的书写规范:groupId 公司或组织域名的倒序artifactId 项目名或模块名version 版本号依赖范围:CompileTestRuntimeProvided传递依赖:我们的项目依赖 spring-webmv.jar,而spring-webmv.jar 会依赖 spring-beans.jar 等等,所以 spring-beans.jar 这些 jar 包也出现在了我们的 maven 工程中,这种现象我们称原创 2022-03-31 23:45:47 · 56 阅读 · 0 评论 -
约束及数据库设计简介
概念对表中的数据进行限定,保证数据的正确性、有效性和完整性。分类 1. 主键约束:primary key 2. :not null 3. 唯一约束:unique 4. 外键约束:foreign key非空约束非空约束:not null,值不能为null1. 创建表时添加约束CREATE TABLE stu(id INT,NAME VARCHAR(20) NOT NULL – name为非空);2. 创建表完后,添加非空约束ALTER TABLE stu MODIFY NAME原创 2022-03-20 12:17:11 · 100 阅读 · 0 评论 -
Linux基础
Linix概述unix 是多用户、多任务的操作系统,Linux是基于Unix的,Linux的版本分为两种:内核版本和发行版本;内核版本是指在Linus领导下的内核小组开发维护的系统内核的版本号Linux的远程访问:远程访问的软件:CRTlinux的目录结构:linux 常用命令切换目录命令cd:使用cd app 切换到app目录cd … 切换到上一层目录cd / 切换到系统根目录cd ~ 切换到用户主目录cd - 切换到上一个所在目录使用tab键来补全文件路径..原创 2022-03-14 08:53:15 · 151 阅读 · 0 评论 -
反射及注解
JunitJunit使用:白盒测试步骤:定义一个测试类(测试用例)建议:测试类名:被测试的类名Test CalculatorTest包名:xxx.xxx.xx.test cn.itcast.test定义测试方法:可以独立运行建议:方法名:test测试的方法名 testAdd()返回值:void;参数列表:空参给方法加@Test导入junit依赖环境判定结果:* 红色:失败* 绿色:成功* 一般我们会使用断言操作来处理结果* Assert.assertEquals(期原创 2021-08-09 09:46:11 · 34 阅读 · 0 评论 -
Stream流、方法引用
Stream流说到Stream便容易想到I/O Stream,而实际上,谁规定“流”就一定是“IO流”呢?在Java 8中,得益于Lambda所带来的函数式编程,引入了一个全新的Stream概念,用于解决已有集合类库既有的弊端。...原创 2021-08-06 23:48:04 · 63 阅读 · 0 评论 -
函数式接口
函数式接口函数式接口:有且仅有一个抽象方法的接口格式:(只要确保接口中有且仅有一个抽象方法即可)修饰符 interface 接口名称{ public abstract 返回值类型 方法名称(可选参数信息)// 其他非抽象方法内容}由于接口当中抽象方法的public abstract 是可以省略的:public interface MyFunctionalInterface {void myMethod();}@FunctionalInterface注解@FunctionalI原创 2021-08-04 09:21:19 · 32 阅读 · 0 评论 -
网络编程及通信
网络编程概述软件架构C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、迅雷等软件。B/S结构 :全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有谷歌、火狐等。网络通信协议网络通信协议:通信协议是计算机必须遵守的规则,只有遵守这些规则,计算机之间才能通信。这就好比在道路中行驶的汽车一定要遵守交通规则一样,协议中对数据的传输格式、传输速率、传输步骤等做了统一规定,通信双方必须同时遵守,最终完成数据交换。**TCP/IP协议:*原创 2021-07-31 00:41:31 · 107 阅读 · 0 评论 -
缓冲流、转换流、序列化流、打印流
@[TO里写自定义目录标题)欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;全新的 KaTeX数学公式 语法;增加了支持甘特图的mermaid语法1原创 2021-07-28 08:57:06 · 66 阅读 · 0 评论 -
字节流、字符流
IO概述概念我们把这种数据的传输,可以看做是一种数据的流动,按照流动的方向,以内存为基准,分为输入input 和输出output ,即流向内存是输入流,流出内存的输出流。Java中I/O操作主要是指使用java.io 包下的内容,进行输入、输出操作。输入也叫做读取数据,输出也叫做作写出数据。IO的分类根据数据的流向分为:输入流和输出流。输入流:把数据从其他设备上读取到内存中的流输出流:把数据从内存中写到其他设备上的流根据数据类型分为字节流和字符流字节流 :以字节为单位,读写数据的流。原创 2021-07-24 23:13:35 · 106 阅读 · 0 评论 -
File类、递归
File类概述java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。Filel类是一个与操作系统无关的类,任何操作系统都可以使用这个类的方法分隔符方法Static String pathSeparator 与系统有关的路径分隔符,为了方便它被表示为一个字符串Static char pathSeparator 与系统有关的路径分隔符Static String separator 与系统有关的默认名称分隔符,为了方便它被表示为一个字符串Static原创 2021-07-22 13:53:31 · 48 阅读 · 0 评论 -
线程状态、等待唤醒机制、线程池及Lambda表达式
线程状态当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在API中java.lang.Thread.State 这个枚举中给出了线程生命周期的六种状态:Timed Waiting(计时等待)在我们写卖票的案例中,为了减少线程执行太快,现象不明显等问题,我们在run方法中添加了sleep语句,这样就强制当前正在执行的线程休眠(暂停执行),以“减慢线程”。sleep方法的使用需要记住下面几点:进入 TIMED_WAITING 状态的一种常见情形是调用的 sleep原创 2021-07-19 14:47:23 · 140 阅读 · 0 评论 -
线程及线程安全
线程Thread类Java.lang.Thread类定义了有关线程的一些方法:构造方法:public Thread();分配一个新的线程对象public Thread()public Thread()public Thread()常用方法:public String getName():获取当前线程名称public void start():获取当前线程名称public void run():获取当前线程名称。public Static void sleep():获取当前线程名称p原创 2021-07-18 11:08:12 · 57 阅读 · 0 评论 -
异常、线程
异常异常概念异常 :指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常的方式是中断处理。异常指的并不是语法错误,语法错了,编译不通过,不会产生字节码文件,根本不能运行.异常体系异常机制其实是帮助我们找到程序中的问题,异常的根类是java.lang.Throwable ,其下有两个子类:java.lang.Error 与java.lang.Exception原创 2021-07-17 01:16:19 · 44 阅读 · 0 评论 -
Map集合、JDK9对集合新特性
Map集合Map集合概述Map接口与Collection接口的区别Collection接口:定义了单列集合规范,每次存储一个元素 单个元素单身集合:CollectionMap接口:定义了双列集合规范,每次存储一对元素夫妻对集合:Map<key,value>通过键可以找到对应的值1、键唯一(值可以重复)2、键和值—映射一个键对应一个值3、靠键维护他们的关系Map常用子类通过查看Map接口描述,看到Map有多个子类,这里我们主要讲解常用的HashMap集合、LinkedHa原创 2021-07-16 07:46:01 · 103 阅读 · 0 评论 -
List、Set及Collections用法
List集合List接口介绍java.util.List 接口继承自Collection 接口,是单列集合的一个重要分支,习惯性地会将实现了List 接口的对象称为List集合。List接口特点:它是一个元素存取有序的集合。例如,存元素的顺序是11、22、33。那么集合中,元素的存储就是按照11、22、33的顺序完成的)。它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理)。集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复的元素。原创 2021-07-15 07:55:40 · 67 阅读 · 0 评论 -
泛型通配符、集合案例及常见数据结构
泛型通配符当使用泛型类或者接口时,传递的数据中,泛型类型不确定,可以通过通配符<?>表示。但是一旦使用泛型的通配符后,只能使用Object类中的共性方法,集合中元素自身方法无法使用。通配符的基本使用泛型的通配符:不知道使用什么类型来接收的时候,此时可以使用?, ?表示未知通配符。此时只能接受数据,不能往该集合中存储数据。通配符高级使用----受限泛型之前设置泛型的时候,实际上是可以任意设置的,只要是类就可以设置。但是在JAVA的泛型中可以指定一个泛型的上限和下限。泛型的上限:原创 2021-07-13 22:28:52 · 148 阅读 · 2 评论 -
Collection、泛型
Collection集合集合概述集合是java中提供的一种容器,可以用来存储多个数据。集合和数组既然都是容器,它们有如下区别:数组的长度是固定的。 集合的长度是可变的。数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不一致。在开发中一般当对象多的时候,使用集合进行存储。集合框架JAVASE提供了满足各种需求的API,在使用这些API前,先了解其继承与接口操作架构,才能了解何时采用哪个类,以及类之间如何彼此合作,从而达到灵活应用。集合按照其存储结原创 2021-07-12 20:53:37 · 30 阅读 · 0 评论 -
Calendar类、System类、StringBuilder类及基本数据类型转换
Calendar类Calendar为抽象类,Calendar类在创建对象时并非直接创建,而是通过静态方法创建,返回子类对象,Calendar静态方法如下:Calendar.getInstance()//使用默认时区和语言环境获得一个日历Calendar cal = Calendar.getInstance();常用方法根据Calendar类的API文档,常用方法有:int get(int field):返回给定日历字段的值。set(int field, int value):将给定的日历字原创 2021-07-10 18:24:11 · 106 阅读 · 0 评论 -
Object类、Data类及DateFormat类
Object概述java.lang.Object类是Java语言中的根类,即所有类的父类。一个类都会直接或间接的继承该类,该类提供类一些常用的方法,如toString()、equal()方法toString()方法A:作用:打印对象的信息B:重写前:打印的是包名类名@地址值C重写后:打印的是对象中的属性值equal方法A:作用:比较两个对象B:重写前:比较的是两个对象的地址值C:重写后:比较的是两个对象的属性值...原创 2021-07-10 11:22:49 · 220 阅读 · 0 评论 -
内部类及引用类型
概述将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。成员内部类成员内部类 :定义在类中方法外的类。定义格式:class 外部类 { class 内部类{ } }在描述事物时,若一个事物内部还包含其他事物,就可以使用内部类这种结构。比如,汽车类Car 中包含发动机类Engine ,这时, Engine 就可以使用内部类来描述,定义在成员位置。代码举例:class Car { //外部类 class Engine { //内部类 }原创 2021-07-07 11:25:28 · 251 阅读 · 0 评论 -
多态、final关键字、权限修饰符
多态定义多态: 是指同一行为,具有多个不同表现形式。实际开发的过程中,父类类型作为方法形式参数,传递子类对象给方法,进行方法的调用,更能体现出多态的扩展性与便利。多态体现的格式:父类类型 变量名 = new 子类对象;父类类型:指子类对象继承的父类类型,或者实现的父接口类型。变量名.方法名();Fu f = new Zi();f.method();当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,执行的是子类重写后方法。代码如下://定义父类publi原创 2021-07-06 11:27:38 · 46 阅读 · 0 评论 -
抽象类、接口
由来父类中的方法,被他们的子类重写,子类各自的实现都不尽相同,那么父类的方法声明和方法主体,只有声明还有意义,而方法主体则没有存在的意义了。我们把没有方法主体的方法称为抽象方法。Java语法规定,包含抽象方法的类就是抽象类定义抽象方法 : 没有方法体的方法,就是加上abstract关键字,然后去掉大括号,直接分号结束。abstract使用格式:修饰符 abstract 返回值类型 方法名 (参数列表);public abstract void run();抽象类:包含抽象方法的类,在clas原创 2021-07-05 09:30:37 · 171 阅读 · 0 评论 -
继承、super、this关键字
继承继承就是子类继承父类的属性和行为,使得子类对象具有与父类相同的属性、相同的行为。子类可以访问父类中的非私有的属性和行为好处:1、提高代码的复用性2、类与类之间产生了关系,是多态的前提通过extends关键字,可以声明一个子类继承另一个父类格式如下:class 父类{…}class 子类 extends 父类{…}继承后的特点–成员变量成员变量不重名如果子类父类中出现不重名的成员变量,这时访问是没有影响的成员变量重名子父类中出现了同名的成员变量时,在子类需要访问父类中非私有原创 2021-07-03 15:17:55 · 98 阅读 · 0 评论 -
String类、static关键字、Array类
概述java.lang.String 类代表字符串。Java程序中所有的字符串文字(例如"abc" )都可以被看作是实现此类的实例。特点字符串不变:字符串的值在创建后不能被更改。String s1 = "abc";s1 += "d";System.out.println(s1); // "abcd"// 内存中有"abc","abcd"两个对象,s1从指向"abc",改变指向,指向了"abcd"。因为String对象是不可变的,所以它们可以被共享。String s1 = "ab原创 2021-07-02 12:16:52 · 52 阅读 · 0 评论 -
Scanner类、Random类、ArrayList类
APIAPI(Application Programming Interface),应用程序编程接口。Java API是一本程序员的字典 ,是JDK中提供给我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可。所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用它们。API的使用通过API查找Scanner类什么是Scanner类?一个可以解析基本类型和字符串的简单文本扫描器。 例如,以下代码使用户能够从 Sy原创 2021-07-01 13:27:11 · 50 阅读 · 0 评论 -
类与对象、封装、构造方法
java类成员变量(属性):String name;//姓名int age;//年龄成员方法(行为):public void eat();//吃饭public void sleep();//睡觉public void study();//学习通常情况下,一个类并不能直接使用,需要根据类创建一个对象,才能使用导包:也就是指出需要使用的类,在什么位置import 包名称.类名称eg:import cn.itcast.day06.demo01.Student;对于和当前类属于同一个包原创 2021-06-30 13:07:03 · 58 阅读 · 0 评论 -
数组概念及应用
数组的概念及特点数组的概念:是一种容器,可以同时存放多个数据值数组的特点:数组是一种引用数据类型数组当中的多个数据,类型必须tongy数组的长度在程序运行期间不可改变数组的初始化数组的初始化:在内存中创建一个数组,并且向其中赋予一些默认值两种常见的初始化方式:动态初始化(指定长度)静态初始化(指定内容)动态初始化数组的格式:数据类型[] 数组名称 = new 数据类型[数组长度]//创建一个数组,里面可以存放300个int数据int [] arrayA =new int[原创 2021-06-29 11:59:03 · 46 阅读 · 0 评论 -
IDEA常用快捷键
idea常用快捷键(1)psvm:创建main函数 ****(2)fori:生成i变量的for循环 ***(3)iter:生成增强for ***(4)sout:System.out.println() ****(5)ctrl + alt + v:根据返回值 生成变量类型和变量名 ******(很实用)(6)alt + insert:创建构造方法、重写方法等 ***(7)ctrl + o:重写方法 ***(8)ctrl + i:实现方法 ***(9)alt原创 2021-06-27 20:56:09 · 43 阅读 · 0 评论 -
IDEA常用快捷键及方法的使用
IDEA常用快捷键方法的使用定义方法的完整格式修饰符 返回值类型 方法名称(参数类型 参数名称,…){方法体return 返回值;}public static void method(int arg){System.out.prinln(arg);return;}修饰符:现阶段的固定写法,publicstatic返回值类型:也就是方法最终产生的数据结果是什么类型方法名称:方法的名字,规则和变量一样,小驼峰参数类型:进入方法的数据类型参数名称:进入方法的数据对应的变量名称p原创 2021-06-27 20:26:23 · 99 阅读 · 0 评论 -
流程控制语句及循环结构
流程判断语句if 语句的第三种格式:if…else…if…elseif(判断条件){执行语句1;}else if(判断条件2){执行语句;}…else if {判断条件n){执行语句n;}else{执行语句n+1;}选择语句–switchswitch 语句格式:switch(表达式){case 常量值1:语句体1;break;case 常量值2:语句体2;break;…default:语句体n+1;breakl;’}执行流程首先计算出表达式的值原创 2021-06-26 09:59:34 · 72 阅读 · 0 评论 -
数据类型转换、运算符
## 数据类型转换1、Java基本数据类型大小byte: 八位整数 -128——127,可用来节省内存的使用。short: 16位整数 -32768——32,767,也比较省内存。int: 32位整数 -2,147,483,648——2,147,483,647,一般来说整数都够用了long: 64位整数 -9,223,372,036,854,775,808—— 9,223,372,036,854,775,807,一般不需要用float: 32位浮点,如果浮点需要节省内存用这个。Double原创 2021-06-25 12:33:51 · 72 阅读 · 0 评论