centos卸载MySQL8,吐血整理

2023-11-11

一、内存与线程

1、内存结构

内存是计算机的重要部件之一,它是外存与CPU进行沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存性能的强弱影响计算机整体发挥的水平。JVM的内存结构规定Java程序在执行时内存的申请、划分、使用、回收的管理策略,通说来说JVM的内存管理指运行时数据区这一大块的管理。

2、线程运行

JVM中一个应用是可以有多个线程并行执行,线程被一对一映射为服务所在操作系统线程,调度在可用的CPU上执行,启动时会创建一个操作系统线程;当该线程终止时,这个操作系统线程也会被回收。

在虚拟机启动运行时,会创建多个线程,数据区中有的模块是线程共享的,有的是线程私有的:

线程共享:元数据区、堆Heap;

线程私有:虚拟机栈、本地方法栈、程序计数器;

单个CPU在特定时刻只能执行一个线程,所以多线程通过几块空间的使用,然后不断的争抢CPU的执行时间段。

二、元数据空间

基本描述

方法元空间(方法区)在JVM启动的时候被创建,是被各个线程共享的内存空间,用于存放类和方法的元数据以及常量池,比如Class和Method。

在实际的开发中,经常因为加载的类太多,进而导致内存溢出问题,这样可以对元空间的大小进行扩展。

与堆的关系

元空间存放加载的类信息,当类被实例化时,堆中存储实例化的对象信息,并且通过对象类型数据的指针找到类。

三、堆空间

基本描述

JVM启动时创建堆区,是内存管理的核心区,通常情况下也是最大的内存空间,是被所有线程共享的,几乎所有的对象实例都要在堆中分配内存,所以这里也是垃圾回收的重点空间。

堆栈关系

栈是JVM运行时的单位,堆是存储单位,当栈中方法结束,相关对象失去所有引用后,不会马上被移除堆空间,要等到垃圾收集器运行的时候。

最近我根据上述的技术体系图搜集了几十套腾讯、头条、阿里、美团等公司21年的面试题,把技术点整理成了视频(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分

戳这里免费领取下面所有资料

lBLUFRMRFNM)

[外链图片转存中…(img-S1AL8es5-1627292423656)]

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

centos卸载MySQL8,吐血整理 的相关文章

