【Java EE初阶---多线程(初阶)】初识计算机

Java EE 5 SDK架构 此应用程序模型减少了企业应用程序的开发时间,降低了开发难度,还提高了其性能。客户机层作为Java EE架构的前端,该层托管在客户机系统上运行的客户机应用程序,并处理用户的输入。Java EE 5平台使组织开发企业应用程序的成本更少、速度更高、资源占用更少。符合Java EE标准的应用服务器提供了用管理Java EE 组建的各种容器,如applet、servlet、JSP及EJB。此外,它们还管理所部署的组建的生命周期。所有企业应用程序都要求实现各种复杂的服务,如安全性、事务和状态管理、资源池及多线程。 阅读详情

乐观学习,乐观生活,才能不断前进啊!!!

我的主页:optimistic_chen

我的专栏:c语言 ,Java ,Java数据结构
欢迎大家访问~
创作不易,大佬们点赞鼓励下吧~

前言

经过了之前数据结构的学习,相信大多数人已经相比与开始的自己,已经有了十足的进步,结束数据结构的学习,为了揭开计算机背后神秘的面纱,同时为了更好迎接更多挑战,下面就让我们一起进入【Java EE初阶】部分吧!

计算机的历史

相比较于一座房子大小的初代计算机,目前我们普遍接触到的计算机已经很小、很便捷了。为了不断满足人类对计算的需求,从初代机械计算机到现在的电子计算机,科学家们遵循:更快捷、更稳定、更微型。
如果想要了解更加专业的计算机历史,可以去看看这本书:《计算机简史》

冯诺依曼体系

约翰·冯·诺依曼匈牙利犹太裔美籍数学家、计算机科学家、物理学家和化学家,美国国家科学院院士

计算机之父

在这里插入图片描述
如图可见,他的确是计算机祖师爷级别的人物。
那为什么要提到这位“祖师爷”呢?
现代的计算机大多数都遵循冯诺依曼体系结构
在这里插入图片描述

~ cpu(中央处理器):进行算术运算和逻辑判断
~存储器: 分为内存和外存,用于存储数据(使用二进制方式存储)
~ 输入设备: 用户给计算机发号施令的设备
~ 输出设备: 计算机个体用户汇报结果的设备

其中针对 存储空间的大小, 粗略比较的可以这样分:
硬盘>内存>>CPU
针对 数据访问速度的快慢 ,同样简单的比较:
CPU>>内存>硬盘

操作系统

首先明确一个点:操作系统是一个软件
作用:

  1. 管理各种硬件设备:通过驱动系统间接管理
  2. 保证各个程序稳定的运行环境(相互不影响)

要实现这些作用,操作系统先通过一些结构体 /类 把一个进程的核心信息 抽象提取出来并进行表示,再通过一定的数据结构,把多个这样的结构体/类的对象串起来。接下来就要了解 进程 这个概念

简单来说,一个运行起来的程序就称为进程

我们之后学习的主要方面的就是进程,相信大家都或多或少听说过”高并发,多线程“这样的”高端“术语。

进程

那么为了使进程更好的运行起来,就要提供给它优秀的环境,所以操作系统通过PCB这个结构体来描述进程。

进程是操作系统中,资源分配的基本单位。

进程的运行消耗硬件资源,执行指令都需要消耗CPU资源

进程的标识符(pid)

相当于进程的身份证号码,同一个机器,同一时刻,进程id一定不同。

进程调度

实际上我们计算机运行的进程数量远远多于CPU数量,此时就需要进程调度来负责解决。

并发:多个任务在同一个时间段内交替进行执行,通过任务间的快速切换来实现同时执行的错觉
并行:多个任务在同一时刻同时执行,每个任务都在单独的处理单元(CPU核心)上执行.

进程状态

面对这个状态,进程应该怎么调度

运行状态:进程已经获取到CPU资源且正在执行
就绪状态:进程可以随时到CPU上运行
阻塞状态:进程当前不能到CPU上运行

优先级

优先级说白了 就是先给谁分配时间 后给谁 分配时间 以及给谁分多分少的问题 。优先级高的肯定分配的资源就多。

进程的上下文

类似于游戏存档:进程在调度离开CPU时,任务没有完成,这个时候就会把CPU寄存器中的数据保存到内存中,当进程再次调度回到CPU时,可以恢复到离开前的状态,继续完成任务。

记账信息

类似于日志:操作系统会统计每个进程都分别执行了多久,分别执行了 哪些指令。操作系统也会避免某一个进程一直吃不到CPU资源 就会进行类似的统计,给吃的少的进程,适当多分配一些资源。

