XFCall java学习之旅
java一系列知识
xfcall
路漫漫其求远兮,吾将上下而求索
个人博客(建设中):https://xfcall.github.io/
展开
-
动态代理 JDK CGLIB
JDK代理实现接口 CGLIIB不用JDK代理public interface HelloWord { public void sayHelloWorld();}public class HelloWorldImpl implements HelloWord{ @Override public void sayHelloWorld() { System.out.println("Hello World"); }}import org.j原创 2020-06-27 18:01:29 · 64 阅读 · 1 评论 -
XFCall java学习笔记(八)
类型信息class 对象类是程序的一部分,每个类都有一个 Class 对象。为了生成这个类的对象,Java 虚拟机 (JVM) 先会调用"类加载器"子系统把这个类加载到内存中。类加载器首先会检查这个类的 Class 对象是否已经加载,如果尚未加载,默认的类加载器就会根据类名查找 .class 文件。所有 Class 对象都属于 Class 类,Class.forName("Gum");我们可以使用 forName() 根据目标类的类名(String)得到该类的 Class 对象.如果.原创 2020-05-26 06:41:05 · 93 阅读 · 0 评论 -
XFCall java学习笔记(七)
流式编程在接口中添加被 default(默认)修饰的方法。通过这种方案,设计者们可以将流式(stream)方法平滑地嵌入到现有类中。java.util.Stream.of()将一组元素转化为流每个集合都可以通过调用 stream() 方法来产生一个流待学异常异常说明:在方法后加throwvoid f() throws TooBig, TooSmall, DivZero { // ..代码必须与异常说明保持一致。如果方法里的代码产生了异常却没有进行处理,编译器会发.原创 2020-05-25 16:50:28 · 105 阅读 · 0 评论 -
XFCall java学习笔记(六)
函数式接口Java 8 引入了 java.util.function 包。它包含一组接口,这些接口是 Lambda 表达式和方法引用的目标类型。 每个接口只包含一个抽象方法,称为函数式方法。在编写接口时,可以使用 @FunctionalInterface 注解强制执行此“函数式方法”模式(可选)java 8 允许我们将函数赋值给接口高阶函数import java.util.function.*;interfaceFuncSS extends Function<String, S.原创 2020-05-25 03:29:24 · 94 阅读 · 0 评论 -
XFCall java学习笔记(五)
集合ArrayList默认存Object对象ArrayList<Apple> apples = new ArrayList<Apple>();左边<…>限制类型,左边的<…>可以不写,使用泛型在get()对象时,不用转型。同时可以用父类型当泛型参数容器接口List 特定的顺序保存一组元素 set 元素不允许重复 queue集合一端插入对象mapCollection添加元素组Arrays.asList.原创 2020-05-24 22:33:19 · 78 阅读 · 0 评论 -
XFCall java学习笔记(四)
内部类内部类拥有外部类所有元素的访问权在内部使用外部类的使用,用外部类名.thispublic class DotThis { void f() { System.out.println("DotThis.f()"); } public class Inner { public DotThis outer() { return DotThis.this; } }创建内部类对象,则用外部类对象创建,.原创 2020-05-24 10:20:40 · 136 阅读 · 0 评论 -
XFCall java学习笔记(三)
抽象类 abstract包含抽象方法的类叫做抽象类,也可以没有抽象方法,不用全是抽象方法。如果一个类包含一个或多个抽象方法,那么类本身也必须限定为抽象的。同时类的对象不可创建。当可以有构造器。abstract class Basic { abstract void unimplemented();}继承抽象类的新类并为之创建对象,那么就必须为基类的所有抽象方法提供方法定义。不定义则仍然是一个抽象类,方法可以是public,protect,不能是private。内部数据可以接口.原创 2020-05-24 03:19:59 · 101 阅读 · 0 评论 -
XFCall java学习笔记(二)
当你使用可变参数列表时,在两个方法都要加上可变参数列表,避免编译器歧义:public class OverloadingVarargs3 { static void f(float i, Character... args) { System.out.println("first"); } static void f(char c, Character... args) { System.out.println("second"); }原创 2020-05-24 03:17:45 · 118 阅读 · 0 评论 -
XFCall java学习笔记(一)
对象new 出来的对象都是保存在堆内存中的不是使用 new 创建变量,而是使用一个“自动”变量。 这个变量直接存储"值",并置于栈内存中,因此更加高效。基本类型有自己对应的包装类型,如果你希望在堆内存里表示基本类型的数据,就需要用到它们的包装类或者使用 自动装箱Character ch = 'x';对象作用域Java 对象与基本类型具有不同的生命周期。当我们使用 new 关键字来创建 Java 对象时,它的生命周期将会超出作用域。基本类型默认值无参构造器原创 2020-05-23 15:37:21 · 157 阅读 · 0 评论