随机推荐

  • 算法——排序——归并排序图解动画

    归并排序 简介 代码示例 排序过程 分解 合并 时间复杂度 空间复杂度 稳定性 简介 归并排序分为两部分 分解 合并 分解 归并算法会把数组分成两个长度相同的子数组 直到无法再分割 每个数组只有一个元素 此过程不消耗时间资源 对应的时间复杂
  • 03 Java_数据类型&变量&运算符

    第二章 数据类型 变量和运算符 double string character integer scanner score name boolean true false Java常用的数据类型 Java语言提供了八种基本类型 六种数字类型
  • activemq的clientId

    这个id如果不设置的话 那么会以电脑主机以及毫秒值加上随机数值来确认 比如 DESKTOP ST4H4BI 61938 1593840777757 0 1 但是也可以设置 但是要注意 activemq不允许多个客户的地址相同且clientI
  • python与数据挖掘 上机实验_python数据挖掘实验报告1

    python数据挖掘实验报告1 python数据挖掘实验报告1 实验内容及步骤 包含简要的实验步骤流程 1 使用Pandas datareader获取任意两支股票近三个月的交易数据 做出收盘价的变动图像 2 使用Pandas datarea
  • 【Paddle NLP入门打卡】实践课1:词向量应用演示 学习笔记

    文章目录 1 下载配置Embedding 2 认识Embedding 3 将词向量映射到低维空间 4 基于TokenEmbedding的词袋模型 5 构造Tokenizer 5 2 查看相似语句相关度 6 使用可视化VisualDL查看句子
  • Java垃圾回收机制、性能优化

    前言 Android开发中经常会遇见应用内存不断增加 或者在处理不当的情况下 造成内存泄漏 严重会导致OOM 但是Java有自动垃圾回收机制 为什么还会造成这种情况呢 那我们通过new关键字创建出来的对象 开启的Activity在什么情况下
  • C++解析字符串获取参数

    文章目录 1 功能说明 2 代码 1 功能说明 一些软件在运行时 需要一些命令 这里使用通过字符串的方式 来获取软件启动需要的一些参数 比如 name1 aaa name2 bbb 有这样一个字符串 通过解析 name1对应的aaa nam
  • 【高危】Google Chrome V8 类型混淆漏洞(CVE-2023-2033)

    漏洞描述 Google Chrome V8是Google开源的JavaScript和WebAssembly引擎 被用在Chrome和Node js等浏览器和平台中 该项目受影响版本存在类型混淆漏洞 攻击者可通过诱导用户打开恶意链接来触发此漏
  • 结构化分析

    1 什么是结构化分析 结构化分析 Structured Analysis 简称SA 简单来说就是是软件工程中的一种面向数据流的需求分析的方法 它的本质是一种创建模型的活动 2 结构化分析的具体步骤有哪些 1 建立当前系统的 具体模型 系统的
  • C++ algorithm 头文件下的常用函数详解

    6 9 algorithm 头文件下的常用函数 使用algorithm头文件 6 9 1 max min 和abs max x y 和min x y 分别返回x和y中的最大值和最小值 abs x 返回x的绝对值 注意浮点型的绝对值请用mat
  • java程序配置dns后超时_Android笔记之解决OkHttp解析dns超时时间无法设置的问题

    问题 使用OkHttp 设备切换路由后 访问网络出现长时间无响应 很久以后才抛出UnknownHostException 这明显不是我们想要的 我们设置的connectTimeout属性似乎对dns的解析不起作用 如何解决 我们先看看OkH
  • FreeRTOS软件定时器

    目录 说明 一 定时器简介 1 1 定时器 1 2 软件定时器 1 3 硬件定时器 1 4 FreeRTOS软件定时器 1 5 软件定时器服务任务作用 1 6 软件定时器的命令队列 1 7 软件定时器相关配置 1 8 单次定时器和周期定时器
  • 基础算法题——折线分割平面(规律)

    题目 测试平台 我们看到过很多直线分割平面的题目 今天的这个题目稍微有些变化 我们要求的是n条折线分割平面的最大数目 比如 一条折线可以将平面分成两部分 两条折线最多可以将平面分成7部分 具体如下所示 Input 输入数据的第一行是一个整数
  • C#泛型类的定义及使用

    C 语言中泛型类的定义与泛型方法类似 是在泛型类的名称后面加上
  • Android Studio怎么打包成APK

    1 确定软件版本 将项目切换到Project 打开app目录下的build gradle文件 versionCode是app的大版本好 为数值类型 默认为1 改成2 versionName是app的具体版本号 为际符串类型 默认为1 0 改
  • Qt--子线程访问主线程

    一 子线程访问主线程数据和方法 原文 Qt C 子线程访问主线程数据和方法 lccsuse 博客园 报错widgets must be creat in the GUI thread 子线程是不能访问GUI对象 主要 Widget cpp
  • 11.最小栈

    题目 思路 维护两个栈 一个栈正常push元素 另一个栈维护每个元素为栈顶元素时的最小栈元素值 stack1 push x val x lt minStack top x minStack top 题解 class MinStack sta
  • MySQL 中的时间戳和日期时间转换函数

    在平时开发中 经常会遇到一些时间范围的查询 比如查询近 7 天内注册的新用户 如果表中存储的是 timestamp 类型 那么开发时 查询数据可能看到的是一个整形的时间戳 不便于阅读 怎么能让查询的结果集中的时间显示正常可读的时间格式呢 答
  • 迭代器c++实现

    迭代器 Iterator 模式的定义 提供一个对象来顺序访问聚合对象中的一系列数据 而不暴露聚合对象的内部表示 class Iterator public Iterator Iterator virtual std string First
  • centos卸载MySQL8,吐血整理

    一 内存与线程 1 内存结构 内存是计算机的重要部件之一 它是外存与CPU进行沟通的桥梁 计算机中所有程序的运行都在内存中进行 内存性能的强弱影响计算机整体发挥的水平 JVM的内存结构规定Java程序在执行时内存的申请 划分 使用 回收的管