![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java 基础
文章平均质量分 70
Java
DAIHAO丶
一花一世界,一树一菩提。
展开
-
Java 反射
概念Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制。功能在运行时判断任意一个对象所属的类。在运行时构造任意一个类的对象。在运行时判断任意一个类所具有的成员变量和方法。在运行时调用任意一个对象的方法。生成动态代理。ClassClass类的类表示正在运行的Ja原创 2021-06-25 06:49:18 · 65 阅读 · 0 评论 -
Java IO
IO流流的概念和作用:流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作I: input 输入 外界(磁盘、网络、键盘…)---->程序O: output 输出 程序---->外界(磁盘、网络、显示器…)IO流分类按流向分输入流输出流按处理的单位分字节流 视频、音频字符流 长文本字节原创 2021-06-20 21:13:36 · 190 阅读 · 0 评论 -
NoClassDefFoundError
问题描述java.lang.NoClassDefFoundError ,意味着找不到类定义,当JVM或者ClassLoader实例尝试装载该类的定义(这通常是一个方法调用或者new表达式创建一个实例过程的一部分)而这个类定义并没有找时所抛出的错误。问题原因该异常一般出现在编译环境和运行环境不一致的情况下,就是说有可能在编译过后更改了Classpath或者jar包所以导致在运行的过程中JVM或者ClassLoader无法找到这个类的定义。NoClassDefFoundError错误的发生,是因为Jav原创 2022-03-03 09:37:36 · 229 阅读 · 0 评论 -
Java自定义注解
注解是一种能被添加到java源代码中的元数据,方法、类、参数和包都可以用注解来修饰。注解可以看作是一种特殊的标记,用来说明程序的,可以用在方法、类、参数和包上,程序在编译或者运行时可以检测到这些标记而进行一些特殊的处理。JDK中预定义的一些注解@Override:检测被该注解标注的方法是否是继承自夫类/接口的@Deprecated:表示该注解标注的内容,已过时@SuppressWarnings:压制警告注解规则修饰符:访问修饰符必须为public,不写默认public关键字:@interf原创 2021-06-10 06:58:54 · 146 阅读 · 0 评论 -
Java Stream之Collectors.groupingBy分组顺序无序
Collectors.groupingBy是Java steam常用分组方法,但默认情况下分组的数据是无序的(因为默认使用的是HashMap),groupingBy有三个参数:第一个参数就是key的Function了,指定分组按照什么分类第二个参数是一个map工厂,也就是最终结果的容器,一般默认的是采用的HashMap::new,指定分组最后用什么容器保存返回第三个参数是一个downstream,类型是Collector,也是一个收集器,指定按照第一个参数分类后,对应的分类的结果如何收集原创 2021-05-13 15:07:05 · 2981 阅读 · 0 评论 -
Java函数式接口
有且只有一个抽象方法的接口被称为函数式接口。原创 2022-11-01 15:17:56 · 333 阅读 · 0 评论 -
Java 关键字总结
作用关键字访问控制private、protected、public类,方法和变量修饰符abstract、class、extends、final、implements、interface、native、new、static、strictfp、synchronized、transient、volatile程序控制break、continue、return、do、while、if、else、for、instanceof、switch、case、default错误处理t...原创 2022-02-21 18:14:04 · 117 阅读 · 0 评论 -
Java.math下BigDecimal的除法保留小数位
想做一个除法保留两位数,隐约记得BigDecimal有一个divide()方法可以设置保留多少位,但是写出来发现已经过时不建议使用。网上找一找发现都是大同小异,都还是说的过时方法:b1.divide(b2,3,BigDecimal.ROUND_HALF_UP)后来查找源码发现 bigdecimal更新把这些变量给提取出来封装成了一个枚举类,其实所以新方法应该是:返回一个BigDecimal ,其值是(this / divisor) ,其标为指定。 如果必须执行以生成与指定的规模的结果舍入,被施原创 2020-11-18 14:04:12 · 1305 阅读 · 0 评论 -
Java“值传递”
Java基本类型是直接存储在栈上的,而引用类型则是存储在堆上的,栈上只存储一个对象的引用。int i = 1;String str = new String ("str");两个变量存储图:分别给变量赋值i = 0;str = new String ("str1");i只是将栈上值修改为0,而str为String引用类型,所以会重新创建以一个String对象,修改str,让其指向新的堆对象值传递:传递的是存储单元中的内容,而非地址或者引用当一个对象被当作参数传递到一个方法后,此方法原创 2021-06-08 21:15:51 · 88 阅读 · 0 评论 -
Java8新特性学习总结篇
文章目录Lambda 表达式从匿名类到Lambda表达式的转换语法格式一:无参,无返回值,Lambda体只需要一条语句语法格式二:Lambda需要一个参数语法格式三:Lambda只需要一个参数时,参数的小括号可以省略语法格式四:Lambda需要两个参数,并且有返回值语法格式五:Lambda体只有一条语句,return和大括号后可以省略语法格式六:类型推断 类型可省略函数式接口自定义函数式接口函...原创 2020-04-14 00:27:55 · 402 阅读 · 0 评论 -
Java中Stream的distinct()去重方法
文章目录Stream 的distinct()方法API对于String集合的去重对于对象集合的去重对于对象集合中对象某个属性的去重Stream 的distinct()方法API/** * Returns a stream consisting of the distinct elements (according to * {@link Object#equals(Object)}) of this stream. * * <p>For ordere原创 2021-01-26 17:39:39 · 14852 阅读 · 1 评论 -
Java中的BigDecimal
在除法(divide)运算过程中,如果商是一个无限小数,而操作的结果预期是一个精确的数字,那么将会抛出ArithmeticException异常。注意,此舍入模式始终不会减少计算值的大小。注意,此舍入模式始终不会增加计算值的大小。:向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则为向上舍入的舍入模式。:向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。如果舍弃部分左边的数字为奇数,则舍入行为与。:向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则为上舍入的舍入模式。原创 2022-10-28 17:34:06 · 517 阅读 · 0 评论