JAVA EE (计算机是如何工作的)

学前注意事项

出去面试的时候java岗位不需要懂前端(会少量讲解)

但是我们做项目的时候多少回用到一些前端的东西

1.什么是计算机

1.1前情提要

不仅仅只有电脑是计算机

计算机还不仅仅是电脑手机和平板 路由器 智能洗衣机 刷脸打卡机都可以说是计算机

1.2计算机分类

1.更通用

(1)终端设别(台式机,笔记本,手机,ipad)手机

(2)服务器 日常普通用户是见不到的,以后我们作为开发人员还是经常和服务器打交道的

2.不是特别通用

(3)嵌入式设备,主体功能不是用来计算而是针对一些特定专属常见,量身定做的(专用计算机)

1.3冯诺依曼体系结构

(1)1.2中的所有设备都遵循冯诺依曼体系结构

(2)冯诺依曼和图灵是计算机的祖师爷

         冯诺依曼在成为计算机之父之前就是物理化学专家,博弈论之父,还参与过“曼哈顿计划”,是奥本海默的技术顾问,被评为20世纪的全才!!!!!!!!

         他在火车上遇到了普林斯顿大小研究员,这个研究员在参与计算机设计,然后互留联系方式,后面冯诺依曼就参与了“艾尼阿克”第一台计算机的开发

        然后提出了冯诺依曼体系,并对第一代计算机进行改进。

        冯诺依曼体系定义了二进制表示的存储数据。

(3)冯诺依曼体系结构大致就是说

       一个计算机要有(目前市面上有的计算机的结构)

         CPU(控制器 运算器)

         存储器(内存 外存)

         输入设备

         输出设备

         有的硬件设备可能是输入设备也可以是输出设备

(4)计算机一开始是为了军事用途

      最早是用来计算弹道轨迹

1.3.1CPU

  (1)cpu主要功能是进行各种算数运算

(2)进行各种逻辑判断

我们的每一个程序都是通过cpu来进行执行的

(3)一个打工人一天可能工作8小时

  可能一个人花4小时把活干了

   这时候就可以把CPU占用率成为百分之50

  一个计算机上同时运行横夺程序,这些程序有些全力工作有些不全力工作,最终算出的总占用率

(4)现在的计算机有多核,假如16个核心,就代表一个核心是一个cpu

(5)linux中式把每个cpu的核心加在一起

(6)CPU的频率就代表这CPU的效率,数字越大,干活越快,我们可以理解为1s中cpu运算了多少次,执行了多少个指令。

(7)CPU认识知道的指令就是汇编语言。

         你让计算机算一个1+1 = 2其实这背后有非常多的机器指令

(8)如何让一个CPU核心更快

        让CPU中的集成基础原件更多,也就是更加的小目前极限是4nm工艺

        最近台机电在冲击1nm工艺

        小到足够小的时候这其中就涉及到量子力学emmmmm

(9)既然多核心难以更nb,那么不妨往多核心发展

         英特尔最近还有啥大小核心的,大核一个顶两,小核还是一对一。英特尔公司还提出了超线程技术,一个cpu一个核中有两个线程,也就是一个物理核心顶2个核心使用。

        引入更多的核心本质上相当于干活的人读了,所以要想程序跑的更快,就需要在设计程序的时候考虑这一点,我们需要将问题拆分成更多的部分,交给多个不同的核心来进行处理。

       不能单核全干,其他核看戏

(10)所以现在多线程编程,才成为了我们当前研究的重点内容。

底层就是数电emmm

1.3.2指令表(重要的)

(1)指令可以仍未CPU被设计的时候,给程序员提供的一些程序接口。

(2)不同的CPU提供的哪些指令是不一样的,虽然不一样但是也是有几套标准的。(x86)现在更多的是(酷睿一种x86的继承)amd为了和intel兼容,也高搞了了x86,还有一个交arm架构,像我们的平板手机各种嵌入式系统,m1,m2芯片也是arm架构,论性能不及x86,但是功耗比较低,所以比较适合移动设备。还有一些冷门架构emmm不多说了