完结

如果这个系列博客对你有帮助的话,可以点一个免费的赞并收藏起来哟~
可以点点关注,避免找不到我~ ,我的主页:optimistic_chen
我们下期不见不散~~~

【面试经验】大疆笔试-计算机视觉算法B卷 3、a=np.random.randn(3,3) b=np.random.randn(3,1) ,那么c=a*b的维度应该是:*是元素乘法或者torch.mul,@才是矩阵乘法或者torch.matmul,不会触发广播机制;8、将分辨率降低一半时,精标定内参(fx、fy、cx、cy、k1、k2、k3)焦距、光心、畸变系数将分别变成(fx、fy、cx/2、cy/2、k1、k2、k3),只能搜到光心变成一半,畸变系数不变。12、KLT算法在频闪光源、重复纹理、高速机动、环境照度低的情况下效果显著下降。 阅读详情

相关推荐

CamoFox MCP:让AI助手隐身操作浏览器的反检测自动化实战

浏览器自动化是提升工作效率和实现数据采集的关键技术,其核心原理在于通过程序脚本模拟人类在网页上的交互行为。传统方案如Selenium或Playwright虽功能强大,但需要开发者编写复杂脚本并处理反爬机制。随着AI Agent技术的发展,自然语言驱动的自动化成为新趋势,它能将任务规划与逻辑判断交由AI处理,大幅降低使用门槛。Model Context Protocol(MCP)作为连接AI与外部工具的标准协议,在此场景下价值凸显,它使得AI助手能直接调用丰富的浏览器操作工具。CamoFox MCP创新性地将

weixin_42551967的博客 726

Java EE初阶——初识多线程

线程是操作系统进行运算调度的最小单位,包含在进程中,共享进程资源但拥有独立的栈空间和寄存器。线程的引入解决了进程创建/销毁成本高、上下文切换开销大、通信困难等问题,提高了资源利用率和程序并发性。线程通过共享地址空间降低内存开销,优化程序结构,降低上下文切换成本。Java线程基于操作系统线程实现,通过JVM创建和管理。创建线程的方法包括继承Thread类、实现Runnable接口、使用匿名内部类和lambda表达式。Thread类提供了管理线程的常见方法,如设置守护线程、获取线程状态等。线程的启动通过star

2302_80250536的博客 1072

VS2022+Qt6保姆级环境配置指南:从插件安装到项目互通全流程

本文提供VS2022与Qt6深度整合的全流程指南,涵盖环境配置、插件安装、项目互通等关键步骤。详细解析编译器版本匹配、跨IDE协作方案及效能优化技巧,帮助开发者高效搭建C++界面设计开发环境,实现软件项目无缝互通。

zero1的博客 733

【Java EE初阶 ---多线程(初阶)】多线程的使用

上篇博客,大概说明了计算机的历史和进程这一概念,初步对计算机的组成和运行有一定了解。这篇博客将正式进入对多线程的学习,希望对大家有所帮助~ ~ ~

optimistic_chen的博客 1308

深入URP之Shader篇1: URP Shader概述

我们知道,URP和HDRP都是基于SRP的,尽管现在可以使用Shader Graph编写Shader,但是手写Shader仍然是有一定的优势,特别是在性能方面,手写Shader可以更极致的优化,因此我们在项目中前期都是直接使用Shader Graph编写Shader,项目后期会改成手写Shader来提高性能。而在SRP中手写Shader,我们仍然使用的是Shader Lab,这个结构并没有太大的变化,但是SRP Shader中使用Shader Lab语言还是有几点不同。

聚焦游戏和图形引擎开发技术 4637

【GameFramework框架内置模块】9、有限状态机(FSM)

这篇文章分享FSM有限状态机,了解过StarForce源码的同学相比都比较了解,GameFramework框架给我们抽象了一个Procedure流程的概念。这个Procedure流程可以方便的处理我们游戏从启动到游戏的各个流程阶段的处理逻辑,实现的核心就是FSM状态机,内部的Procedure流程就是不同的FsmState状态。接下来,就是FSM有限状态机的教程了。有限状态机(Finite-state machine,FSM)

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 2533

【Java EE初阶 --- 多线程(初阶)】多线程的基本内容

既然有多线程,那么是不是也应该有单线程?答案是肯定的。其实单线程也叫进程,由上篇博客知道,进程中有多个线程,那么只有一个线程的进程就是单线程。我们的main主线程,之前的认知,main方法执行完毕,程序(进程)就结束了,那是因为之前没有接触到多线程程序,这篇博客将为我们认识多线程。。。

