摘要: Java文件在被javac编译成class文件以后,常量池、局部变量等信息就已经存在于class文件中了 阅读全文
posted @ 2023-03-02 09:23 HexThinking 阅读(15) 评论(0) 推荐(0) 编辑
摘要: Linux概述 Linux分类 Linux 的发行版本可以大体分为两类: 商业公司维护的发行版本,以著名的 Red Hat 为代表,比较典型的有 CentOS 。 社区组织维护的发行版本,以 Debian 为代表,比较典型的有 Ubuntu、Debian。 一切皆文件 在 Linux 操作系统中,所有被操作系统管理 阅读全文
posted @ 2023-03-02 09:23 HexThinking 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 类文件结构 根据 Java 虚拟机规范,Class 文件通过 ClassFile 定义,有点类似 C 语言的结构体。 ClassFile 的结构如下: ClassFile { u4 magic; //每个 Class 文件的头 4 个字节称为魔数(Magic Number),它的唯一作用是确定这个文件是否为一个 阅读全文
posted @ 2023-02-26 20:04 HexThinking 阅读(7) 评论(0) 推荐(0) 编辑
摘要: Java编程中new是非常非常频繁的操作,所以其底层实现原理和步骤非常有研究的必要: 1.类加载检查 虚拟机遇到一条 new 指令时,首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载过、解析和初始化过。如果没有,那必须先执行相应的类加载过程。 阅读全文
posted @ 2023-02-25 10:55 HexThinking 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 产生背景 代码测试的工具有很多,比如最常用的单元测试工具Junit、Jupiter、Mockito和PowerMockito,这几个可以说是Java开发者的心头好,代码测试一般都是用这几个里面的某一个或者一组(Mockito和PowerMockito)结合进行使用,现在代码测试的问题可以很好的得到解 阅读全文
posted @ 2023-02-24 08:03 HexThinking 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 什么是IO IO是输入input输出output的首字母缩写形式,直观意思是计算机输入输出,它描述的是计算机的数据流动的过程; 应用程序的IO操作分为两种动作:IO调用和IO执行。IO调用是由进程发起,IO执行是操作系统的工作。 IO流程 以一个进程的输入类型的IO调用为例,它将完成或引起如下工作内 阅读全文
posted @ 2023-02-21 19:52 HexThinking 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 简介 IO是Input和Output的简称,即输入和输出,数据读取到计算机内存中的过程就是输入,内存中的数据输出到外部(如文件和数据库)的过程就是输出。IO 流在 Java 中分为输入流和输出流,而根据数据的处理方式又分为字节流和字符流。 Java IO 流的 40 多个类都是从如下 4 个抽象类基 阅读全文
posted @ 2023-02-19 21:33 HexThinking 阅读(86) 评论(0) 推荐(0) 编辑
摘要: LongAdder详解 出现背景 在以往并发情况下进行累加计数时通常使用AtomicLong,因为其底层是基于cas实现的,高并发下对单一变量进行CAS操作,从而保证其原子性。其它的线程都会进行不断自旋,这就产生了问题,随着并发线程数增加,等待线程的自旋时间也会大幅增加,白白造成了CPU资源的浪费; LongAdder问世 阅读全文
posted @ 2023-02-17 15:59 HexThinking 阅读(315) 评论(0) 推荐(0) 编辑
摘要: List代表有序的,元素可以重复的集合。 ArrayList和LinkedList区别 ArrayList的实现是基于数组,LinkedList的实现是基于双向链表; 对于随机访问ArrayList要优于LinkedList,ArrayList可以根据下标以O(1)时间复杂度对元素进行随机访问,而L 阅读全文
posted @ 2023-02-16 12:20 HexThinking 阅读(34) 评论(0) 推荐(0) 编辑
摘要: Java程序编写具有三大特征: 封装、继承和多态; 封装 对类中的方法和属性进行权限访问控制,只提供特定接口供外部访问,这样一方面增加了代码的规范性,另一方面增加了代码的访问安全性; 封装是面向对象编程语言对客观世界的模拟,在客观世界里,对象的状态信息都被隐藏在对象内部,外界无法直接操作和修改。对一 阅读全文
posted @ 2023-02-13 11:46 HexThinking 阅读(19) 评论(0) 推荐(0) 编辑