自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 Windows + Python3.6 安装 Mayavi 工具包(使用whl方法,from mayavi import mlab不报错)

一、Mayavi需要的依赖包从下载地址下载以下资源包:traits-6.1.1-cp36-cp36m-win_amd64.whl(没用到,安装mayavi-4.7.1时会重新安装traits-6.3.2)VTK-8.2.0-cp36-cp36m-win_amd64.whlmayavi-4.7.1+vtk82-cp36-cp36m-win_amd64.whl这里需要注意的是,cp36 对应 python3.6 版本,vtk82 对应 VTK-8.2 版本,amd64 对应 64 位操作系统二、安

2022-05-15 22:56:13 1470 4

原创 Win10安装superset

一、安装Python环境使用anaconda快速的安装python环境。anaconda其他版本安装包官方地址:https://repo.anaconda.com/archive/安装过程中可以勾选添加环境变量:若选择添加环境变量,可进入cmd命令行,输入指令进行验证:python -V二、Apache Superset安装安装虚拟环境virtualenv(需要安装Python,并配置环境变量)(1)关于虚拟环境virtualenv:在开发Python应用程序的时候,系统安装的Pyt

2021-12-09 19:42:32 985

原创 <JVM笔记:字节码与类的加载>4-再谈类的加载器

4.再谈类的加载器4.1. 概述4.1.1. 介绍4.1.2. 类加载的分类4.1.3. 类加载器的必要性4.1.4. 命名空间4.1.5. 类加载机制的基本特征4.2. ClassLoader源码解析4.2.1. ClassLoader的主要方法4.2.2. SecureClassLoader与URLClassLoader4.2.3. ExtClassLoader与AppClassLoader4.2.4. Class.forName()与ClassLoader.loadClass()4.3. 双亲委派模型

2021-08-26 21:12:49 177

原创 <JVM笔记:字节码与类的加载>3-类的加载过程详解

3. 类的加载过程(类的生命周期)详解3.1. 概述3.2. 过程一:Loading(加载)阶段3.2.1. 加载完成的操作3.2.2. 二进制流的获取方式3.2.3. 类模型与Class实例的位置3.2.4. 数组类的加载3.3. 过程二:Linking(链接)阶段3.3.1. 环节1:链接阶段之Verification(验证)3.3.2. 环节2:链接阶段之Preparation(准备)3.3.3. 环节3:链接阶段之Resolution(解析)3.4. 过程三:Initialization(初始化)阶

2021-08-26 16:52:48 168

原创 <JVM笔记:字节码与类的加载>2-字节码指令集

2. 字节码指令集2.1. 概述2.2. 加载与存储指令2.2.1. 概述2.2.2. 局部变量压栈指令2.2.3. 常量入栈指令2.2.4. 出栈装入局部变量表指令2.3. 算术指令2.3.1. 概述2.3.2. 所有算术指令2.3.3. 比较指令的说明2.4. 类型转换指令2.4.1. 概述2.4.2. 宽化类型转换2.4.3. 窄化类型转换2.5. 对象的创建与访问指令2.5.1. 创建指令2.5.2. 字段访问指令2.5.3. 数组操作指令2.5.4. 类型检查指令2.6. 方法调用与返回指令2.6

2021-08-25 18:54:06 107

原创 <JVM笔记:字节码与类的加载>1-Class字节码文件结构

1. Class字节码文件结构1.1. 概述1.2. 魔数1.3. 文件版本号1.4. 常量池1.5. 访问标志1.6. 类索引、父类索引、接口索引1.7. 字段表集合1.8. 方法表集合1.9. 属性表集合1.1. 概述官方文档位置:https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.htmlClass文件本质任何一个Class文件都对应着唯一 一个类或接口的定义信息,但反过来说,Class文件实际上它并不一定以磁盘文件的形式

2021-08-23 20:09:05 99

原创 <JVM笔记:内存与垃圾回收>13-垃圾回收器

13. 垃圾回收器13.1. GC 分类与性能指标13.2. 不同的垃圾回收器概述13.3. Serial 回收器:串行回收13.4. ParNew 回收器:并行回收13.5. Parallel 回收器:吞吐量优先13.6. CMS 回收器:低延迟13.7. G1 回收器:区域化分代式13.8. 垃圾回收器总结13.9. GC 日志分析13.10. 垃圾回收器的新发展13.1. GC 分类与性能指标13.1.1. 垃圾回收器概述13.1.2. 垃圾收集器分类13.1.3. 评估 GC 的性能指标吞

2021-08-22 15:36:39 168

原创 <JVM笔记:内存与垃圾回收>12-垃圾回收相关概念

12. 垃圾回收相关概念12.1. System.gc()的理解12.2. 内存溢出与内存泄露12.3. Stop The World12.4. 垃圾回收的并行与并发12.5. 安全点与安全区域12.6. 再谈引用:强引用12.7. 再谈引用: 软引用12.8. 再谈引用:弱引用12.9. 再谈引用:虚引用12.10. 再谈引用:终结器引用12.1. System.gc()的理解在默认情况下,通过 System.gc() 或者 Runtime.getRuntime().gc() 的调用,会显式触发 Fu