optimistic_chen的博客 1260

控制科学与工程(自动化)保研经验【1】——预备篇

个人情况 学校:中末流211 专业:自动化(学科评估B-) 年份:2019 排名:4/128 绩点:4.16/5 竞赛:三个国二(包括数模国赛美赛)、两个省一(机器人、电子设计竞赛) 【本科期间竞赛做的比较多,是我的一大亮点,可以在筛简历这关适当弥补专业排名的不足】 科研:一个校级的大创项目(水) 夏令营报名:中科大科学岛、中科大本部、自动化所、沈自所、北航(仪器17系)、山大、浙江大学、南开、同...

Control Everything 1万+

【JAVA EE初阶】多线程(上)

不同的操作系统之间不兼容,java却有“跨平台”特性,不需要任何修改,就可以在不同的系统上完成同样的功能,原因在于Java虚拟机,不同的主流系统都有各自的Java 虚拟机,Windows有Windows JVM,Linux有Linux JVM,这些JVM是不同的程序,但是上层支持的Java字节码是一致的。当一个线程循环进行上述读取变量操作的时候,就会把主内存中的数据,拷贝到该线程的工作内存中,后续另一个线程修改,也是先修改自己的工作内存,拷贝到主内存中。等先走的线程解锁,后走的线程才能加上锁,继续执行。

2301_80802299的博客 949

用python画带有正负值的条形图

常见的条形图只能表现数据的大小,却不能表现值的正负关系。但是其实仅仅使用`pandas`和`matplotlib`两个包就可以实现y轴负轴的添加以及负值的显示,并且可以为正负值分别设置不同的颜色,让条形图看上去更加清晰,易于我们分析

weixin_44853840的博客 5383

损失函数大汇总(五十九)(TopoInteraction Loss附公式推导与代码)

本文介绍了TopoInteraction Loss,一种用于多类别分割任务的拓扑交互约束损失函数。不同于传统拓扑损失关注单类别的连通性和孔洞数量,该损失重点约束不同类别之间的空间关系,包括互斥(exclusion)和包含(containment)两种典型拓扑关系。通过将全局拓扑约束转化为局部邻接检测,该损失能准确定位破坏预设拓扑关系的像素,并针对性施加惩罚。关键创新点在于:1)将包含关系转化为互斥约束;2)使用卷积运算高效检测非法邻接;3)仅对违规像素施加损失。实验表明,该方法能有效纠正类别间的错误接触,特

悦学共鸣,温柔以待,汇聚光芒,共同成长 350

【Java EE初阶 --- 网络原理】初识网络

乐观学习,乐观生活,才能不断前进啊!!!欢迎大家访问~

optimistic_chen的博客 1261

30 中望CAD二次开发(ZRX C++)-windows下的qt开发

本文介绍了中望CAD在windows下,如何使用qt开发插件界面,给出了具体的编码步骤,并生成了模态对话框和非模态对话框,其中非模态对话框可以调用CAD命令,实现交互操作。

cilvsuanna的博客 189

【Java EE】多线程-初阶 多线程案例

单个实例. 在一个 java 进程中, 要求指定的类,只能有唯一一个实例。(尝试 new 多个实例的时候, 就会直接编译报错)单例模式是校招中最常考的设计模式之⼀.单例模式具体的实现⽅式有很多. 最常⻅的是 “饿汉” 和 “懒汉” 两种.(掌握这两个, 应付面试 +日常开发)类加载的同时, 创建实例. 懒汉模式 懒汉模式-单线程版 类加载的时候不创建实例. 第⼀次使⽤的时候才创建实例.(如果不使用了,就会把创建实例的代价就节省下来了) 如果是首次调用 getlnstance, 那么此时 instance

2402_85428625的博客 1405

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【Java EE初阶 --- 多线程(初阶)】线程安全问题

乐观学习,乐观生活,才能不断前进啊!!!欢迎大家访问~

optimistic_chen的博客 1229

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Java EE初阶-计算机导论

系统调用是操作系统内核提供给应用程序的一组特殊接口,应用程序通过调用这些接口来请求操作系统内核完成一些特权操作,因为用户程序通常运行在用户态,没有足够的权限直接访问系统资源或执行某些敏感操作,所以需要通过系统调用切换到内核态,让具有更高权限的操作系统内核来完成相应任务。

2401_83117850的博客 984

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【Java EE初阶 --- 文件】文件操作和IO

