java学习
文章平均质量分 54
Java一概不懂,开始学习!!
追風者0x8ffd98a8
只想见见天地。
展开
-
HashMap 解析
HashMap 解析HashMap 初始化HashMap 属性HashMap 存储过程HashMap 中计算 key hash值的方式构造方法传入数组长度创建 HashMapHashMap 是由数组+链表/红黑树组成的一种k-v键值对结构。HashMap 存储数据无序,key 和 value 都可以为 null,key唯一。HashMap 初始化在 jdk 1.8 中,HashMap 的构造函数不会创建数组,而是在第一次调用 put() 方法时创建数组,Node[] table 来存储键值对数据。原创 2022-03-13 16:38:23 · 875 阅读 · 0 评论 -
List、Set 和 Map 小总结
List、Set 和 Map小总结List 集合ArrayListLinkedListList 总结Set 集合HashSetLinkedHashSetTreeSetSet 总结Map 集合HashMapLinkedHashMapTreeMapMap 总结常用集合有三种,List、Set 和 Map。List 和 Set 都继承了 Collection 接口。而 Map 是顶级接口。List 集合List 集合常用的有两种,ArrayList 和 LinkedList。ArrayListArray原创 2022-02-27 22:04:57 · 744 阅读 · 0 评论 -
后端数据校验之JSR303
后端数据校验之JSR303JSR303的使用分组校验一般在项目开发中,对数据准确性的校验必不可少,除了前端对数据进行校验,后端也要对数据进行校验。JSR303的使用JSR303采用注解的形式进行数值校验,使用起来很方便,实体类需校验的字段上添加注解即可,一个字段可有多个注解;其中,message就是当数据校验错误时的默认报错信息。 @NotEmpty(message = "姓名不合法") private String name;在请求参数中@RequestBody注解前添加@Val原创 2021-12-01 11:51:37 · 488 阅读 · 0 评论 -
魔幻数据穿梭之Stream API
魔幻数据穿梭之Stream APIStream API之创建流集合实例方法创建数组工具类的静态方法创建流Stream静态方法 of()Stream静态方法 iterate()与 generate()Stream API的中间操作筛选与切片在我们做项目时,时常需要对数据进行整合、筛选等操作,每次用for循环之后再进行判断等等操作相信大家一定感到厌烦了,现在Java8新退出的Lamda表达式搭配Steam API可以完美的进行数据处理,完成在数据之间穿梭的功能。Stream故名思意就是流的意思,而这个流与I原创 2021-11-26 14:11:19 · 355 阅读 · 0 评论 -
Lamda表达式的方法引用
Lamda表达式的方法引用方法引用方法引用的两个注意事项方法引用类型对象名::实例方法名类名::静态方法名类名::实例方法名构造器引用在使用Lamda表达式的过程中已经感受到它的便捷,但是在例子中的输出语句还在使用System.out.println()方法进行输出,但是它还符合消费型接口,那么能否更简便的使用呢,现在它来了,也就是方法引用。方法引用方法引用的两个注意事项Lamda体中调用方法的参数列表、返回值类型与方法的参数列表、返回值类型一致(这里的方法指的是要方法引用的方法)。Lamda表原创 2021-11-25 17:12:13 · 345 阅读 · 0 评论 -
Java8 中内置的核心函数式接口
Java8 中内置的核心函数式接口通过这四个核心的函数式接口与Lamda表达式的组合,可以很好的完成数据处理的工作。Consumer 消费型接口void accept(T t);Supplier 供给型接口T get();Function<T,R> 函数型接口R applay(T t)Predicate 断言型接口boolean test(T t);...原创 2021-11-25 10:28:30 · 296 阅读 · 0 评论 -
jdk8新特性之Lamda表达式
jdk8新特性之Lamda表达式无参数无返回值格式一个参数无返回值格式有多个参数有返回值并且Lamda体中有多条语句Lamda的使用Lamda表达式的形式为左侧为参数列表,右侧为函数体或Lamda体;Lamda表达式配合上Stream API可以快速的进行数据处理。Lamda表达式可以有多种格式,分别为:无参无返回值、有一个参数无返回值、有多个参数有返回值并且Lamda体中有多条语句。Lamada需要搭配函数式接口进行使用;函数式接口即只有一个抽象方法的接口,可以使用@FunctionalInterf原创 2021-11-24 20:21:01 · 238 阅读 · 0 评论 -
cookie与session的作用与区别
cookie与session的区别cookie与session的出现是为了解决HTTP服务无状态这一问题的。原创 2021-04-07 16:46:21 · 919 阅读 · 0 评论 -
反射API的使用
反射API的使用文章目录反射API的使用获取类对象的方式获取最基本信息调用有参/无参构造函数创建对象获取属性获取泛型反射的优缺点反射是java在编译阶段可以获取到任何类、任何对象的属性、方法和构造方法的机制。获取类对象的方式获取一个类对象有三种方式: //方式1:Class.forName(className) Class clazz = Class.forName("com.zouzou.entity.Employee"); //方式2:类名.class原创 2021-03-15 07:41:35 · 304 阅读 · 0 评论 -
内部类
内部类内部类分为四种,分别为:非静态成员内部类静态成员内部类局部内部类匿名内部类内部类可以用四种修饰符 public private protected和缺省。非静态成员内部类内部类可以直接访问外部类的成员和方法。外部类不可以直接访问内部类的成员;但可以通过对象来访问内部类访问外部类同名成员变量 OuterClass.this.num//外部类的num创建一个内部类对象 必须先创建一个外部类对象 OuterClass.InnerClass ic = new Outer原创 2021-01-23 23:40:51 · 156 阅读 · 0 评论 -
final关键字
final关键字final所修饰的类无法被继承。final所修饰的变量无法被更改。final所修饰的方法不可以被子类重写,但是可以重载。final所修饰的基本类型数据,值只能赋值一次。原创 2021-01-23 23:31:13 · 79 阅读 · 0 评论 -
static关键字
static关键字java中static可以修饰变量、方法和代码块静态变量static定义的变量是属于类的,该类所有对象公用一个静态变量。非静态方法可以访问静态变量静态方法不能够直接访问非静态变量,但是可以直接访问静态变量。(因为当静态变量创建时,非静态变量未必被创建。) public class StaticTest { public static int num; public static void add(){ num++; } }原创 2021-01-23 23:29:21 · 196 阅读 · 2 评论 -
JAVA的四种访问控制符
JAVA的四种访问控制符JAVA的四种访问控制符分别为public,默认访问权限,protected和private四种,而访问权限也是逐级递减。public首先说说public的权限,public的访问权限是四种控制符中权限最大的,它所定义的变量、方法和类是能够被所有类所访问的。默认访问权限默认访问权限也叫默认包权限,即包内成员能够访问,包外成员无法访问。protectedprotected是继承访问权限,它的访问条件为是protected所在的类的派生类;即,想要访问protected变量原创 2021-01-10 10:39:25 · 1779 阅读 · 3 评论 -
String类详解——迷茫中一盏昏暗的灯。
String类详解文章目录String类详解String类的本质正则表达式String类的本质String类本身就是不可更改的char数组,由于它是经过final定义过的数组,所以也不能够继承。正则表达式由于java开发要服务于用户,为了增加用户的满意度,防止由于用户的某些错误输入导致程序崩溃,一般接收数据全部使用String类型,但是还要对字符串进行判断,通过String的API——matches使用正则表达式进行判断。/** * 以下的正则表达式仅仅是可以使用,方便记忆。 * 正则表达原创 2020-11-07 17:05:56 · 244 阅读 · 0 评论 -
JAVA基础——抽象类与接口的关系
???? 浅谈抽象类和接口文章目录:) 浅谈抽象类和接口抽象类的用途抽象类的创建抽象方法抽象类的特点接口的目的接口的创建接口的特性接口和抽象类的对比抽象类的用途抽象类是用于束缚和规范代码结构而存在的,它定义了子类需要的抽象方法,并且子类无法修改父类中的抽象方法。抽象类的创建抽象类需要关键字abstract修饰,类中可以包含抽象方法和普通的方法,package Abstract;public abstract class Person { public void play() {原创 2020-09-17 16:30:06 · 168 阅读 · 0 评论 -
JAVA三大特性——封装、继承和多态
JAVA三大特性——封装、继承和多态封装封装的目的封装就是隐藏对象的属性和实现细节。封装的优点隐藏实现细节降低代码耦合度类内部的结构可以自由更改对成员变量更精确的控制继承一个类拥有另一个类的行为或特征,这两个类之间就是继承关系。继承的目的通过子类对父类的继承的方式提高代码复用率。继承的语法java继承支持单继承、多重继承,但是不支持多继承;通过关键字extends进行继承。publivc class 子类 extends 父类 { }继承的优点代码复用率高方便原创 2020-09-15 19:42:50 · 311 阅读 · 0 评论 -
break、coutinue与return的区别
break、coutinue与return的区别文章目录break、coutinue与return的区别breakcoutinuereturnbreakbreak直接退出循环。//可以直接退出for循环 for(int i=0; i<n; ++i) { if(...) break; }coutinuecoutinue退出本次循环,进入下一次循环。//可以直接进行下一次循环。 for(int i=0; i<n; ++i) { if(...) coutinue原创 2020-09-09 16:50:11 · 357 阅读 · 0 评论 -
JAVA——方法,简单实用
JAVA——方法文章目录JAVA——方法什么是方法?定义方法方法的调用形参与实参什么是方法?方法在类中定义,可以被调用,也可以被引用;学习过C语言的可以认为是函数,方法之中还可以调用别的方法。每当调用一个方法的时候,系统会创建一个堆栈用来存储数据,每当方法运行结束后自动释放内存。定义方法// 修饰符 返回值类型 方法名(形参1,形参2){ 返回值 } public static void fun(int a,int b) {} 方法的调用调用方法时,实参与形参的参数顺序一定要吻合。原创 2020-09-06 22:32:11 · 87 阅读 · 0 评论 -
Java数组的使用
Java数组学习文章目录Java数组学习创建数组数组遍历数组逆序数组拷贝创建数组//Java的数组长度不要求是常量,也可以是变量,但是需要提前定义并赋值。//第一种创建方式。 int [] arr = new int [number]; arr = new int[] {元素1、元素2……};//第二种创建方式。 int [] arr1 = {元素1、元素2……};数组遍历 int [] arr2 = {1,2,3,4,5}; for(int i=0; i<arr2原创 2020-08-31 18:31:47 · 177 阅读 · 0 评论 -
JAVA基础
java day01~day07 总结文章目录java day01~day07 总结JDK、JRE、JVM关系JDK、JRE、JVM关系JDK:是程序开发人员所需的开发环境,包含了JRE。JRE:是java程序的运行环境,包含了JVM。JVM:相当于各个国家重要人物会面的翻译,起到了跨平台的作用,Java语 言是跨平台的,但是JVM不是跨平台的,在各个运行环境都会下载。...原创 2020-08-21 23:19:07 · 178 阅读 · 0 评论 -
IDEA运行显示Error:java无效的源发行版11
IDEA运行显示Error: java 无效的源发行版11解决办法第一次使用IDEA,前期准备工作全部结束,但是在第一次的编译运行报出错误。打开File -> Project Structure,或者按快捷键Ctrl+Alt+Shift+S打开,Project界面有两个下拉列表,将Project SDK中jdk的版本和Projuce language level 相匹配就可以了,比如我的是jdk8,然后将Projuce language level 更改为 8 - Lambdas,type an原创 2020-06-28 08:22:33 · 1038 阅读 · 0 评论