java面试强基(21)

news2024/11/30 14:37:02

 

 

什么是线程和进程?

何为进程?

​ 进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。

​ 在 Java 中,当我们启动 main 函数时其实就是启动了一个 JVM 的进程,而 main 函数所在的线程就是这个进程中的一个线程,也称主线程。

何为线程?

​ 线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。与进程不同的是同类的多个线程共享进程的堆和方法区资源,但每个线程有自己的程序计数器、虚拟机栈和本地方法栈,所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程。

请简要描述线程与进程的关系,区别及优缺点? 

​ 一个进程中可以有多个线程,多个线程共享进程的堆和方法区 (JDK1.8 之后的元空间)**资源,但是每个线程有自己的程序计数器、虚拟机栈和 **本地方法栈。

​ 总结: 线程是进程划分成的更小的运行单位。线程和进程最大的不同在于基本上各进程是独立的,而各线程则不一定,因为同一进程中的线程极有可能会相互影响。进程作为资源分配的基本单位,线程作为资源调度的基本单位。

程序计数器为什么是私有的? 

程序计数器主要有下面两个作用:

  1. 字节码解释器通过改变程序计数器来依次读取指令,从而实现代码的流程控制,如:顺序执行、选择、循环、异常处理。
  2. 在多线程的情况下,程序计数器用于记录当前线程执行的位置,从而当线程被切换回来的时候能够知道该线程上次运行到哪儿了。

所以,程序计数器私有主要是为了线程切换后能恢复到正确的执行位置。

说说并发与并行的区别? 

  • 并发:两个及两个以上的作业在同一 时间段 内执行。
  • 并行:两个及两个以上的作业在同一 时刻 执行

 

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

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

相关文章

提质增效!北京筑龙助力蒙牛集团采招数智化升级

近两年,全球经济下行压力加剧,市场形势波动使得集团企业面临着很大的经营压力。随着数字经济时代的到来,利用数字技术重构价值链、重组业务流程,或创建新的生态系统平台成为集团企业数字化转型的契机。 蒙牛电子采购招标平台作为…

WEB网页设计期末作业个人主页——基于HTML+CSS制作个人简介网站

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

现实中的项目范围变更

大多数招投标或签合同的项目(TOG或TOB),范围变更是极少的,一旦发起范围变更申请,这个流程是非常复杂的,而且会有负面影响,尤其是TOG的项目。 项目范围变更,往往会引起项目金额变更,核减、增加、不变都有可能。 TOG项目的范围变更,常是因为政策变了、上级要求等不可…

(附源码)Springboot网上购物平台 毕业设计 141422

Springboot网上购物平台的开发 摘 要 随着Internet的使用越来越广泛,在传统的商业模式中,对于日常各类商品,人们习惯于到各种商家店铺购买。然而在快节奏的新时代中,人们不一定能为购买各类商品腾出时间,更不会耐心挑…

Docker管理工具Portainer忘记admin登录密码怎么办?

Portainer官网解决方法链接 https://docs.portainer.io/v/ce-2.11/advanced/reset-admin 炒鸡详细步骤! 1.查看所有容器,包括未运行的 docker ps -a 2.找到Portainer对应信息 3.停止Portainer容器 docker stop portainerid 我这里就应该是 docker stop 507566…

Unity VFX图表初级到中级教程

Unity VFX图表初级到中级教程 从 Unity 学习新的视觉效果工具并开始制作一些很棒的魔法效果 课程英文名:Unity VFX Graph - Beginner To Intermediate 此视频教程共4.5小时,中英双语字幕,画质清晰无水印,源码附件全 下载地址 …

【脚本项目源码】Python制作提升成功率90%的表白神器

前言 明天就是拥抱情人节,情侣们会在公开的场合拥抱,向世人宣告你俩的爱意,也让这个寒冷的冬天变得格外温馨。到了年底依然能热情拥抱,也见证了两人情意如昔。 今天小鱼就给大家带来就是的利用Python制作表白神器,记…

年末消费高峰,警惕“大牌平替”的陷阱

