计算机编码存储+char占用空间+final作用

在这里插入图片描述

内存中存储的是对应的编码,与对应的形状库一起能够在显示器显示出来对应的字符。
磁盘中存储的是文件信息。
内存中存储的是变量(虽然也是在磁盘里,等到使用的时候再调入进来)。
因为编码实质就是二进制串,所以也可以比较大小。

在这里插入图片描述
在这里插入图片描述

想输出某个字符的编码只需要把他赋值给int类型变量然后输出即可。

在这里插入图片描述

因为ASCII编码(8位)不够用所以后来引入了Unicode编码(16位)。
但是不管哪个编码可能输出看着是个十进制的数,但在计算机内部其实还是二进制编码。
在这里插入图片描述

Char占的空间:要看是什么编码,由所选编码决定,如果是ASCII码就是8位,如果是Unicode就占16位,如果是UTF-8就是占16-32位。
但是在内存中一个文件的存储的地方按照所选编码,每个字符占的空间大小都是对应的大小。
在这里插入图片描述

eg.左上角都是按ASCII那么每一个字符都是占8位,左下角都是按Unicode编码那么每个字符就占16位,右下角UTF-8也是同理每个占32位。
在这里插入图片描述

码点:字符的编码值(eg.上面例子中 ”张“的码点就是24352)
布尔类型(真/假):理论上最小仅需要1bit即可表示两种状态,但计算机最小的存储单元是8bit(即一个字节),所以最少用一个byte来存放boolean类型的变量。(操作系统里面的计算题会用到)
内存里的内容往cpu里存储的时候,存在cpu的缓冲行里,一个cpu缓冲行大小是64B。
因为是按电压传输,一次传输的时候电压不变,读取某个缓冲行里的数据时需要排队,也就是我们想读某个数据,但正在读其他的数据,我们就要等那个数据读取完毕,再读取我们需要的。
但也只是可能阻塞读取(缓冲区里的数据越多,阻塞的几率就越大)
在这里插入图片描述

而对于简单的数据boolean类型我们经常会用到,所以我们就用int占32B来存储,这样我们留给缓存行存储其他数据的地方就会变少,缓存行数据少了,使用boolean的读取速度就加快了,所以用int类型来存放boolean类型变量。即牺牲缓冲行以空间换时间。
Java中定义变量的时候要记得初始化。
可以用final 来定义常量(不可修改 eg.final int x = 90;)
final的作用:

  1. final修饰常量不可以被第二次赋值。
  2. final修饰的类不可以被继承。
  3. final修饰的方法不可以被重写。
  4. final防止指令重排序,保障多线程下的数据安全(是由于计组里面的指令流水线导致的)。
    在这里插入图片描述

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

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

相关文章

vue3项目搭建-6-axios 基础配置

axios 基础配置 安装 axios npm install axios 创建 axios 实例,配置基地址,配置拦截器,目录:utils/http.js 基地址:在每次访问时,自动作为相对路径的根 // axios 基础封装 import axios from "axios";…

2-2-18-9 QNX系统架构之文件系统(一)

阅读前言 本文以QNX系统官方的文档英文原版资料为参考,翻译和逐句校对后,对QNX操作系统的相关概念进行了深度整理,旨在帮助想要了解QNX的读者及开发者可以快速阅读,而不必查看晦涩难懂的英文原文,这些文章将会作为一个…

Python基于滑动窗口CNN损伤梁桥数据、故宫城墙图像数据分类可视化|数据分享

全文链接:https://tecdat.cn/?p38442 分析师:Yufei Guo 在现代土木结构工程领域,结构损伤的准确识别与定位对于保障基础设施的安全性和耐久性具有极为关键的意义。传统的人工检查方法,如目视检查以及借助专业设备进行检测&#x…

MyBatis的if标签的基本使用

在MyBatis框架中,if标签用于在构建SQL语句时,根据参数条件判断的结果,动态地选择加入或不加where条件中。 一 常见使用 在使用MyBatis处理查询逻辑的时候,常用的是判断一些参数是否为空,列举常用的几种情况展示 1.1…

RabbitMQ原理架构解析:消息传递的核心机制

文章目录 一、RabbitMQ简介1.1、概述1.2、特性 二、RabbitMQ原理架构三、RabbitMQ应用场景3.1、简单模式3.2、工作模式3.3、发布订阅3.4、路由模式3.5 主题订阅模式 四、同类中间件对比五、RabbitMQ部署5.1、单机部署5.2、集群部署(镜像模式)5.3、K8s部署…

NGO-CNN-BiGRU-Attention北方苍鹰算法优化卷积双向门控循环单元时间序列预测,含优化前后对比

NGO-CNN-BiGRU-Attention北方苍鹰算法优化卷积双向门控循环单元时间序列预测,含优化前后对比 目录 NGO-CNN-BiGRU-Attention北方苍鹰算法优化卷积双向门控循环单元时间序列预测,含优化前后对比预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介…

【0346】Postgres内核 Startup Process 通过 signal 与 postmaster 交互实现 (5)

