- 博客(12)
- 收藏
- 关注
原创 JVM内存模型与内存分配机制
JVM内存模型与内存分配机制 虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程。new指令对应到语言层面上讲是,new关键词、对象克隆、对象序列化等。
2023-03-12 17:55:20
116
原创 JVM类加载机制
加载 ==> 验证 ==> 准备 ==> 解析 ==> 初始化 ==> 使用 ==> 卸载。加载: 通过IO读入其字节码 使用到该类是才会加载在堆中生成Class对象 作为方法区入口。初始化: 对类的静态变量初始化为指定值 执行静态代码块。解析: 将符号引用转为直接引用 (静态链接)准备: 给类的静态变量分配内存 并赋初值。验证: 校验字节码文件的准确性。
2023-03-09 21:12:11
85
原创 Linux常用命令
【Linux简介】【Linux简介】Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
2023-03-08 23:28:51
95
原创 使用 Github Pages 和 Hexo 搭建自己的独立博客
– HexoHexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。– 安装 Node.js点击此处访问官网,下载所需相应版本,默认安装可以了{% fb_img https://cdn.jsdelivr.net/gh/SHUAIME/imgHome/YAN-PIC/03.png %}– 安装 ...
2020-04-13 17:19:10
326
原创 设计模式之七大原则
设计模式的目的1) 代码重用性 (即:相同功能的代码,不用多次编写)2) 可读性 (即:编程规范性, 便于其他程序员的阅读和理解)3) 可扩展性 (即:当需要增加新的功能时,非常的方便,称为可维护)4) 可靠性 (即:当我们增加新的功能后,对原来的功能没有影响)5) 使程序呈现高内聚,低耦合的特性分享金句:6) 设计模式包含了面向对象的精髓,“懂了设计模式,你就懂了面向对象分析和设计...
2020-04-13 17:16:40
184
原创 数据结构和算法之排序算法
【冒泡排序】基本介绍冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。代码实现package com.yan.sort;public class BubbleSort { @Test//测试排序功能 pub...
2020-04-13 17:14:48
177
原创 数据结构和算法之稀疏数组和队列
【稀疏数组】基本介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:记录数组一共有几行几列,有多少个不同的值把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模稀疏数组举例说明应用实例使用稀疏数组,来保留二维数组(棋盘、地图等等)把稀疏数组存盘,并且可以从新恢复原来的二维数组数代码实现pac...
2020-04-13 17:13:41
124
原创 深入理解JVM
JVM体系结构类装载器ClassLoader负责加载class文件,class文件在文件开头有特定的文件标示,将class文件字节码内容加载到内存中,并将这些内容转换成方法区中的运行时数据结构并且ClassLoader只负责class文件的加载,至于它是否可以运行,则由执行引擎(Execution Engine)决定虚拟机自带的加载器 启动类加载器(Bootstrap)C++...
2020-04-13 17:09:33
173
原创 【Java学习篇】集合
【思维导图】【Java集合划分】【Java集合简介】Java集合是java提供的一个工具包,全部继承自`java.util.*`。主要包括两大接口`Collection`接口和`Map`接口以及相关的工具类(`Iterator`迭代器接口、`Enumeration`枚举类、`Arrays`和`Colletions`)Collection是一个接口,包含List列表和Set集合。其...
2020-03-11 10:33:10
254
原创 【Java学习篇】多线程
【思维导图】【线程的创建】线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位线程创建基本方式为: 继承Thread类 实现Runnable接口 通过 Callable 和 Future 创建线程//继承Thead类package com.thread; public class ThreadTest extends Thread{ int...
2020-03-08 12:06:23
1275
原创 【Java学习篇】IO流
【思维导图】【IO流分类】根据处理数据类型的不同分为字节流 和 字符流根据数据流向不同分为输出流 和 输入流字节流和字符流的区别字符流底层是字节流字符流需要考虑编码问题 字节流不需要字符流只能操作文本文件 字节流可以操作所有文件字节流是直接操作文件的 字符流是通过缓存操作文件输入流和输出流输入流只能进行读操作,输出流只能进行写操作,程序中需要根据待传输数据的不...
2020-03-08 12:02:49
225
原创 Docker容器化
1 Docker简介1.1 什么是虚拟化 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储...
2020-03-05 14:22:51
309
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人