上一页 1 ··· 7 8 9 10 11 12 下一页
摘要: 题目 给定三个字符串 s1, s2, s3, 验证 s3 是否是由 s1 和 s2 交错组成的。 示例1: 输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac" 输出: true 示例2: 输入: s1 = "aabcc", s2 = "dbbca", 阅读全文
posted @ 2020-07-18 12:20 大嘤熊 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 1.1GC概述 垃圾回收是一种自动的存储管理机制。 当一些被占用的内存不再需要时,就应该予以释放,以让出空间,这种存储资源管理,称为垃圾回收(Garbage Collection)。 垃圾回收器可以让程序员减轻许多负担,也减少程序员犯错的机会。 1.2GC执行时机 GC触发的条件有两种: (1)程序 阅读全文
posted @ 2020-07-18 10:17 大嘤熊 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 程序计数器 每个线程启动的时候,都会创建一个PC(Program Counter,程序计数器)寄存器。PC寄存器里保存有当前正在执行的JVM指令的地址。 每一个线程都有它自己的PC寄存器,也是该线程启动时创建的。保存下一条将要执行的指令地址。PC寄存器的内容总是指向下一条将被执行指令的地址,这里的地 阅读全文
posted @ 2020-07-17 23:19 大嘤熊 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 1.1概述 被native关键字修饰的方法叫做本地方法,本地方法和其它方法不一样,本地方法意味着和平台有关,因此使用了native的程序可移植性都不太高。另外native方法在JVM中运行时数据区也和其它方法不一样,它有专门的本地方法栈。native方法主要用于加载文件和动态链接库,由于Java语言 阅读全文
posted @ 2020-07-17 21:41 大嘤熊 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 1.1定义 JVM在加载类时默认采用的是双亲委派机制。通俗的讲,就是某个特定的类加载器在接到加载类的请求时,首先将加载任务委托给父类加载器,依次递归,如果父类加载器可以完成类加载任务,就成功返回;只有父类加载器无法完成此加载任务时,才自己去加载。 1.2流程 如图所示,当jvm要加载.class的时 阅读全文
posted @ 2020-07-17 20:48 大嘤熊 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 1.1概述 被final修饰的类不可以被继承 被final修饰的方法不可以被重写 被final修饰的变量不可以被改变.如果修饰引用,那么表示引用不可变,引用指向的内容可变.被final修饰的方法,JVM会尝试将其内联,以提高运行效率 被final修饰的常量,在编译阶段会存入常量池中. 1.2引入 观 阅读全文
posted @ 2020-07-16 20:03 大嘤熊 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 1.1作用 防止指令重排 使得多线程下的共享资源能够独自修改使用。解决缓存不一致问题。 1.2相关知识 1.Java内存模型 1.3详解 一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 1.保证了不同线程对这个变量进行操作时的可见性,即一个线程修 阅读全文
posted @ 2020-07-12 11:14 大嘤熊 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 1.1定义 在Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽各个硬件平台和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。那么Java内存模型规定了哪些东西呢,它定义了程序中变量的访问规则,往大一点说是定义了程 阅读全文
posted @ 2020-07-12 10:17 大嘤熊 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 1.1定义 当程序在运行过程中,会将运算需要的数据从主存复制一份到CPU的高速缓存当中,那么CPU进行计算时就可以直接从它的高速缓存读取数据和向其中写入数据,当运算结束之后,再将高速缓存中的数据刷新到主存当中。 举个简单的例子:i = i +1。当线程执行这个语句时,会先从主存当中读取i的值,然后复 阅读全文
posted @ 2020-07-11 11:29 大嘤熊 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 1.1定义 代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。这里存在一种设计思想,不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法。注意这里和适配器模式的区别,前者是需要对原代理类的进行功能上的扩 阅读全文
posted @ 2020-07-10 20:38 大嘤熊 阅读(134) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 下一页