java
文章平均质量分 78
xushiyu1996818
这个作者很懒,什么都没留下…
展开
-
java 函数式接口与Lambda表达式
函数式接口:接口中只能有一个抽象方法,其他的可以有default、static、Object里继承的方法等。 作用:在Java中主要用在Lambda表达式和方法引用(想使用Lambda表达式, 接口必须为函数式接口)。只有确保接口中有且只有一个抽象方法,Java中的lambda才能顺利推导。 JDK8专门提供了@FunctionalInterface注解,用来进行编译检查。就是说一个接口有这个注解了,一定是函数式接口,必须满足函数式接口的要求,不然就编译出错!...原创 2022-08-10 16:23:09 · 590 阅读 · 0 评论 -
java序列化总结
注意:本文参考 Java 序列化 JDK序列化总结 - ixenos - 博客园对象序列化是什么1、对象序列化就是把一个对象的状态转化成一个字节流。我们可以把这样的字节流存储为一个文件,作为对这个对象的复制(深拷贝);在一些分布式应用中,我们还可以把对象的字节流发送到网络上的其他计算机。反序列化是把流结构的对象恢复为其原有形式2、Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比JVM的生命周期..原创 2021-12-03 23:42:35 · 1269 阅读 · 0 评论 -
java Stream总结
目录什么是 Stream?函数式Stream与普通过程式的区别Stream的API生成流forEachmapfilterlimitsorted并行(parallel)程序Collectors统计Stream 是怎么实现的?总观全局定义输入源定义流水线节点组装流水线启动流水线copyInto()回顾注意:本文参考了 原来你是这样的 Stream —— 浅析 Java Stream 实现原理 - 知乎Java 8 Str..原创 2021-12-03 23:30:49 · 725 阅读 · 0 评论 -
java异常总结
目录Java 异常类层次结构图受检查异常不受检查异常Throwable 类常用方法try-catch-finallytry-with-resourcesJava 异常类层次结构图图片来自:https://simplesnippets.tech/exception-handling-in-java-part-1/图片来自:https://chercher.tech/java-programming/exceptions-java在 Java 中,所有的异常都有一原创 2021-12-03 23:43:22 · 138 阅读 · 0 评论 -
java回调总结
目录回调简介什么是回调函数(Callback Function)举个栗子(回调的应用场景)回调优点Java的回调-浅Java的回调-中Java的回调-深同步回调与异步回调注意:本文参考Java的回调-由浅入深(保证简单易懂)_fengye454545的博客-CSDN博客_java回调JAVA回调机制(CallBack)详解 - 知乎Java回调机制总结 - 带妳心菲 - 博客园回调简介回调是个很简单的机制。在这里我用简单的语言先来解释一下:假设有两个类..原创 2021-12-03 23:41:16 · 816 阅读 · 0 评论 -
java 枚举总结
目录什么是枚举枚举语法枚举的创建与使用样例声明枚举枚举类EnumMap 与 EnumSetEnumMap 类EnumSet 类枚举的7种用法用法一:常量用法二:switch用法三:向枚举中添加新方法用法四:覆盖枚举的方法用法五:实现接口用法六:使用接口组织枚举用法七:关于枚举集合的使用枚举类的底层实现Enum基础源码创建过程枚举底层结构静态代码块编译器添加的values方法编译器添加的valueOf方法生成的内.原创 2021-12-03 23:39:22 · 1472 阅读 · 0 评论 -
java注解总结
java注解简介注解,也叫元数据。一种代码级别的说明,在JDK1.5之后引入的特性,与类、接口、枚举同一层次。可以声明在包、类、字段、方法、局部变量、方法参数等前面,来对这些元素进行说明,注释等。作用分类:1)编写文档:通过代码里的标识的元数据生成文档【生成文档doc文档】2)代码分析:通过代码里的标识的元数据对代码进行分析【使用反射】3)编译检查:通过代码里的标识的元数据让编译器能过实现基本的编译检查【Override】元注解java提供了四个元注解,所谓元注解就是负责注解其他原创 2021-12-03 23:30:26 · 267 阅读 · 0 评论 -
java泛型总结
泛型Java 泛型了解么?什么是类型擦除?介绍一下常用的通配符?Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。Java 的泛型是伪泛型,这是因为 Java 在运行期间,所有的泛型信息都会被擦掉,这也就是通常所说类型擦除 。List<Integer> list = new ArrayList<>();.原创 2021-12-03 23:27:37 · 1071 阅读 · 0 评论 -
java 类和接口总结
创建一个对象用什么运算符?对象实体与对象引用有何不同?new 运算符,new 创建对象实例(对象实例在堆内存中),对象引用指向对象实例(对象引用存放在栈内存中)。一个对象引用可以指向 0 个或 1 个对象(一根绳子可以不系气球,也可以系一个气球);一个对象可以有 n 个引用指向它(可以用 n 条绳子系住一个气球)。...原创 2021-11-28 23:44:59 · 834 阅读 · 0 评论 -
java 构造函数总结
一个类的构造方法的作用是什么? 若一个类没有声明构造方法,该程序能正确执行吗? 为什么?构造方法主要作用是完成对类对象的初始化工作。如果一个类没有声明构造方法,也可以执行!因为一个类即使没有声明构造方法也会有默认的不带参数的构造方法。如果我们自己添加了类的构造方法(无论是否有参),Java 就不会再添加默认的无参数的构造方法了,这时候,就不能直接 new 一个对象而不传递参数了,所以我们一直在不知不觉地使用构造方法,这也是为什么我们在创建对象的时候后面要加一个括号(因为要调用无参的构造方法)。如果我原创 2021-11-28 23:44:29 · 364 阅读 · 0 评论 -
java反射总结
注意:本文参考 docs/java/basis/反射机制详解.md · SnailClimb/JavaGuide - Gitee.com何为反射?如果说大家研究过框架的底层原理或者咱们自己写过框架的话,一定对反射这个概念不陌生。反射之所以被称为框架的灵魂,主要是因为它赋予了我们在运行时分析类以及执行类中方法的能力。通过反射你可以获取任意一个类的所有属性和方法,你还可以调用这些方法和属性。反射机制优缺点优点: 可以让咱们的代码更加灵活、为各种框架提供开箱即用的功能提供了便利缺...原创 2021-12-03 23:26:25 · 456 阅读 · 0 评论 -
java 函数与变量总结
什么是方法的返回值?方法的返回值是指我们获取到的某个方法体中的代码执行后产生的结果!(前提是该方法可能产生结果)。返回值的作用是接收出结果,使得它可以用于其他的操作!方法有哪几种类型?1.无参数无返回值的方法// 无参数无返回值的方法(如果方法没有返回值,不能不写,必须写void,表示没有返回值)public void f1() { System.out.println("无参数无返回值的方法");}2.有参数无返回值的方法/*** 有参数无返回值的方法* 参数列原创 2021-11-28 23:43:33 · 920 阅读 · 0 评论 -
java基本类型,Object,String总结
== 和 equals() 的区别==对于基本类型和引用类型的作用效果是不同的:对于基本数据类型来说,==比较的是值。对于引用数据类型来说,==比较的是对象的内存地址。因为 Java 只有值传递,所以,对于 == 来说,不管是比较基本数据类型,还是引用数据类型的变量,其本质比较的都是值,只是引用类型变量存的值是对象的地址。equals()作用不能用于判断基本数据类型的变量,只能用来判断两个对象是否相等。equals()方法存在于Object类中,而Object类是所有类的直接或...原创 2021-11-28 23:46:00 · 668 阅读 · 0 评论 -
java基础知识总结
Java 语言有哪些特点?简单易学;面向对象(封装,继承,多态);平台无关性( Java 虚拟机实现平台无关性);支持多线程( C++ 语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,而 Java 语言却提供了多线程支持);可靠性;安全性;支持网络编程并且很方便( Java 语言诞生本身就是为简化网络编程设计的,因此 Java 语言不仅支持网络编程而且很方便);java生态非常完善JVM vs JDK vs JREJVMJava 虚原创 2021-11-28 23:46:33 · 566 阅读 · 0 评论 -
java 基础类Unsafe源码分析
https://blog.csdn.net/x18829525953/article/details/102520603?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control原创 2020-11-29 20:36:10 · 318 阅读 · 0 评论 -
java基础接口 Appendable源码分析
/* * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */package java.lang;import java.io.IOE.原创 2020-11-13 21:09:52 · 541 阅读 · 0 评论 -
java基础接口 Readable源码分析
/* * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */package java.lang;import java.io.IOE.原创 2020-11-12 07:17:16 · 233 阅读 · 0 评论 -
java基础接口 Flushable源码分析
package java.io;import java.io.IOException;/** * Flushable是可以刷新的数据的目的地。 * 调用flush方法将任何缓冲输出写入到依赖的流。 * * @since 1.5 */public interface Flushable { /** * 通过将任何缓冲输出写入底层流来刷新此流。 * * @throws IOException If an I/O error occurs ...原创 2020-11-06 15:50:28 · 244 阅读 · 0 评论 -
java基础接口 Closeable,AutoCloseable,try-with-resource
Closeable/* * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */package java.io;import ja原创 2020-10-27 15:10:48 · 846 阅读 · 0 评论 -
Java运算符执行顺序总结
目录简介自增和比较符的执行顺序加自己的运算符与等于号简介单目:单目运算符 + – (负数) ++ -- 等乘除:算数单目运算符* / % + -移位:位移单目运算符<< >>关系:关系单目运算符> < >= <= == !=逻辑:逻辑单目运算符&& || & | ^三目:三目单目运算符A > B ? X : Y赋值:赋值=该表中优先级按照从高到低的顺序书写,也就是...原创 2020-06-22 17:30:35 · 4592 阅读 · 0 评论 -
java 传递的方法参数修改总结
目录总体代码字符串与基本类型对象,容器类,数组总结总体代码package test.t05new;import java.util.ArrayList;import java.util.Arrays;public class Test9 { public static void main(String[] args){ //test String String str = "value"; TestClass原创 2020-06-15 15:00:57 · 1687 阅读 · 0 评论 -
java 所有版本的新特性
目录背景改名java 1.0java 1(JDK1.1 1997-2-19)java 2(JDK1.2 1998-12-4)java 3(JDK1.3 2000-5-8)Java 4(JDK 1.4 2002-2-13)java 5(JDK 1.5 2004-9-30)java 6(JDK6 2006-12-11)java 7(JDK7 2011-7-28)java 8(JDK8 2014-3-18)java 9(JDK9 2017-9-22)java 1原创 2020-06-10 20:39:45 · 257 阅读 · 0 评论 -
jdk内置工具
参考 https://www.cnblogs.com/EasonJim/p/7483311.htmlJDK是一个功能强大的Java开发套装,它不仅仅为我们提供了Java运行环境,还给开发人员提供了许多有用的开发组件(位于bin目录中,如下图所示)。仅仅使用JDK,就能够解决我们在Java开发过程中遇到的许多问题。下面,我们就按照工具文件名称的英文顺序来逐一介绍JDK内置的工具。工具名称 描述 appletviewer.exe 用于运行并浏览applet小程序。 apt..原创 2020-06-10 20:14:21 · 263 阅读 · 0 评论 -
java 负数的mod
public class Test9 { public static void main(String[] args) { System.out.println((7)%(3)); System.out.println((-7)%(3)); System.out.println((7)%(-3)); System.out.println((-7)%(-3)); }}结果1-11-1结论:负数参与的取模运算规则:先忽略负号,按照正数运算..原创 2020-06-10 19:49:03 · 1514 阅读 · 0 评论 -
java 面向对象总结
继承简单的说,继承就是在一个现有类型的基础上,通过增加新的方法或者重定义已有方法(下面会讲到,这种方式叫重写)的方式,产生一个新的类型。继承是面向对象的三个基本特征--封装、继承、多态的其中之一,我们在使用JAVA时编写的每一个类都是在继承,因为在JAVA语言中,java.lang.Object类是所有类最根本的基类(或者叫父类、超类),如果我们新定义的一个类没有明确地指定继承自哪个基类,那么JAVA 就会默认为它是继承自Object类的。我们可以把JAVA中的类分为以下三种:类:使用c...原创 2020-06-10 14:52:04 · 1594 阅读 · 0 评论 -
java try catch finally执行顺序总结
目录返回值的执行顺序finally语句在return语句执行之后return返回之前执行的finally块中的return语句会覆盖try块中的return返回如果finally语句中没有return语句覆盖返回值,那么原来的返回值可能因为finally里的修改而改变也可能不变try块里的return语句在异常的情况下不会被执行,这样具体返回哪个看情况当发生异常后,catch中的return执行情况与未发生异常时try中return的执行情况完全一样总结抛出异常catch原创 2020-06-04 17:37:36 · 507 阅读 · 1 评论 -
java内部类总结
内部类含义在Java编程语言里,程序是由类(class)构建而成的。在一个类的内部也可以声明类,我们把这样的类叫做内部类。Java内部类可分为成员内部类、局部内部类、匿名内部类、静态内部类。内部类作用实现了更好的封装,我们知道,普通类(非内部类)的访问修饰符不能为private或protected,而内部类可以。当我们将内部类声明为private时,只有外部类可以访问内部类,很好地隐藏了内部类。内部类可以继承(extends)或实现(implements)其他的类或接口,而不受外部类的影原创 2020-05-11 11:59:19 · 208 阅读 · 0 评论 -
java 函数式接口Consumer源码分析
目录简介accept方法andThen方法经典应用-iterable扩展类介绍简介Consumer是一个函数式接口,它有一个需要覆盖的方法accept,代表接受一个参数输入且没有任何返回值的操作。不同于其它的函数式接口,Consumer期望通过方法的实现来执行具体的操作。accept方法可以看到它接受一个参数,什么都不返还 /** * ...原创 2019-06-18 14:41:54 · 994 阅读 · 4 评论 -
java抽象类Number源码分析
目录简介4个抽象方法2个已经实现的方法简介Number类是数字包装类的超类,并且可以看到它实现了Serializable接口,说明它的子类也实现了Serializable。这个类有6个方法,为xxxValue,xxx为6个原始数字类型,分别代表从这个Number实现类,转换为对应原始类型的值。/** * <p>抽象类Number是平台类的超类,代表...原创 2019-07-16 16:51:51 · 371 阅读 · 0 评论 -
java接口Serializable源码分析
目录简介类的注释简介实现了Serializable接口的类,可以进行序列化和反序列化;没有实现这个接口的类的任何(state)状态/域或者属性值不能被序列化可以看到这是一个空接口类的注释package java.io;/** * <p>实现java.io.Serializable接口的类支持类的序列化。 * 没有实现这个接口的类的状态不...原创 2019-07-15 17:53:24 · 468 阅读 · 0 评论 -
java 基础类Object及接口Cloneable 源码分析
目录简介普通方法registerNativesgetClasshashCodeequalscloneclone方法对于的Cloneable接口toString与线程有关的方法notify及notifyAllwait的三个方法finalize简介 Object类作为java所有类中的超类,是java继承体系中真正的根节点,其实我们在学习的过...原创 2019-07-03 15:19:37 · 280 阅读 · 0 评论 -
java数组最大长度
Java 中数组的最大长度是多少呢?看一下它的length属性就可以了。length属性是32位的有符号整数,它的最大值是2的31次幂,就是2G。为何有这个限制呢?为什么length的属性不是long型呢?我们假设一下,如果它是long型的,那么它的最大长度是2的63次幂。内存永远也不会有那么大吧。即使是字节数组长度是int的,最大长都达到2GB.由此想到了String,这个家伙底层也是基于数...原创 2019-06-18 11:45:55 · 9332 阅读 · 1 评论 -
java for循环的执行顺序
例如for(int i=0;i<length;i++){ xxxxxx}1 设置i=02 判断i<length(而不是直接执行xxxxx)3 如果判断成功,执行xxxx,判断失败,结束for循环4 执行xxxx结束后,执行i++,跳转到步骤2所以说一开始是执行i=0 i<length xxxxxx i++最后执行 此时...原创 2019-06-21 10:47:18 · 374 阅读 · 0 评论 -
java 求int平均值防止溢出
方法1start + (end - start) / 2方法2int mid = (start + end) >>> 1它通过移位实现了除以 2,但。。。这样难道不会导致溢出吗?首先大家可以补一下 补码 的知识。其实问题的关键就是这里了>>> ,我们知道还有一种右移是>>。区别在于>>为有符号右移,右移以后最...原创 2019-05-27 17:48:09 · 1076 阅读 · 1 评论 -
关于java的File.seperator总结
File.seperator在 UNIX 系统上,此字段的值为 '/';在 Microsoft Windows 系统上,它为 '\\'。注意:如果要设置在本系统上的文件路径,则要用FIle.seperator但是,如果不是设置在本系统,而是在比如ftp服务器的路径,则要用/ 而不是seperator,因为本系统如果是windows,会变成\\...原创 2019-01-23 15:56:35 · 962 阅读 · 0 评论 -
后端分页插件 pageBar
这个pagebar工具,是我在网上找到两个分页插件,合并修改而成的下载地址为https://gitee.com/xushiyu/java_web_tools/tree/master/src/javaweb/pagebar首先本插件共分三个部分,PageBar.java PageBar.jsp PageBar.css java文件是一个java类,封装了记录的总条数,当前页,每页...原创 2018-11-02 16:08:04 · 2653 阅读 · 0 评论 -
java 二进制与负数互相转化
负数表示首先我们要对原码、反码和补码有个了解:1、所谓原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。2、反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。原码10010= 反码11101 (10010,1为符号码,故为负)(11101) 二进制= -13 十进制3、补码表示法规定:正数的补码与其原码相同;...原创 2018-10-22 10:39:48 · 7449 阅读 · 0 评论 -
java 位运算
一,Java 位运算0.负数表示首先我们要对原码、反码和补码有个了解:1、所谓原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。2、反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。原码10010= 反码11101 (10010,1为符号码,故为负)(11101) 二进制= -13 十进制3、补码表示法规定...转载 2018-10-18 10:19:14 · 285 阅读 · 0 评论 -
stringbulider api总结
public final class StringBuilder extends Object implements Serializable, CharSequence一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换...原创 2018-08-10 11:26:55 · 388 阅读 · 0 评论 -
java-String常用api总结
java.lang 类 Stringjava.lang.Object 继承者 java.lang.String所有已实现的接口: Serializable, CharSequence, Comparable<String> --------------------------------------------------------------------------...原创 2018-08-10 11:06:23 · 829 阅读 · 0 评论