摘要: JAVA 内存运行时区域中的程序计数器、虚拟机栈、本地方法栈随线程而生灭,栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的(尽管在运行期会由 JIT 编译器进行一些优化),因此这几个区域的内存分配和回收都具备确定性,不需要过多 阅读全文
posted @ 2021-11-29 18:02 民宿 阅读(818) 评论(0) 推荐(0) 编辑
摘要: 回调的含义和用途 什么是回调? 一般来说,模块之间都存在一定的调用关系,从调用方式上看,可以分为三类:同步调用、异步调用和回调。同步调用是一种阻塞式调用,即在函数A的函数体里通过书写函数B的函数名来调用之,使内存中对应函数B的代码得以执行。异步调用是一种类似消息或事件的机制解决了同步阻塞的问题,例如 阅读全文
posted @ 2021-11-29 17:37 民宿 阅读(4012) 评论(0) 推荐(1) 编辑
摘要: Lambda表达式 函数式 Functional 接口 只包含一个抽象方法的接口,称为函数式接口。 你可以通过 Lambda 表达式来创建该接口的对象。(若 Lambda 表达式抛出一个受检异常(即:非运行时异常),那么该异常需要在目标接口的抽象方法上进行声明)。 我们可以在一个接口上使用 @Fun 阅读全文
posted @ 2021-11-29 17:26 民宿 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 当程序主动使用某个类时,如果该类还未被加载到内存中,则系统会通过如下三个步骤来对该类进行初始化 加载 将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后生成一个代表这个类的java.lang.Class对象,作为方法区中类数据的访问入口(即引用地址)。所有需要 阅读全文
posted @ 2021-11-29 17:24 民宿 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 代理设计模式的原理: 使用一个代理将对象包装起来,然后用该代理对象取代原始对象。任何对原始对象的调用都要通过代理。代理对象决定是否以及何时将方法调用转到原始对象上。 动态代理是指客户通过代理类来调用其它对象的方法,并且是在程序运行时根据需要动态创建目标类的代理对象。 动态代理使用场合: 1.调试2. 阅读全文
posted @ 2021-11-29 17:17 民宿 阅读(38) 评论(0) 推荐(0) 编辑
摘要: Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API 取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。 加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结 阅读全文
posted @ 2021-11-29 17:15 民宿 阅读(67) 评论(0) 推荐(0) 编辑
摘要: Java 是 Internet上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序。 Java 提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在 Java 的本机安装系统里,由 JVM 进行控制。并且 Java 实现了一个跨平台的网络库,程序员面对的 阅读全文
posted @ 2021-11-29 16:35 民宿 阅读(42) 评论(0) 推荐(0) 编辑
摘要: Java NIO 概述 Java NIO (New IO,Non-Blocking IO) 是从 Java 1.4 版木开始引入的一套新的IO API,可以替代标准的 Java IO APi。NIO 与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的(IO是面向流的)、基 阅读全文
posted @ 2021-11-29 16:32 民宿 阅读(50) 评论(0) 推荐(0) 编辑
摘要: IO 对象流 ObjectInputStream 和 OjbectOutputSteam 用于存储和读取基本数据类型数据或对象的处理流。它的强大之处就是可以把Java中的对象写入到数据源中,也能把对象从数据源中还原回来。 序列化: 用 ObjectOutputStream 类保存基本类型数据或对象的 阅读全文
posted @ 2021-11-29 16:30 民宿 阅读(119) 评论(1) 推荐(0) 编辑
摘要: 标准的输入,输出流 * System.in 和 System.out 分别代表了系统标准的输入和输出设备 * 默认输入设备是: 键盘,输出设备是: 显示器 * System.in 的类型是 InputStream * System.out 的类型是 PrintStream,其是 OutputStre 阅读全文
posted @ 2021-11-29 16:28 民宿 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 转换流提供了在字节流和字符流之间的转换 Java API提供了两个转换流:InputStreamReader : 将 InputStream 转换为 ReaderOutputStreamWriter : 将 Writer 转换为 OutputStream 字节流中的数据都是字符时,转成字符流操作更高 阅读全文
posted @ 2021-11-29 16:25 民宿 阅读(79) 评论(0) 推荐(0) 编辑
摘要: java.io.File类: 文件和文件目6径的抽象表示形式,与平台无关 File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。 想要在 Java 程序中表示一个真实存在的文件或目录,那么必须有一个 File 对象,但是 Ja 阅读全文
posted @ 2021-11-29 16:24 民宿 阅读(37) 评论(0) 推荐(0) 编辑
摘要: User.java package com.klvchen.exer1; public class User { private int id; private int age; private String name; public User() { } public User(int id, i 阅读全文
posted @ 2021-11-29 16:20 民宿 阅读(52) 评论(0) 推荐(0) 编辑
摘要: <?> 允许所有泛型的引用调用 通配符指定上限 上限 extends: 使用时指定的类型必须是继承某个类,或者实现某个接口,即<= 通配符指定下限 下限 super: 使用时指定的类型不能小于操作的类,即 >= Person.java package com.klvchen.java2; publi 阅读全文
posted @ 2021-11-29 16:19 民宿 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 什么是泛型 集合容器类在设计阶段/声明阶段不能确定这个容器到底实际存的是什么类型的对象,所以在 JDK1.5 之前只能把元素类型设计为 Object,JDK1.5 之后使用泛型来解决。因为这个时候除了元素的类型不确定,其他的部分是确定的,例如关于这个元素如何保存,如何管理等是确定的,因此此时把元素的 阅读全文
posted @ 2021-11-29 16:17 民宿 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 一: Map: 双列数据,存储 key-value 对的数据 类似于高中的函数: y = f(×) HashMap: 作为 Map 的主要实现类; 线程不安全的,效率高; 存储null的key和value1.1 LinkedHashMap: 保证在遍历map元素时,可以按照添加的顺序实现遍历。原因: 阅读全文
posted @ 2021-11-29 16:15 民宿 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 集合框架的概述 1.集合是对多个数据进行存储操作的结构,简称Java容器。 说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中) 集合都是以数组和链表为基础实现的。 集合框架 | Collection接口:单列集合,用来存储一个一个的对象 | L 阅读全文
posted @ 2021-11-29 16:13 民宿 阅读(25) 评论(0) 推荐(0) 编辑
摘要: Annotation 其实就是代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。通过使用 Annotation,程序员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充信息。代码分析工具、开发工具和部署工具可以通过这些补充信息进行验证或者进行部署。 Annotation 阅读全文
posted @ 2021-11-29 16:02 民宿 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 1.枚举类的理解:类的对象只有有限个,确定的2.当需要定义一组常量时,强烈建议使用枚举类3.如果枚举类中只有一个对象,则可以作为单例模式的实现方式 package com.klvchen.java; public class SeasonTest1 { public static void main 阅读全文
posted @ 2021-11-29 16:00 民宿 阅读(31) 评论(0) 推荐(0) 编辑
摘要: Java 实现对象排序的方式有两种:自然排序: java.lang.Comparable定制排序: java.util.Comparator 说明: Java中的对象,正常情况下,只能进行比较: == 或 !=。不能使用〉或<的但是在开发场景中,我们需要对多个对象进行排序,言外之意,就需要比较对象的 阅读全文
posted @ 2021-11-29 15:59 民宿 阅读(26) 评论(0) 推荐(0) 编辑