2021-08-20 18:48:11 185

原创 <JVM笔记:内存与垃圾回收>11-垃圾回收概述及相关算法

11. 垃圾回收概述及算法11.1. 垃圾回收概述11.1.1. 什么是垃圾?11.1.2. 为什么需要 GC11.1.3. 早期垃圾回收11.1.4. Java 垃圾回收机制11.2. 垃圾回收相关算法11.2.1. 标记阶段:引用计数算法11.2.2. 标记阶段:可达性分析算法(根搜索算法、追踪性垃圾收集)11.2.3. 对象的 finalization 机制.11.2.4. MAT 与 JProfiler 的 GC Roots 溯源11.2.5. 清除阶段:标记-清除(Mark-Sweep)算法11.

2021-08-19 17:36:28 377

原创 <JVM笔记:内存与垃圾回收>2-类加载子系统

2. 类加载子系统2.1. 内存结构概述2.2. 类加载器与类的加载过程2.2.1. 类加载器子系统作用2.2.2. 类加载器 ClasLoader 角色2.2.3. 类的加载过程2.3. 类加载器分类2.3.1. 概述2.3.1. 虚拟机自带的加载器2.3.2. 用户自定义类加载器2.4. ClassLoader 的使用说明2.5. 双亲委派机制2.6. 其他2.1. 内存结构概述如果自己想手写一个 Java 虚拟机的话,主要考虑哪些结构呢?(类加载器和执行引擎)2.2. 类加载器与类的加载过

2021-08-18 18:08:51 93

原创 <JVM笔记:内存与垃圾回收>3-运行时数据区及程序计数器

3. 运行时数据区及程序计数器3.1. 运行时数据区3.2. 程序计数器(PC 寄存器)3.1. 运行时数据区概述内存是非常重要的系统资源,是硬盘和 CPU 的中间仓库及桥梁,承载着操作系统和应用程序的实时运行 JVM 内存布局规定了 Java 在运行过程中内存申请、分配、管理的策略,保证了 JVM 的高效稳定运行。不同的 JVM 对于内存的划分方式和管理机制存在着部分差异。结合 JVM 虚拟机规范,来探讨一下经典的 JVM 内存布局。Java 虚拟机定义了若干种程序运行期间会使用到的运行

2021-08-18 16:45:06 80

原创 <JVM笔记:内存与垃圾回收>4-虚拟机栈

4. 虚拟机栈4.1. 虚拟机栈概述4.2. 栈的存储单位4.3. 局部变量表(Local Variables)4.4. 操作数栈(Operand Stack)4.5. 代码追踪4.6. 栈顶缓存(Top-of-Stack Cashing)技术4.7. 动态链接(Dynamic Linking)4.8. 方法的调用4.9. 方法返回地址(return address)4.10. 一些附加信息4.11. 栈的相关面试题4.1. 虚拟机栈概述虚拟机栈出现的背景由于跨平台性的设计,Java 的指令都是根据

2021-08-18 16:08:31 149

原创 <JVM笔记:内存与垃圾回收>5-本地方法接口和本地方法栈

5. 本地方法接口和本地方法栈5.1. 什么是本地方法?5.2. 为什么使用 Native Method?5.3. 本地方法栈5.1. 什么是本地方法?简单地讲,一个 Native Method 是一个 Java 调用非 Java 代码的接囗。一个 Native Method 是这样一个 Java 方法:该方法的实现由非 Java 语言实现,比如 C。这个特征并非 Java 所特有,很多其它的编程语言都有这一机制,比如在 C++中,你可以用 extern “C” 告知 C++编译器去调用一个 C 的函数

2021-08-18 12:42:06 70

原创 <JVM笔记:内存与垃圾回收>6-堆

6. 堆6.1. 堆(Heap)的核心概述6.1.1. 核心概述6.1.2. 堆内存细分6.2. 设置堆内存大小与 OOM6.2.1. 堆空间大小的设置6.2.2. OutOfMemory 举例6.3. 年轻代与老年代6.4. 图解对象分配过程6.5. Minor GC,MajorGC、Full GC6.5.1. 概念解析6.5.2. 最简单的分代式 GC 策略的触发条件6.6. 堆空间分代思想6.7. 内存分配策略(或对象提升(Promotion)规则)6.8. 为对象分配内存:TLAB6.9. 小结:堆

2021-08-17 16:31:18 101

原创 <JVM笔记:内存与垃圾回收>7-方法区

7. 方法区7.1. 栈、堆、方法区的交互关系7.2. 方法区的理解7.2.1. 方法区在哪里?7.2.2. 方法区的基本理解7.2.3. HotSpot 中方法区的演进7.3. 设置方法区大小与 OOM7.3.1. 设置方法区内存的大小7.3.2. 如何解决这些 OOM7.4. 方法区的内部结构7.4.1. 方法区(Method Area)存储什么?7.4.2. 方法区的内部结构7.4.3. 运行时常量池 VS 常量池7.4.4. 运行时常量池7.5. 方法区使用举例7.6. 方法区的演进细节7.7. 方

