摘要: Vue框架设计:性能权衡的艺术 “框架设计里到处都体现了权衡的艺术。” 当我们设计一个框架的时候,框架本身的各个模块之间并不是相互独立的,而是相互关联、相互制约的。因此作为框架设计者,一定要对框架的定位和方向拥有全局的把控,这样才能做好后续的模块设计和拆分。同样,作为学习者,我们在学习框架的时候,也应该从全局的角度对框架的设计拥有 阅读全文
posted @ 2024-02-26 21:22 城北有个混子 阅读(40) 评论(0) 推荐(0) 编辑
摘要: Ubuntu 安装 Python3.6.7 注意: 不要卸载ubuntu自带的python版本; ubuntu下不同版本的python可以共存,可直接安装python3.6。 1.升级包索引和软件 sudo apt update sudo apt upgrade -y 2.安装编译所需包 sudo apt install build-esse 阅读全文
posted @ 2024-02-19 22:55 城北有个混子 阅读(25) 评论(0) 推荐(0) 编辑
摘要: Ubuntu 环境下安装 Docker 系统要求 Docker目前只能运行在64位平台上,并且要求内核版本不低于3.10,实际上内核越新越好,过低的内核版本容易造成功能不稳定。 用户可以通过如下命令检查自己的内核版本详细信息: $ uname -a Linux ubuntu 4.4.0-131-generic #157-Ubuntu SM 阅读全文
posted @ 2022-10-18 08:10 城北有个混子 阅读(917) 评论(0) 推荐(0) 编辑
摘要: 前言 方法区是运行时数据区的最后一个部分: 从线程共享与否的角度来看: 大家可能在这里有些疑惑,方法区和元空间的关系到底是怎样的?请往下看,下面会为大家解惑。 栈、堆、方法区的交互关系 下面就涉及了对象的访问定位: Person:存放在元空间,也可以说方法区; person:存放在Java栈的局部变 阅读全文
posted @ 2021-01-15 13:59 城北有个混子 阅读(4592) 评论(0) 推荐(5) 编辑
摘要: 堆的核心概念 堆针对一个 JVM 进程来说是唯一的,也就是一个进程只有一个JVM,但是进程包含多个线程,他们是共享同一堆空间的。 一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。 Java堆区在JVM启动的时候即被创建,其空间大小也就确定了。它是 JVM 管理的最大一块内存空间。 阅读全文
posted @ 2021-01-03 15:30 城北有个混子 阅读(620) 评论(0) 推荐(2) 编辑
摘要: 本地方法栈 Java虚拟机栈于管理Java方法的调用,而本地方法栈用于管理本地方法的调用。 本地方法栈,也是线程私有的。 允许被实现成固定或者是可动态扩展的内存大小。(在内存溢出方面是相同的) ✎ 如果线程请求分配的栈容量超过本地方法栈允许的最大容量,Java虚拟机将会抛出一个 StackOverf 阅读全文
posted @ 2021-01-02 14:06 城北有个混子 阅读(279) 评论(0) 推荐(1) 编辑
摘要: 本地方法接口 什么是本地方法? 简单地讲,一个 Native Method 就是一个Java调用非Java代码的接囗。一个 Native Method 是这样一个Java方法:该方法的实现由非Java语言实现,比如 C。这个特征并非Java所特有,很多其它的编程语言都有这一机制,比如在 C++ 中, 阅读全文
posted @ 2021-01-02 14:05 城北有个混子 阅读(212) 评论(0) 推荐(1) 编辑
摘要: 虚拟机栈概述 由于跨平台性的设计,Java 的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。 栈实现的优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。 有不少Java开发人员一提到Java内存结构,就会非常粗略度地将JVM中的内存区 阅读全文
posted @ 2020-12-24 08:54 城北有个混子 阅读(766) 评论(0) 推荐(3) 编辑
摘要: 简介 JVM中的程序计数寄存器(Program Counter Register),Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息,CPU只有把数据装载到寄存器才能够运行。 这里的寄存器,并非是广义上所指的物理寄存器,将其翻译为PC计数器(或指令计数器)更为贴切一些(也称为程 阅读全文
posted @ 2020-12-24 08:52 城北有个混子 阅读(788) 评论(0) 推荐(1) 编辑
摘要: 运行时数据区概述 在JVM 中的位置 内部划分 当我们通过前面的:类的加载 → 验证 → 准备 → 解析 → 初始化 这几个阶段完成后,执行引擎就会对我们的类进行使用,同时执行引擎将会使用到我们的运行时数据区。 运行时数据区处在JVM 的内存区域。我们通过磁盘或者网络IO得到的数据,都需要先加载到内 阅读全文
posted @ 2020-12-24 08:51 城北有个混子 阅读(246) 评论(0) 推荐(1) 编辑