1. Startup Process 进程 postmaster 初始化过程中, 在进入 ServerLoop() 函数之前,会先通过调用 StartChildProcess() 函数来开启辅助进程,这些进程的目的主要用来完成数据库的 XLOG 相关处理。 如: 核实 pg_wal 和 pg_wal/archive_status 文件是否存在Postgres先前是否发…

说说Elasticsearch拼写纠错是如何实现的?

大家好,我是锋哥。今天分享关于【说说Elasticsearch拼写纠错是如何实现的?】面试题。希望对大家有帮助; 说说Elasticsearch拼写纠错是如何实现的? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 Elasticsearch 中&…

NAT拓展

NAT ALG(NAT应用级网) 为某些应用层协议,因为其报文内容可能携带IP相关信息,而普通NAT转化无法将这些IP转化,从而导致协议无法正常运行 例如FTP,DHCP,RSTP,ICMP,IPSEC…

Flutter:封装发送验证码组件,注册页使用获取验证码并传递控制器和验证码类型

验证码&#xff1a;view import package:flutter/material.dart; import package:get/get.dart; import index.dart;class SendcodePage extends GetView<SendcodeController> {// 接收注册页面&#xff0c;传进来的手机号控制器&#xff0c;和发送验证码的类型final Tex…

【目标跟踪】Anti-UAV数据集详细介绍

Anti-UAV数据集是在2021年公开的专用于无人机跟踪的数据集&#xff0c;该数据集采用RGB-T图像对的形式来克服单个类型视频的缺点&#xff0c;包含了318个视频对&#xff0c;并提出了相应的评估标准&#xff08;the state accurancy, SA)。 文章链接&#xff1a;https://arxiv.…

Linux的文件系统

这里写目录标题 一.文件系统的基本组成索引节点目录项文件数据的存储扇区三个存储区域 二.虚拟文件系统文件系统分类进程文件表读写过程 三.文件的存储连续空间存放方式缺点 非连续空间存放方式链表方式隐式链表缺点显示链接 索引数据库缺陷索引的方式优点&#xff1a;多级索引…

C++优选算法十七 多源BFS

1.单源最短路问题 一个起点一个终点。 定义&#xff1a;在给定加权图中&#xff0c;选择一个顶点作为源点&#xff0c;计算该源点到图中所有其他顶点的最短路径长度。 2.多源最短路问题 定义&#xff1a;多源最短路问题指的是在图中存在多个起点&#xff0c;需要求出从这些…

DAY141权限提升-Linux系统权限提升篇VulnhubCapability能力LD_Preload加载数据库等

一、演示案例-Linux系统提权-Web&用户-数据库类型 复现环境&#xff1a;Raven: 2 ~ VulnHub 1、信息收集 http://192.168.139.155/vendor/ 2、Web权限获取 searchsploit phpmailer find / -name 40969.py cp /usr/share/exploitdb/exploits/php/webapps/40969.py p.py p…

使用nginx请求转发时前端报跨域问题解决

当其他接口都没有问题&#xff0c;后端也进行了跨域的配置时&#xff0c;此时问题应该就出现在nginx中 我发现当上传文件大小小于1m时并不会发生错误&#xff0c;所以我们应该配置一下nginx允许上传文件的大小 在nginx.conf中添加 在nginx目录下重启nginx即可 &#xff08;Wi…

凭借 SpringBoot 构建新冠密接者跟踪系统:快速开发与部署优势凸显

第3章 系统分析 在进行系统分析之前&#xff0c;需要从网络上或者是图书馆的开发类书籍中收集大量的资料&#xff0c;因为这个环节也是帮助即将开发的程序软件制定一套最优的方案&#xff0c;一旦确定了程序软件需要具备的功能&#xff0c;就意味着接下来的工作和任务都是围绕着…

28.100ASK_T113-PRO Linux+QT 显示一张照片

1.添加资源文件 2. 主要代码 #include "mainwindow.h" #include "ui_mainwindow.h" #include <QImage> #include <QPixmap>MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow) {ui->setupUi(this);QIm…

Android笔试面试题AI答之SQLite(1)

文章目录 1. 阐述什么是SQLite &#xff1f;一、定义与特点二、工作原理三、应用领域四、数据类型与语言绑定 2. Linux 上安装 SQLite方式简述 &#xff1f;一、使用包管理器安装&#xff08;以Debian/Ubuntu为例&#xff09;二、从官方网站下载并编译安装三、注意事项 3. SQLi…

CPU进行float16计算,C++的half.hpp使用方式FP16运算

C不直接支持fp16&#xff0c;如何支持float16的计算&#xff0c;我们使用half包来让C支持fp16计算。half.hpp是C中用于处理半精度浮点数&#xff08;float16&#xff09;的头文件。 一、下载Half包 1.1 下载地址&#xff1a; half&#xff1a;半精度浮点库 2.2 解压缩&…

【C++】LeetCode:LCR 026. 重排链表

题干 LCR 026. 重排链表 给定一个单链表 L 的头节点 head &#xff0c;单链表 L 表示为&#xff1a; L0 → L1 → … → Ln-1 → Ln 请将其重新排列后变为&#xff1a; L0 → Ln → L1 → Ln-1 → L2 → Ln-2 → … 不能只是单纯的改变节点内部的值&#xff0c;而是需要实…