2021-08-16 17:21:09 103

原创 <JVM笔记:内存与垃圾回收>8-对象实例化及直接内存

8. 对象实例化及直接内存8.1. 对象实例化8.2. 对象内存布局8.3. 对象的访问定位8.3.1. 句柄访问8.3.2. 直接指针(HotSpot 采用)8.4. 直接内存(Direct Memory)8.4.1. 直接内存概述8.4.2. 非直接缓存区8.4.3. 直接缓存区8.1. 对象实例化判断对象对应的类是否加载、链接、初始化虚拟机遇到一条 new 指令,首先去检查这个指令的参数能否在 Metaspace 的常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载

2021-08-15 20:26:39 103

原创 <JVM笔记:内存与垃圾回收>9-执行引擎

9. 执行引擎9.1. 执行引擎概述9.1.1. 执行引擎的作用9.1.2. 执行引擎的工作过程9.2. Java 代码编译和执行过程9.2.1. 什么是解释器(Interpreter)?什么是 JIT 编译器?9.2.2. 为什么 Java 是半编译半解释型语言?9.3. 机器码、指令、汇编语言(了解)9.3.1. 机器码9.3.2. 指令9.3.3. 指令集9.3.4. 汇编语言9.3.5. 高级语言9.3.6. 字节码9.4. 解释器9.4.1. 解释器工作机制9.4.2. 解释器分类9.4.3. 现

2021-08-15 17:51:29 121

原创 <JVM笔记:内存与垃圾回收>10-StringTable(字符串常量池)

10. StringTable10.1. String 的基本特性10.1.1. String 在 jdk9 中存储结构变更10.1.2. String 的基本特性10.2. String 的内存分配10.3. String 的基本操作10.4. 字符串拼接操作10.5. intern()的使用10.5.1. intern 的使用:JDK6 vs JDK7/810.5.2. intern 的效率测试:空间角度10.6. StringTable 的垃圾回收10.7. G1 中的 String 去重操作10.

2021-08-15 15:58:44 209

原创 ssh 多条命令执行

格式:ssh user@ip command单条命令:ssh user@ip command1多条命令:ssh user@ip "command1;command2"ssh user@ip "cmd1 && cmd2"ssh user@ip "cmd1 || cmd2"ssh user@ip "cmd1 && cmd2" 和 ssh user@ip "cmd1;cmd2" 还有 ssh user@ip "cmd1 || cmd2"的区别:&&表.

2021-07-18 15:47:43 2129

原创 Ubuntu Server20.04 静态ip配置(netplan)

一、概述Ubuntu 从 17.01 开始之后的版本,都已放弃在/etc/network/interfaces 里固定IP的配置,而是改成 netplan 方式,配置文件是:/etc/netplan/01-netcfg.yaml(01-network-manager-all.yaml)(添加规则,打头的两位数字01应该类似于udev中的优先级)二、Ubuntu Server 与 Ubuntu DesktopDesktop版本默认安装NetworkManager,并且默认使用NetworkManager

2021-07-17 21:51:25 15299

转载 数据预处理:独热编码(One-Hot Encoding)

一、介绍1 .One-Hot EncodingOne-Hot编码,又称为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效。在实际的机器学习的应用任务中,特征有时候并不总是连续值,有可能是一些分类值,如性别可分为 “male” 和 “female” 。在机器学习任务中,对于这样的特征,通常我们需要对其进行特征数字化,如下面的例...

2020-03-04 22:31:41 680

原创 python实现井字棋小游戏

一、引题井字棋井字棋,英文名叫Tic-Tac-Toe,是一种在3*3格子上进行的连珠游戏,和五子棋类似,由于棋盘一般不画边框,格线排成井字故得名。游戏需要的工具仅为纸和笔,然后由分别代表O和X的两个游戏者轮流在格子里留下标记(一般来说先手者为X),任意三个标记形成一条直线,则为获胜。二、井字棋开发计划第一阶段程序维护井字棋棋盘,并要求两位人类玩家参与游戏。程序需在以下三种情况提升用户:...

2019-12-12 21:46:06 1430

原创 python3 list时间复杂度

一、引题本周在做力扣上的算法题(删除排序数组中的重复项)时,遇到了超出时间限制的问题,后来才知道是我设计的算法时间复杂度过高,于是我就对list的各个基本操作和常用函数的复杂度作了个了解。二、背景知识1.数组是一种线性表结构,其用一块连续的内存空间,来存储一组具有相同类型的数据2.时间复杂度,也叫做渐进时间复杂度,通常用大O公式书写,表示代码的执行时间随数据规模增长的变化趋势,而非真正的执...

2019-12-03 20:07:19 2501 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除