总的来说CPU其实有很多不同的架构,同一个程序在这个机器上的cpu上面可以运行但是另一个机器就不行,就像我们的手机和电脑应用要区分开。

(3)cpu是如何执行指令啊?

所谓的指令都是先加载到内存中,然后才被cpu读取并执行。

比如一个java程序,写出来时一个java源文件程序,编译得到class二进制文件,运行jvm时就会把这个class文件加载到内存中,再进一步翻译成cpu能够识别的二进制指令

比如一个c程序写出来是一个c源文件代码,编译得到exe二进制文件,操作系统是吧这个exe加载到内存中,在进一步的由cpu执行。

(4)因此CPU执行程序大概就是经历三个阶段

    读指令(把内存中的治理数据读取到cpu的寄存器中,存储数据的模块称之为寄存器,速度比内存快,但是内存空间更小也更贵)

     解析指令,(理解放弃指令要做啥)

     执行指令

上述是一个简化的模板,他还会有流水线啊啥的(计算机体系结构这个课里面会讲,大家自己去找找感兴趣的)

(5)指令表的引入

1.3.3后端程序员以后可能会遇到的计算机问题解决方式

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智慧交通:构建智慧城市的重要一环

随着信息技术的飞速发展,智慧城市已成为现代城市发展的重要方向。作为智慧城市的重要组成部分,智慧交通以其高效、便捷、环保的特性,成为推动城市现代化进程的关键力量。本文将从智慧交通的概念、发展现状、面临挑战以及未来趋势等方面&#…

C#,图论与图算法,有向图(Graph)之环(Cycle)判断的颜色算法与源代码

1 检查该图是否包含循环 给定一个有向图,检查该图是否包含循环。如果给定的图形至少包含一个循环,则函数应返回true,否则返回false。 方法:深度优先遍历可用于检测图中的循环。连接图的DFS生成树。只有当图中存在后缘时,图中才存在循环。后边是从节点到自身(自循环)或…

Huggingface 笔记:大模型(Gemma2B,Gemma 7B)部署+基本使用

1 部署 1.1 申请权限 在huggingface的gemma界面,点击“term”以申请gemma访问权限 https://huggingface.co/google/gemma-7b 然后接受条款 1.2 添加hugging对应的token 如果直接用gemma提供的代码,会出现如下问题: from transformers i…

Docker 从0安装 nacos集群

前提条件 Docker支持一下的CentOs版本 Centos7(64-bit),系统内核版本为 3.10 以上Centos6.5(64-bit) 或者更高版本,系统内核版本为 2.6.32-431 或者更高版本 安装步骤 使用 yum 安装(CentOS 7下) 通过 uname -r 命令查看你当…

室友打团太吵?一条命令断掉它的WiFi

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:更多干货,请关注专栏《网络安全自学教程》 ARP欺骗原理 1、arpspoof实现ARP欺骗1.1、主机探测1.2、欺骗…

QT 驾校系统界面布局编写

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui->setupUi(this);this->resize(ui->label_img->width(),ui->label_img->height());//图片自适应窗口大小ui->label_img->setScaledContents(true);//图片置…

(一)Linux+Windows下安装ffmpeg

一丶前言 FFmpeg是一个开源的音视频处理工具集,由多个命令行工具组成。它可以在跨平台的环境中处理、转换、编辑和流媒体处理音视频文件。 FFmpeg支持多种常见的音视频格式和编解码器,可以对音视频文件进行编码、解码、转码、剪辑、合并等操作。它具有广…

【Auth Proxy】为你的 Web 服务上把锁

Auth Proxy 一个极简的用于 Web 服务鉴权的反向代理服务 极其简约的 UI对你的真实服务无任何侵入性支持容器部署,Docker Image 优化到不能再小(不到 9MB)GitHub:https://github.com/wengchaoxi/auth-proxy 效果 我在 http://lo…

幻兽帕鲁游戏搭建(docker)