至此,以创建多线程到多线程安全就到此为止了。这篇博客将介绍计算机输入输出的相关知识,我任务这块内容主要以计算机硬件为主,如果要理解大部分IO,就要对计算机硬件有较为深刻的认识。

optimistic_chen的博客 1762

【Java EE初阶】计算机简介及多线程之创建线程

运算器:执行具体的CPU指令 控制器:调度的角色,负责告诉CPU执行哪些指令 存储器:寄存器,内存,外存 速度越来越慢,容量越来越大,造假越来越低 输入设备:键盘,鼠标 输出设备:显示器,音箱 计算机最重要的就是CPU,CPU干的活就是执行指令

m0_57248981的博客 806

【Java ee初阶】网络原理

核心性质三连接管理有连接连接虚拟的抽象的连接通信双方各自保存对方的关键信息(IP端口...)连接如何建立的三次握手连接如何断开的四次挥手连接如何建立的三次握手handshake计算机术语客套,打招呼,没有传达实质性的信息,通过打招呼唤起对方的注意TCP中的握手,传输一个“打招呼”的数据包,这个数据包不携带任何“业务数据”(没有应用层的载荷)TCP这个数据包只有报头,没有正文也就是这个操作是不携带任何业务数据。

purrrew的博客 554

【Java EE】多线程(一)

🙏小杨水平有限,欢迎各位大佬指点,相互学习进步!

QQ3447387928的博客 3859

【JavaEE】——初识EE(Java诞生背景,CPU详解)

带你从零入门JAVAEE初阶,Java的发展历程认识什么是cpu,cpu的工作原理,cpu是如何进行计算的,cpu的架构,指令集,cpu的核心,如何提升cpu的算力,cpu的指令,,cup的缓存,cpu的流水线

阿华的博客 2246

Java EE初阶--多线程

进程创建是“

s060618的博客 1196

Java核心概念详解:JVM、JRE、JDK、Java SE、Java EE (Jakarta EE)

层级关系:JVM是最底层,负责实际执行代码,是跨平台的基础。JRE= JVM + 基础类库。提供了运行环境。JDK= JRE + 开发工具。提供了开发环境。Java SE是一个平台规范,它包含了JDK和JRE,定义了Java的核心。是基于Java SE的一系列扩展规范,用于企业级开发。如何选择?只想运行Java程序:安装JRE即可(但现在JDK通常已捆绑JRE,直接装JDK也行)。想要开发Java程序:必须安装JDK。学习Java基础或做桌面开发:学习Java SE。

BillKu的博客 1233

Java EE:1.计算机是如何工作的(第一弹):Java发展史+计算机构成

Java EE:1.计算机是如何工作的(第一弹)

要努力去发光,而不是被照亮~ 660

【Java EE初阶】——多线程(基础1)

前言 线程(Thread)是操作系统能够进行运算调度的最小单位。一个线程就是一个 “执行流”,每个线程之间都可以按照顺讯执行自己的代码. 多个线程之间 “同时” 执行着多份代码。 文章目录前言🍎1.认识线程🍉1.1 线程与进程的关系1.1.1 什么是进程1.1.2 什么是线程🍊1.2 Java的线程与操作系统的关系1.2.1 操作系统怎样管理进程的1.2.2 进程调度的基本过程1.2.3 PCB的相关属性🍈2. 总结🍋2.1 为什么要有线程程?🍍2.2 进程和线程的区别和联系 👦有缘,才相遇,你好!我是h

hgway_hxz的博客 1185

【Java成王之路】EE初阶第一篇:(多线程)

目录本章内容 ~ 认识进程~ 认识多线程~ 掌握多线程程序的编写~ 并发线程编程如何提高程序的效率~ Thread类具体的用法(所包含的一些属性和方法)前言 认识进程~操作系统(OS)软件~进程(也叫任务)~关于进程,最核心的问题,就是进程在系统中是如何被管理的?PCB中大概有哪些属性?并发执行并行式运行进程的状态进程的优先级进程的上下文进程的记账信息进程的虚拟空间认识多线程 掌握多线程程序的编写 线程的创建还有很多方式:并发线程编程如何提高程序的效率 串行执行:Thread类具体的用法(所包含的一些属性和

m0_64397675的博客 474
上一篇: 【Java数据结构】---哈希表
下一篇: 【Java EE初阶 ---多线程(初阶)】多线程的使用
Optimistic _ chen
博客等级 码龄3年 1553粉丝 127原创
评论 36
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Optimistic _ chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值