摘要: 将Java编译为本地代码 通常Java程序的执行流程为:将Java代码编译为Byte Code(字节码),然后JVM执行引擎执行编译好的Byte Code。这是一种中间语言的特性,它的好处就是可以做到平台的无关性,一份代码可以在任意的平台上运行。而且JVM语言采用了JIT(Just In Time) 阅读全文
posted @ 2021-04-09 20:52 霍丙南 阅读(1448) 评论(0) 推荐(0) 编辑
摘要: 问题描述 我使用的Material Studio软件版本为8.0,之前使用的时候好好的,突然出现了灾难性故障:(Exception form HRESULT:0x8000FFFF (E_UNEXPECTED))。查阅相关论坛后发现了两种可能引起这个错误的原因,这里我比较倾向于第二种情况导致的,若第二 阅读全文
posted @ 2021-04-07 19:10 霍丙南 阅读(2598) 评论(1) 推荐(1) 编辑
摘要: Java volatile关键字详解 volatile是java中的一个关键字,用于修饰变量。被此关键修饰的变量可以禁止对此变量操作的指令进行重排,还有保持内存的可见性。 简言之它的作用就是: 禁止指令重排 保持内存的可见性 禁止指令重排 CPU在执行代码时,为了提高执行效率,有时会将代码乱序执行。 阅读全文
posted @ 2021-03-11 19:34 霍丙南 阅读(612) 评论(0) 推荐(0) 编辑
摘要: 线程安全问题是一个老生常谈的问题,那么多线程环境下究竟有那些问题呢?这么说吧,问题的形式多种多样的,归根结底的说是共享资源问题,无非可见性与有序性问题。 1. 可见性 可见性是对于内存中的共享资源来说。线程作为单一的控制流,在运行的程序内线程必须拥有一些资源作为开销。例如线程的堆栈和私有的程序计数器 阅读全文
posted @ 2021-03-10 21:27 霍丙南 阅读(170) 评论(0) 推荐(0) 编辑
摘要: FutureTask浅析 FutureTask是与Java多线程编程关联密切的一个概念。面试中也有关于FutureTask的问题——Java创建线程的几种方式: 编写类继承Thread。 编写类继承Runnable,然后将该类的作为参数传递给Thread的构造函数。 使用FutureTask。 那么 阅读全文
posted @ 2021-03-10 20:43 霍丙南 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 生产者消费者问题 背景 在并发编程中,生产者消费者问题(producer/consumer)是一个经典的老生常谈的问题,有时也称为有界缓冲区问题。 问题的基本背景假设是:我们有一个固定大小的缓冲区,这个缓冲区分别有两种工作性质不同的线程去操作。其中一种线程负责向缓冲区中写入数据,我们称之为生产者线程 阅读全文
posted @ 2021-03-10 20:07 霍丙南 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题目要求 给一个数组nums和一个值val你需要原地移除所有值为val的元素,并返回移除后数组的新长度。 不能使用额外的数组空间,你必须使用O(1)的空间复杂度完成对输入数组的修改。 其中元素的顺序可以改变,你不需考虑数组中超出新长度后面的元素。 示例1: 输入:nums = [3, 2, 2, 3 阅读全文
posted @ 2021-03-01 12:26 霍丙南 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 题目大意 有一个子类Child继承类父类Parent,当执行Child child = new Child()时,父类静态块,父类非静态块,父类构造函数,子类静态块,子类非静态块,子类构造函数,它们的执行顺序是什么? 答案 父类静态块 子类静态块 父类非静态块 父类构造函数 子类非静态块 子类构造 阅读全文
posted @ 2021-02-22 21:08 霍丙南 阅读(54) 评论(0) 推荐(0) 编辑
摘要: ThreadPoolExecutor是Java语言对于线程池的实现。池化技术是一种复用资源,减少开销的技术。线程是操作系统的资源,线程的创建与调度由操作系统负责,线程的创建与调度都要耗费大量的资源,其中线程创建需要占用一定的内存,而线程的调度需要不断的切换线程上下文造成一定的开销。同时线程执行完毕之 阅读全文
posted @ 2021-02-21 19:07 霍丙南 阅读(720) 评论(0) 推荐(0) 编辑
摘要: Java开发常用的复制粘贴项目(持续更新) Maven Mybatis SpringBoot Maven POM.xml文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0. 阅读全文
posted @ 2021-02-18 14:01 霍丙南 阅读(103) 评论(0) 推荐(0) 编辑