就在眼前的双十二,接踵而来的圣诞跨年与春节,买买买的黄金时段,作为消费者,少不了要接受各式营销广告的狂轰滥炸。如今纷繁复杂的消费市场,大家都擦亮了眼睛追求性价比,如果你也曾被“五分之一价格买到大牌…

【云计算与大数据计算】分布式处理CPU多核、MPI并行计算、Hadoop、Spark的简介(超详细)

一、CPU多核和POISX Thread 为了提高任务的计算处理能力,下面分别从硬件和软件层面研究新的计算处理能力 在硬件设备上,CPU 技术不断发展,出现了SMP(对称多处理器)和 NUMA(非一致 性内存访问)两种高速处理的 CPU 结构 在软件层面出现了多进程和多线程编程。进程…

【王道计算机网络笔记】网络层-网络层概述和编址

文章目录IP数据报格式IP数据报分片例题IPv4地址分类的IP地址网络地址转换NAT子网划分与子网掩码无分类编址CIDR主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层的传输单位是数据报,数据报是一个比较长的数据&#xff0c…

基于51单片机的智能热水器无线WiFi控制系统proteus仿真原理图程序

功能: 0.本项目采用STC89C52作为单片机系统的控制MCU 1.LCD1602液晶实时显示温度阈值、当前温度和定时时间 2.支持按键和红外遥控设置温度阈值和定时时间 3.通过传感器检测,判定当前值是否超过设定的阈值,然后对相关继电器进行控制 4.支持声光…

使用DevExpress WPF主题设计器轻松创建Office 2019绿色主题(二)

DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 DevExpress WPF的The…

数据结构C语言版 —— 时间复杂度空间复杂度概念和计算

文章目录时间复杂度&空间复杂度1. 算法效率2. 时间复杂度1) 时间复杂度的概念2) 大O的渐近表示法3) 时间复杂度案例举例3. 空间复杂度1) 空间复杂度概念2) 计算实例时间复杂度&空间复杂度 1. 算法效率 算法效率分析一般分为两种,一种是时间效率&#xff0…

Unity初学者Shader Graph教程

Unity初学者Shader Graph教程 了解面向非程序员的 Unity 引擎可视化着色器编程工具的来龙去脉 课程英文名:Your Ultimate Guide to Shader Graph for Beginners 此视频教程共28.0小时,中英双语字幕,画质清晰无水印,源码附件全 …

基于C++实现(WinForm)家谱管理系统【100010033】

⼀、需求分析 《家谱管理系统》程序的设计⽬的,是为了解决中国传统家谱不易保存、不易修改、不易统计的缺陷。利⽤计算机程序,可以实现在计算机上存储、管理、查看家谱的相关信息。 ⽬标功能: 建⽴家谱:在计算机上建⽴树状家谱结…

二叉树算法

写在前面 树的定义 typedef struct Node {int data;struct Node *lchild,*rchild; }Bnode,*Btree;最近公共祖先 已知一棵二叉树按顺序存储结构进行存储,设计一个算法,求编号分别为i和j的两个节点的最近公共祖先节点的值。 算法思想: 顺序…

牛客竞赛每日俩题 - Day9

目录 日期推算 分解因数 日期推算 美国节日__牛客网 思路: 首先,我们要想找到一个月第N个星期W,一定需要一个参照物,最好的目标当然是这个月的第一天。拿到参照物后,我要能得 到参照物的星期数,然后就能…

马来酰亚胺聚乙二醇叠氮,MAL-PEG-N3,Maleimide-PEG-Azide

马来酰亚胺聚乙二醇叠氮(MAL-PEG-N3)是MeloPEG的硫醇反应性“点击化学”PEG交联剂之一。马来酰亚胺与pH 6.5-7.5的游离巯基/巯基迅速反应,形成稳定的,不可裂解的硫醚键。马来酰亚胺和硫醇的反应使得叠氮化物功能性PEG能够快速有效…

[附源码]Python计算机毕业设计Django的家政服务平台

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

设计模式-Acyclic Visitor(非循环访问者模式)

目的:允许将新功能添加到现有的类层次结构中,而不会影响这些层次结构,也不会有四人帮访客模式中那样循环依赖的问题。 类图: 使用场景: 需要在现有层次结构中添加新功能而无需更改或影响该层次结构时。 当某些功能在层…