狂神docker

news2024/11/19 5:38:56
狂神说 docker

参考文章
-----docker 概述 docker 为什么会出现?–环境部署麻烦,两套环境(开发-运维) 我的电脑可以运行,到你那就不可用。 开发即运维–开发打包部署上线一条龙 环境配置十分麻烦,机器部署耗时间(redis,es hadoop 费时费力) 发布项目时,带上环境—引出 docker–开发打包部署上线,一套流程做完

java—jar(环境)–打包项目带上环境(镜像)—docker 仓库(商店)----下载我们发布的镜像----直接运行
镜像机制

docker 思想(集装箱)

----互相隔离----多个应用(端口冲突)
打包装箱,即互相隔离----可以将服务器利用到极致----(一键安装)


docker 历史:
2010 年,美国 dotCloud—做一些 pass 的云计算服务—容器化技术
2013 年,Docker 开源—发现 docker 优点–后面每个月去更新版本
2014 年,Docker1.0 发布
虚拟机笨重,镜像轻巧===秒级启动,小巧
Docker 基于 Go 语言开发

docker 能干嘛?
虚拟机技术缺点:资源占有多,冗余步骤多,启动很慢
容器化技术:不是模拟一个完整的操作系统,直接运行在宿主机的内核

DevOps(开发/运维)—应用的快速交付和部署
docker 打包镜像发布测试,一键运行
更便捷的升级和扩缩容
更简单的系统运维
更高效的计算资源利用(docker 是内核级别的虚拟机,一个物理机上可以运行很多容器实例)

Docker 安装 镜像:image。 就好比一个模版,通过模版去创建容器服务,一个镜像可以创建多个容器 容器:container 利用容器技术,独立运行一个或者一个组应用。通过镜像创建—启动,停止,删除等—简易的 linux 系统 仓库:repository。 存放镜像的地方–公有仓库和私有仓库 DockerHub(配置镜像加速)

安装 Docker—会一点 linux 基础
Centos7–xshell 连接远程服务器操作
NAME=“CentOS Linux”
VERSION=“7 (Core)”
ID=“centos”
ID_LIKE=“rhel fedora”
VERSION_ID=“7”
PRETTY_NAME=“CentOS Linux 7 (Core)”
ANSI_COLOR=“0;31”
CPE_NAME=“cpe:/o:centos:centos:7”
HOME_URL=“https://www.centos.org/”
BUG_REPORT_URL=“https://bugs.centos.org/”
CENTOS_MANTISBT_PROJECT=“CentOS-7”
CENTOS_MANTISBT_PROJECT_VERSION=“7”
REDHAT_SUPPORT_PRODUCT=“centos”
REDHAT_SUPPORT_PRODUCT_VERSION=“7”

yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
sudo yum install -y yum-utils
阿里云镜像
sudo yum-config-manager
–add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新 yum 软件包索引
yum makecache fast
安装社区版
sudo yum install docker-ce docker-ce-cli containerd.io
启动 docker
systemctl start docker
是否安装成功
docker version
启动 hello
docker run hello-world
–查看镜像 docker images
—卸载 docker
–卸载依赖 yum remove docker-ce docker-ce-cli containerd.io
—删除资源 rm -rf /var/lib/docker

阿里云镜像加速 配置镜像加速器

sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-‘EOF’ { “registry-mirrors”: [“https://ex92k179.mirror.aliyuncs.com”] } EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

docker 底层原理:—怎么工作的
docker 是一个 cs 结构的系统,docker 是一个守护进程,运行在主机上,通过 Socket 从客户端访问。Docker-Server 收到了 Docker-Client 的指令,就执行这个命令。
docker 有比虚拟机更少的抽象层
docker 利用的宿主机的内核

Docker 的常用命令

帮助命令

docker 命令 --help 帮助命令
docker info 显示 docker 的系统信息
docker version 版本
帮助文档 https://docs.docker.com/engine/reference/commandline/docker/
docker images 查看所有镜像
docker search 搜索
docker pull 下载 分层下载-- image 核心 联合文件系统
docker rmi -f+ 镜像 id

在这里插入图片描述

REPOSITORY 仓库源

tag 标签

image ID 镜像 id

created 创建时间

size 大小

docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql
72a69066d2fe: Pull complete
93619dbc5b36: Pull complete
99da31dd6142: Pull complete
626033c43d70: Pull complete
37d5d7efb64e: Pull complete
ac563158d721: Pull complete
d2ba16033dad: Pull complete
688ba7d5c01a: Pull complete
00e060b6d11d: Pull complete
1c04857f594f: Pull complete
4d7cfa90e6ea: Pull complete
e0431212d27d: Pull complete
Digest: sha256:e9027fe4d91c0153429607251656806cc784e914937271037f7738bd5b8e7709
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest

容器命令

可以下载一个 centos 做测试

docker pull centos
docker run [可选参数] image

# 参数说明
--name=“Name”   容器名字    tomcat01    tomcat02    用来区分容器
-d      		后台方式运行
-it     		使用交互方式运行,进入容器查看内容
-p      		指定容器的端口     -p 8080:8080
    -p  ip:主机端口:容器端口
    -p  主机端口:容器端口(常用)
    -p  容器端口
    容器端口
-P      		随机指定端口
 
# 测试,启动并进入容器
[root@localhost ~]# docker run -it centos /bin/bash
[root@31225df28944 /]# ls	 # 查看容器内的centos,基础版本,很多命令是不完善的
bin  etc   lib	  lost+found  mnt  proc  run   srv  tmp  var
dev  home  lib64  media       opt  root  sbin  sys  usr

# 从容器中退回主机
[root@31225df28944 /]# exit
exit
[root@localhost ~]# ls
anaconda-ks.cfg       公共  视频  文档  音乐
initial-setup-ks.cfg  模板  图片  下载  桌面

docker run [可选参数] image

–name=“Name” 容器名字

-d 后台运行

-it 使用交互的方式运行。进入容器查看内容

-p 指定容器端口 -p 8080:8080

-p ip:主机端口:容器端口

-p 主机端口:容器端口(常用)

-p 容器端口

-P 随机指定端口

# docker ps 命令
        # 列出当前正在运行的容器
-a      # 列出正在运行的容器包括历史容器
-n=?    # 显示最近创建的容器
-q      # 只显示当前容器的编号
 
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

[root@localhost ~]# docker ps -a
CONTAINER ID   IMAGE         COMMAND       CREATED         STATUS                     PORTS     NAMES
31225df28944   centos        "/bin/bash"   8 minutes ago   Exited (0) 3 minutes ago             blissful_leavitt
7be2b60ed0c5   hello-world   "/hello"      9 days ago      Exited (0) 9 days ago                agitated_goodall

[root@localhost ~]# docker ps -a -n=1
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS                     PORTS     NAMES
31225df28944   centos    "/bin/bash"   11 minutes ago   Exited (0) 6 minutes ago             blissful_leavitt

[root@localhost ~]# docker ps -aq
31225df28944
7be2b60ed0c5

docker ps -a 列出当前正在运行的容器(+带出历史运行的)

docker ps -n=? 显示最近创建的容器 -q 只显示容器的编号

退出容器. exit 容器停止并退出。 Ctrl+P+Q. 容器不停止退出。

—递归删除。 docker rm -f $(docker ps -aq) 删除所有容器

docker ps -a -q | xargs docker rm 删除所有容器

docker start/stop/kill/restart

查看日志

docker logs -f -t --tail +镜像

docker logs -ft --tail 10 01d53172752a

format timestamp 格式化时间戳 2023-09-16T12:57:25.407826385Z huanghao

docker run -d centos /bin/sh -c “while true;do echo huanghao;sleep 1;done”

docker inspect 容器 id—容器元数据

进入当前正在运行的容器 docker exec -it 容器 ID bashShell(进入容器后开启一个新的终端)

docker attach 容器 id(进入正在执行的终端,正在执行当前的代码,不启动新的进程)

从容器内拷贝文件到主机上(拷贝是一个手动过程—使用卷实现自动同步)

docker cp 容器 ID:容器内文件路径 目的主机路径

docker cp ba388b2978b9:/home/test.java /home

在这里插入图片描述

attach    Attach to a running container  #当前shell下attach连接指定运行镜像
build     Build an image from a Dockerfile  #通过Dockerfile定制镜像
commit    Create a new image from a container's changes  #提交当前容器为新的镜像
# 从容器中拷贝指定文件或者目录到宿主机中
cp    	  Copy files/folders from a container to a HOSTDIR or to STDOUT  
create    Create a new container  #创建一个新的容器,同run 但不启动容器
diff      Inspect changes on a container's filesystem  #查看docker容器变化
events    Get real time events from the server#从docker服务获取容器实时事件
exec      Run a command in a running container#在已存在的容器上运行命令
# 导出容器的内容流作为一个tar归档文件(对应import)
export    Export a container's filesystem as a tar archive  
history   Show the history of an image  #展示一个镜像形成历史
images    List images  #列出系统当前镜像
# 从tar包中的内容创建一个新的文件系统映像(对应export)
import    Import the contents from a tarball to create a filesystem image  
info      Display system-wide information  #显示系统相关信息
inspect   Return low-level information on a container or image  #查看容器详细信息
kill      Kill a running container  #kill指定docker容器
# 从一个tar包中加载一个镜像(对应save)
load      Load an image from a tar archive or STDIN  
login     Register or log in to a Docker registry#注册或者登陆一个docker源服务器
logout    Log out from a Docker registry  #从当前Docker registry退出
logs      Fetch the logs of a container  #输出当前容器日志信息
pause     Pause all processes within a container#暂停容器
# 查看映射端口对应的容器内部源端口
port      List port mappings or a specific mapping for the CONTAINER  
ps        List containers  #列出容器列表
# 从docker镜像源服务器拉取指定镜像或者库镜像
pull      Pull an image or a repository from a registry  
# 推送指定镜像或者库镜像至docker源服务器
push      Push an image or a repository to a registry  
rename    Rename a container  #重命名容器
restart   Restart a running container  #重启运行的容器
rm        Remove one or more containers  #移除一个或者多个容器
# 移除一个或多个镜像(无容器使用该镜像才可以删除,否则需要删除相关容器才可以继续或者-f强制删除)
rmi       Remove one or more images  
run       Run a command in a new container  #创建一个新的容器并运行一个命令
save      Save an image(s) to a tar archive#保存一个镜像为一个tar包(对应load)
search    Search the Docker Hub for images  #在docker hub中搜索镜像
start     Start one or more stopped containers#启动容器
# 统计容器使用资源
stats     Display a live stream of container(s) resource usage statistics  
stop      Stop a running container  #停止容器
tag       Tag an image into a repository  #给源中镜像打标签
top       Display the running processes of a container #查看容器中运行的进程信息
unpause   Unpause all processes within a container  #取消暂停容器
version   Show the Docker version information#查看容器版本号
# 截取容器停止时的退出状态值
wait      Block until a container stops, then print its exit code  

Docker 安装 Nginx

docker run -d --name nginx01 -p 3344:80 nginx

在这里插入图片描述

每次改动 nginx 配置文件,都需要进入容器内部?十分麻烦—如果可以在容器外部提供一个映射路径,达到在容器修改文件名,容器内部就可以自动修改。 -v 数据卷

docker 安装 tomcat9

# 我们之前的启动都是的后台,停止容器之后,容器还是可以查到 docker run -it --rm ,一般用来测试,用完即删除

# 官方镜像
docker run -it --rm tomcat:9.0

# 我们之前的启动都是的后台,停止容器之后,容器还是可以查到   docker run -it --rm ,一般用来测试,用完即删除


# 下载再启动
docker pull tomcat:9.0

# 启动运行
docker run -d -p 3355:8080 --name tomcat01 tomcat

# 测试外网可以访问了

# 进入容器
docker run -d -p 3355:8080 --name tomcat01 tomcat

# 发现问题:1、Linux命令少了, 2、没有webapps。 阿里云镜像的原因。默认是最小的镜像,所有不必要的都剔除掉。
# 保证最小可运行的环境
思考问题: 我们以后要部署项目,如果每次都要进入容器是不是十分麻烦?要是可以在外部提供一个映射路径,webapps,在外部放置项目,就自动同步到内部就好了!

# 发现问题:1、Linux 命令少了, 2、没有 webapps。 阿里云镜像的原因。默认是最小的镜像,所有不必要的都剔除掉。 # 保证最小可运行的环境

Docker 部署 es + kibana

# es 暴露的端口很多
# es 十分的耗内存
# es数据一般需要挂载到安全目录
# --net somenetwork ? 网络配置
# -e "discovery.type=single-node" 集群单个节点


# 启动 elasticsearch
✘ ⚡ root@VM-12-13-centos  ~  docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2

# 发现问题: 启动了就会发现服务器就卡住了

# docker stats 查看cpu状态

# 测试es是否能够成功

 ✘ ⚡ root@VM-12-13-centos  ~  curl localhost:9200
{
  "name" : "01cd3b077bf4",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "z6GHnaQCT4m_o9Mfrp1_dQ",
  "version" : {
    "number" : "7.6.2",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f",
    "build_date" : "2020-03-26T06:34:37.794943Z",
    "build_snapshot" : false,
    "lucene_version" : "8.4.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}


# 增加内存限制,修改配置文件 -e 环境配置修改
✘ ⚡ root@VM-12-13-centos  ~  docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2

管理镜像工具-----portainer 图形化界面工具—Rancher(CI/CD再用)

docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer

# 测试---970408hh  local
[root@iZ2zeg4ytp0whqtmxbsqiiZ home]# curl localhost:8088
<!DOCTYPE html
><html lang="en" ng-app="portainer">

# 外网访问 http://ip:8088

Docker镜像讲解

镜像是什么

所有的应用,直接打包成docker镜像,就可以直接跑起来。
   如何得到镜像:从远程仓库下载   朋友拷贝   自己制作一个镜像DockerFile

镜像加载原理

UnionFS(联合文件系统)

UnionFs(联合文件系统):Union文件系统(UnionFs)是一种分层、轻量级并且高性能的文件系统,他支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下( unite several directories into a single virtual filesystem)。Union文件系统是 Docker镜像的基础。镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像
特性:一次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录。

docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统UnionFS。

boots(boot file system)主要包含 bootloader和 Kernel, bootloader主要是引导加 kernel, Linux刚启动时会加bootfs文件系统,在 Docker镜像的最底层是 boots。这一层与我们典型的Linux/Unix系统是一样的,包含boot加载器和内核。当boot加载完成之后整个内核就都在内存中了,此时内存的使用权已由 bootfs转交给内核,此时系统也会卸载bootfs。
rootfs(root file system),在 bootfs之上。包含的就是典型 Linux系统中的/dev,/proc,/bin,/etc等标准目录和文件。 rootfs就是各种不同的操作系统发行版,比如 Ubuntu, Centos等等。

对于个精简的OS,rootfs可以很小,只需要包合最基本的命令,工具和程序库就可以了,因为底层直接用Host的kernel,自己只需要提供rootfs就可以了。由此可见对于不同的Linux发行版, boots基本是一致的, rootfs会有差別,因此不同的发行版可以共用bootfs.

虚拟机是分钟级别,容器是秒级!

分层理解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1017961.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Social微信登录

微信登录的appId获得可在微信开放平台申请&#xff0c;以下用测试号 1、完成WeixinProperties 用测试账号登录 public class WeixinProperties {private String appId "wxd99431bbff8305a0";private String appSecret "60f78681d063590a469f1b297feff3c4&q…

基于SSM+Vue的医学生在线学习交流平台

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用Vue技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

【数字人】1、SadTalker | 使用语音驱动单张图片合成视频(CVPR2023)

Sad Talker&#xff1a;使用一张图片和一段语音来生成口型和头、面部视频 论文&#xff1a;SadTalker: Learning Realistic 3D Motion Coefficients for Stylized Audio-Driven Single Image Talking Face Animation 代码&#xff1a;https://github.com/Winfredy/SadTalker …

Linux命令200例:dip用于用户与远程主机建立通信连接

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;CSDN领军人物&#xff0c;全栈领域优质创作者✌。CSDN专家博主&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0…

Stable DIffusion 炫酷应用 | AI嵌入艺术字+光影光效

目录 1 生成AI艺术字基本流程 1.1 生成黑白图 1.2 启用ControlNet 参数设置 1.3 选择大模型 写提示词 2 不同效果组合 2.1 更改提示词 2.2 更改ControlNet 2.2.1 更改模型或者预处理器 2.2.2 更改参数 3. 其他应用 3.1 AI光影字 本节需要用到ControlNet&#xff0c;可…

6.前端·新建子模块与开发(常规开发)

文章目录 学习资料常规开发创建组件与脚本菜单创建-新增自定义图标菜单创建-栏目创建 学习资料 https://www.bilibili.com/video/BV13g411Y7GS?p12&vd_sourceed09a620bf87401694f763818a31c91e 常规开发 创建组件与脚本 首先新建前端的目录结构&#xff0c;属于自己业…

CTF 全讲解:[SWPUCTF 2022 新生赛]webdog1__start

文章目录 参考环境题目learning.php信息收集isset()GET 请求查询字符串全局变量 $_GET MD5 绕过MD5韧性脆弱性 md5()弱比较隐式类型转换字符串连接数学运算布尔判断 相等运算符 MD5 绕过科学计数法前缀 0E 与 0e绕过 start.php信息收集头部检索 f14g.php信息收集 探秘 F1l1l1l1…

Springboot 实践(18)Nacos配置中心参数自动刷新测试

前文讲解了Nacos 2.2.3配置中心的服务端的下载安装&#xff0c;和springboot整合nacos的客户端。Springboot整合nacos关键在于使用的jar版本要匹配&#xff0c;文中使用版本如下&#xff1a; ☆ springboot版本: 2.1.5.RELEASE ☆ spring cloud版本 Greenwich.RELEASE ☆ sp…

Python 算数运算符

视频版教程 Python3零基础7天入门实战视频教程 Python支持所有的基本算术运算符&#xff0c;这些算术运算符用于执行基本的数学运算&#xff0c;如加、减、乘、除和求余等。下面是7个基本的算术运算符。 以下&#xff0c;假设变量a为10&#xff0c;变量b为21&#xff1a; 实…

OpenCV之YOLOv3目标检测

&#x1f482; 个人主页:风间琉璃&#x1f91f; 版权: 本文由【风间琉璃】原创、在CSDN首发、需要转载请联系博主&#x1f4ac; 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 目录 前言 一、预处理 1.获取分类名 2.获取输出层名称 3.图像尺度变换 二…

【JavaSE笔记】初识Java

一、前言 Java是一种非常优秀的程序设计语言&#xff0c;它具有令人赏心悦目的语法和易于理解的语义。 本文将通过一个简单的Java程序&#xff0c;介绍Java的一些基础内容。 二、Java基本结构 1、简单的Java程序 从最简单的一个Java程序开始逐渐了解Java语言。 以下是一段…

数学建模——微分方程介绍

一、基础知识 1、一阶微分方程 称为一阶微分方程。y(x0)y0为定解条件。 其常规求解方法&#xff1a; &#xff08;1&#xff09;变量分离 再两边积分就可以求出通解。 &#xff08;2&#xff09;一阶线性求解公式 通解公式&#xff1a; 有些一阶微分方程需要通过整体代换…

echarts的折线图,在点击图例后,提示出现变化,不报错。tooltip的formatter怎么写

在点击图例的年后&#xff0c;提示框会相应的变化&#xff0c;多选和单选都会响应变化。tooptip的重度在formatter tooltip:{show:true,trigger:"axis",alwaysShowContent:true,triggerOn:"mousemove",textStyle:{color:"#fff"},backgroundColor…

结构体-时间的计算

任务描述 本关任务需要你编写函数计算一个时间之前“xx小时xx分xx秒”的时间是多少。 以24小时制的格式记录当前时间&#xff0c;譬如“09:19:52”&#xff0c;表示上午9点19分52秒&#xff0c;则“1小时20分30秒”前的时间应该是“同一天”的“07:59:22”。 提示&#xff1a;…

Scapy 解析 pcap 文件从HTTP流量中提取图片

Scapy 解析 pcap 文件从HTTP流量中提取图片 前言一、网络环境示例二、嗅探流量示例三、pcap 文件处理最后参考 ​ 作者&#xff1a;高玉涵 ​ 时间&#xff1a;2023.9.17 10:25 ​ 环境&#xff1a;Linux kali 5.15.0-kali3-amd64&#xff0c;Python 3.11.4&#xff0c;scapy…

解决Springboot使用Junit测试时对数据库的修改无效

现象 在使用Junit做单元测试的过程中&#xff0c;比如对mybatis的dao进行单元测试&#xff0c;发现对数据库的select操作正常&#xff0c;可以获取数据&#xff0c;但insert、update、delete操作即使运行不报错&#xff0c;仍然不能不能对数据产生修改和插入。 原因和解决 原…

d3dx9_42.dll丢失修复指南,如何修复丢失的d3dx9_42.dll文件

d3dx9_42.dll是DirectX 9的一个动态链接库文件&#xff0c;它是许多游戏和软件的必需组件。如果缺少这个文件&#xff0c;可能会导致程序无法正常运行。本文将详细讲解d3dx9_42.dll的作用以及丢失的原因&#xff0c;并提供5种修复方法。 一、d3dx9_42.dll的作用 1. d3dx9_42.d…

IDEA创建完Maven工程后,右下角一直显示正在下载Maven插件

原因&#xff1a; 这是由于新建的Maven工程&#xff0c;IDEA会用它内置的默认的Maven版本&#xff0c;使用国外的网站下载Maven所需的插件&#xff0c;速度很慢 。 解决方式&#xff1a; 每次创建 Project 后都需要设置 Maven 家目录位置&#xff08;就是我们自己下载的Mav…

操作系统学习笔记-精简复习版

文章目录 操作系统概述1、操作系统2、主要功能3、用户态和内核态4、系统调用 进程管理1、进程和线程2、引入线程的好处3、线程间同步4、进程控制块 PCB5、进程的状态6、进程的通信方式7、进程的调度算法8、僵尸进程&孤儿进程9、死锁 内存管理1、内存碎片2、内存管理3、虚拟…

2023面试知识点一

1、新生代和老年代的比例 默认的&#xff0c;新生代 ( Young ) 与老年代 ( Old ) 的比例的值为 1:2 ( 该值可以通过参数 –XX:NewRatio 来指定 )&#xff0c;即&#xff1a;新生代 ( Young ) 1/3 的堆空间大小。老年代 ( Old ) 2/3 的堆空间大小。其中&#xff0c;新生代 ( …