系列文章目录 第一章: 幻兽帕陆游戏搭建 文章目录 系列文章目录前言一、镜像安装1.创建游戏目录2.拉取镜像3.下载配置文件4.启动游戏 二、自定义配置总结 前言 这段时间一直在写论文还有找工作,也没学啥新技术,所以博客也很长时间没写了&am…

操作系统核心知识点大梳理

计算机结构 现代计算机模型是基于-冯诺依曼计算机模型 计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去…

Go语言学习14-常见任务

Go语言学习14-常见任务 内置的 JSON 解析 利用反射实现, 通过 FieldTag 来标识对应的 json 值 type BasicInfo struct {Name string json:"name"Age int json:"age" } type JobInfo struct {Skills []string json:"skills" } type Employ…

微软AI系列 C#中实现相似度计算涉及到加载图像、使用预训练的模型提取特征以及计算相似度

在C#中实现相似度计算涉及到加载图像、使用预训练的模型提取特征以及计算相似度。你可以使用.NET中的深度学习库如TensorFlow.NET来加载预训练模型,提取特征,并进行相似度计算。 以下是一个使用TensorFlow.NET的示例: using System; using …

云原生:重塑未来应用的基石

随着数字化时代的不断深入,云原生已经成为了IT领域的热门话题。它代表着一种全新的软件开发和部署范式,旨在充分利用云计算的优势,并为企业带来更大的灵活性、可靠性和效率。今天我们就来聊一聊这个热门的话题:云原生~ &#x1f4…

5.shell中的函数

目录 概述实践shell结果 结束 概述 shell中函数的使用 实践 shell #!/bin/bash # 函数、无参无返回值,调用不用括号xyz(){echo "hello this is fun" } xyz# 如何向定义的函数传参? 通过位置参数 xyz_with_params(){echo "shell传参个数为:$#&qu…

ubuntu20.04_PX4_1.13

说在前面:(最好找一个干净的Ubuntu系统)如果配置环境的过程中出现很多编译的错误或者依赖冲突,还是建议新建一个虚拟机,或者重装Ubuntu系统,这样会避免很多麻烦💐 , 安装PX4 1.13.2 …

web前端之多种方式实现switch滑块功能、动态设置css变量、after伪元素、选择器、has伪类

MENU 效果图htmlcsshtmlcssJS 效果图 htmlcss html <div class"s"><input type"checkbox" id"si" class"si"><label for"si" class"sl"></label> </div>style * {margin: 0;pad…

百度交易中台之系统对账篇

作者 | 天空 导读 introduction 百度交易中台作为集团移动生态战略的基础设施&#xff0c;面向收银交易与清分结算场景&#xff0c;赋能业务、提供高效交易生态搭建。目前支持百度体系内多个产品线&#xff0c;主要包括&#xff1a;度小店、小程序、地图打车、文心一言等。本文…

HighTec_TC4 编译器移植 Aurix ADS

ADS 是英飞凌推出的针对 AURIX 芯片的开发平台&#xff0c;该开发环境基于业内流行的 Eclipse 打造而成。 HighTec 作为英飞凌的全球重要合作伙伴和 PDH&#xff0c;作为专业的编译器供应商和嵌入式产品方案提供商&#xff0c;HighTec 早已经为英飞凌最新一代 AURIX TC4XX 芯片…

windows 多网卡情况dns解析超时问题的排查

最近遇到一个问题 多网卡&#xff0c;多网络环境下&#xff0c;dns解析总是超时。 排查之后发现是dns配置的问题&#xff0c;一个有线网络配置的内网dns&#xff0c;一个无线网络配置的公网dns 访问公网时莫名的时不时出现超时现象 初步排查是dns解析的耗时太长&#xff0c;…

AI助手 - 月之暗面 Kimi.ai

前言 这是 AI工具专栏 下的第四篇&#xff0c;这一篇所介绍的AI&#xff0c;也许是截至今天&#xff08;204-03-19&#xff09;国内可访问的实用性最强的一款。 今年年初&#xff0c;一直看到有人推荐 Kimi&#xff0c;不过面对雨后春笋般的各类品质的AI&#xff0c;说实话也有…