【从零开始入门unity游戏开发之——C#篇03】变量和常量
文章目录
- 一、变量
- 1、什么是变量?
- 2、申明变量的固定写法
- 3、变量的类型
- 值和引用类型的区别
- 无符号和有符号
- 位——表示变量所占用的内存空间的大小
- 范围——表示变量的取值范围
- 取值范围和存储单位的关系
- 为什么`byte`的范围是 0 到 255?
- 为什么 `sbyte` 的范围是 -128 到 127?
- 4、为什么要分这么多不同的变量类型?
- 5、常用的变量类型
- 6、变量命名规则
- 7、float使用注意
- 二、const常量
- 1、什么是常量?
- 2、常量的定义
- 3、常量的特性
- 专栏推荐
- 完结
一、变量
1、什么是变量?
变量是计算机程序中的一种存储单元,它用于保存数据,并允许在程序中引用和修改这些数据。你可以把变量想象成“一个用来存储信息的小盒子
”。在编程中,变量就是用来存放数据的地方,你可以在程序中给这个盒子命名,并将它装入不同的数据。之后,你可以随时查看、修改这个数据。
变量的本质就是存储数据的位置
。它就像一张标签纸
,你可以给它取个名字(变量名),然后写上信息(赋值),随时可以查看、修改这个信息(数据)。
比如
假设你有一个盒子
(变量),叫做 age,它的作用就是存储一个年龄。你可以把数字 25 放进去,表示“年龄是 25”。然后,稍后你可以把它改成 30,表示年龄变了。
2、申明变量的固定写法
变量类型 变量名 = 初始值;
int i = 1;
当然我们也可以选择默认不赋初始值,后面再赋值,像这样
int i;i = 1;
一次性定义多个变量也可以简写
int a;
int b;//简写
int a, b;
3、变量的类型
C# 中的变量类型可以分为 值类型
和 引用类型
两大类。
值类型
变量类型 | 描述 | 范围 |
---|---|---|
byte | 无符号8位整数 | 0 到 255 |
sbyte | 有符号8位整数 | -128 到 127 |
short | 有符号16位整数 | -32,768 到 32,767 |
ushort | 无符号16位整数 | 0 到 65,535 |
int | 有符号32位整数 | -2,147,483,648 到 2,147,483,647 |
uint | 无符号32位整数 | 0 到 4,294,967,295 |
long | 有符号64位整数 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
ulong | 无符号64位整数 | 0 到 18,446,744,073,709,551,615 |
float | 32 位单精度浮点数 | ±1.5 × 10^−45 到 ±3.4 × 10^38(精度约7位有效数字) |
double | 64 位双精度浮点数 | ±5.0 × 10^−324 到 ±1.7 × 10^308(精度约15–16位有效数字) |
decimal | 128 位高精度小数 | ±1.0 × 10^−28 到 ±7.9 × 10^28(精度约28–29位有效数字) |
bool | 8 位布尔型 | true 或 false |
char | 16 位单一字符型 | Unicode字符(0 到 65,535) |
引用类型
变量类型 | 描述 | 范围 |
---|---|---|
string | 字符串 | 任意长度的字符序列(理论上最多可达到 2GB) |
值和引用类型的区别
这个内容比较复杂,我单独在下篇文章说明
无符号和有符号
无符号
表示能存储一定范围正数
包括0的变量类型有符号
表示能存储一定范围正负数
包括0的变量类型
位——表示变量所占用的内存空间的大小
位
就是指定之前说的计算机中最小的数据存储单位——位(Bit),是指每种数据类型所占用的内存空间的大小。
注意:每种数据类型所占用的内存空间的大小是由 声明时
就已经决定的,与 赋值时的值的大小
无关。
例如
int smallNumber = 1;
int largeNumber = 10000;
在这两个例子中,smallNumber和largeNumber都是int类型的变量,它们分别存储了1和10000这两个值。但无论这两个变量的值是多少,它们在内存中都会各自占用4个字节(32位)的空间。
你可能会问为什么不根据数值大小动态分配空间?
如果你考虑过根据数值大小动态分配空间,这确实在某些情况下可以节省内存。然而,这样做会增加内存管理的复杂度,并可能降低程序的性能。固定大小的数据类型使得内存分配、读取和写入操作更加高效和简单。
范围——表示变量的取值范围
范围
就是变量的取值范围,超出会报错
比如我定义一个byte类型变量,编辑器会报错
因为前面说了byte取值范围是0 到 255
取值范围和存储单位的关系
为什么byte
的范围是 0 到 255?
- 8位意味着它有 8 个二进制位(即 8 个数字),每个二进制位只能是 0 或 1。
- 对于无符号整数,所有 8 位的组合都代表一个非负整数。因此,所有可能的二进制数值从 00000000 到 11111111 之间。
计算所有组合的范围:
- 最小值:00000000(二进制)= 0(十进制)
- 最大值:11111111(二进制)= 255(十进制)
所以,byte 类型的范围是从 0 到 255,包括这两个值。
为什么 sbyte
的范围是 -128 到 127?
- 8位 表示它有 8 个二进制位,这意味着总共有 256 种可能的数值组合。
- 由于 sbyte 是 有符号 类型,表示正负数需要用其中的一位来表示符号位(即正负号)。通常,符号位在最高位(最左边的位),其中:
- 0 表示正数(或零)
- 1 表示负数
计算 sbyte 的范围:
- 最小值:由于最高位是符号位,最小值是 10000000(二进制),即 -128(十进制)。
- 最大值:最大的正数是 01111111(二进制),即 127(十进制)。
因此,sbyte 类型的取值范围是 从 -128 到 127。
4、为什么要分这么多不同的变量类型?
C# 中不同类型的变量帮助程序在性能、类型安全、功能实现、可读性和可维护性等方面达到最佳平衡。合理选择数据类型不仅能提高程序的效率,还能让代码更具可读性,减少错误。因此,虽然 C# 中的类型众多,它们的存在是为了应对不同的编程需求,提供更加灵活、安全和高效的编程体验。
5、常用的变量类型
前面看到这么多变量类型要记,但是不用害怕,我们经常用的其实只有:
值类型:int
float
bool
引用类型:string
其他的基本都用不到,了解就行了
6、变量命名规则
- 不能重名
- 不能以数字开头
- 不能使用程序关键字命名
- 不能有特殊符号(下划线除外)
变量的命名其实是支持中文汉字的,比如
int 整数 = 100;
但是非常不建议
的命名规则用汉字命名,有人喜欢用拼音其实我也不是很建议。虽然在特定的个人项目或局部环境中,使用汉字作为标识符可能短期内看起来更方便,但从长期来看,它带来的兼容性问题、可读性差、团队协作困难等问题,通常远远超过其带来的好处。因此,建议
始终使用有意义的英语命名
,遵循编程语言的命名规范,以确保代码的跨平台兼容性、可读性和可维护性。
7、float使用注意
C#小数默认是使用Double类型,所以直接赋值会报错,比如:
所以记得后面需要加上f才是float 类型
float f = 10.1f;
当然不是小数就可以不加f,但是为了统一规范,最好我们所有的float 类型变量赋值后面都加上f
float f1 = 0;
float f2 = -1;
float f3 = 1;float f4 = 0f;
float f5 = -1f;
float f6 = 1f;
二、const常量
1、什么是常量?
在 C# 中,常量(const)是一个值不可更改的变量。也就是说,一旦你为常量赋了初始值,这个值就不能再修改了。常量通常用于保存那些在程序运行时永远不变的值,比如数学常数(例如圆周率 π)或者配置参数。
2、常量的定义
在 C# 中,你可以通过关键字 const 来定义常量。例如:
const int MaxScore = 100;
const double Pi = 3.14159;
const string WelcomeMessage = "向宇的客栈";
在这些示例中:
- MaxScore 是一个整数常量,值为 100。
- Pi 是一个浮动常量,值为 3.14159。
- WelcomeMessage 是一个字符串常量,值为 “向宇的客栈”。
其实可以简单的理解为在变量前面加一个const
关键字就是常量了
3、常量的特性
-
不可修改:常量的值一旦赋值,就不能再更改。如果你尝试修改常量的值,编译器会报错。例如:
-
必须初始化:在定义常量时,你必须立即为其赋一个初始值。常量在声明时就要赋值,否则编译器会报错。例如:
-
只能是编译时常量:常量的值必须在编译时就已知,并且无法在程序运行时计算得出。例如:
const int x = 5; const int y = x + 10; // 可以,因为 5 和 10 在编译时已知
但是,下面这种是不允许的:
int z = 5; const int y = z + 10; // 错误:常量值必须是编译时常量
-
性能优化
因为常量的值在编译时已确定,所以在运行时,C# 编译器会直接将常量值替换进代码中(通常是内联)。这有助于提升性能,尤其是当常量频繁使用时。
专栏推荐
地址 |
---|
【从零开始入门unity游戏开发之——C#篇】 |
【从零开始入门unity游戏开发之——unity篇】 |
【制作100个Unity游戏】 |
【推荐100个unity插件】 |
【实现100个unity特效】 |
【unity框架开发】 |
完结
赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注
,你的每一次支持
都是我不断创作的最大动力。当然如果你发现了文章中存在错误
或者有更好的解决方法
,也欢迎评论私信告诉我哦!
好了,我是向宇
,https://xiangyu.blog.csdn.net
一位在小公司默默奋斗的开发者,闲暇之余,边学习边记录分享,站在巨人的肩膀上,通过学习前辈们的经验总是会给我很多帮助和启发!如果你遇到任何问题,也欢迎你评论私信或者加群找我, 虽然有些问题我也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~
相关文章:
【从零开始入门unity游戏开发之——C#篇03】变量和常量
文章目录 一、变量1、什么是变量?2、申明变量的固定写法3、变量的类型值和引用类型的区别无符号和有符号位——表示变量所占用的内存空间的大小范围——表示变量的取值范围取值范围和存储单位的关系为什么byte的范围是 0 到 255?为什么 sbyte 的范围是 -…...
SpringBoot 手动实现动态切换数据源 DynamicSource (上)
大家好,我是此林。 在实际开发中,经常可能遇到在一个SpringBoot Web应用中需要访问多个数据源的情况。 下面来介绍一下多数据源的使用场景、底层原理和手动实现。 一、 多数据源经典使用场景 场景一:业务复杂,数据量过大 1. 业务…...
ERROR Error: command failed: yarnError: command failed: yarn
1、异常信息 2、解决 解决方法一: WinR进入命令行,重新安装npm(如果报镜像源问题建议镜像源也重新配置) 输入命令,重新安装npm/yarn #npm npm install#npm 配置镜像源 npm config set registry https://registry.npmmirror.com#npm 查看镜…...
【java】finalize方法
目录 1. 说明2. 调用过程3. 注意事项 1. 说明 1.finalize方法是Java中Object类的一个方法。2.finalize方法用于在对象被垃圾回收之前执行一些清理工作。3.当JVM(Java虚拟机)确定一个对象不再被引用、即将被回收时,会调用该对象的finalize方法…...
C++ 内存管理和模板与STL
此篇目是之后各种C库的基础 目录 内存管理 内存分布 内存管理方式 new和delete operator new 与 operator delete函数 实现原理 定位new表达式(placement-new) 模板基础 泛型编程 模板 函数模板 类模板 STL 组成部分 内存管理 内存分布 int globalVar 1; //全局变量 静…...
同一个局域网下的两台电脑实现定时或者实时拷贝数据
【亲测能用】 需求:从数据库服务器上将数据库备份文件*.bak,每天定时拷贝到局域网下另一台电脑上,实现异机备份。 本文中192.168.1.110是本机,192.168.1.130是异机(备份机)。需求是每天定时从192.168.1.1…...
Python毕业设计选题:基于django+vue的汽车租赁管理网站
开发语言:Python框架:djangoPython版本:python3.7.7数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 用户管理 汽车品牌管理 汽车信息管理 汽车租赁管理 汽车商品信息管理 汽车租赁 购物…...
scrapy对接rabbitmq的时候使用post请求
之前做分布式爬虫的时候,都是从push url来拿到爬虫消费的链接,这里提出一个问题,假如这个请求是post请求的呢,我观察了scrapy-redis的源码,其中spider.py的代码是这样写的 1.scrapy-redis源码分析 def make_request_from_data(self, data):"""Returns a Reques…...
Netty 性能优化与调试指南
Netty 是一款高性能的网络通信框架,其高性能得益于良好的设计和优化。但是在实际使用中,如果配置或实现不当,可能会导致性能下降或调试困难。本文将从性能优化和调试两方面入手,详细讲解如何在使用 Netty 时提高应用性能和诊断问题…...
网络安全产品之认识WEB应用防火墙
随着B/S架构的广泛应用,Web应用的功能越来越丰富,蕴含着越来越有价值的信息,应用程序漏洞被恶意利用的可能性越来越大,因此成为了黑客主要的攻击目标。传统防火墙无法解析HTTP应用层的细节,对规则的过滤过于死板&#…...
R学习——因子
目录 1 定义因子(factor函数) 2因子的作用 一个数据集中的 只需要考虑可以用哪个数据来进行分类就可以了,可以用来分类就可以作为因子。 Cy1这个因子对应的水平level是4 6 8: 1 定义因子(factor函数) 要…...
2024 亚马逊云科技re:Invent:Werner Vogels架构哲学,大道至简 六大经验助力架构优化
在2024亚马逊云科技re:Invent全球大会第四天的主题演讲中,亚马逊副总裁兼CTO Dr.Werner Vogels分享了 The Way of Simplexity,繁简之道,浓缩了Werner在亚马逊20年构建架构的经验。 Werner表示,复杂性总是会“悄无声息”地渗透进来…...
【代码随想录day58】【C++复健】 117. 软件构建(拓扑排序);47. 参加科学大会(dijkstra(朴素版)精讲)
117. 软件构建(拓扑排序) 继续边看解析边做题,思考时的问题做个如下的总结: 1. 存边用什么数据结构? 在题目中,我们需要存储节点之间的依赖关系(边信息)。选择适合的数据结构非常重…...
单目深度估计模型 lite-mono 测试
lite-mono 使用工业数据集kitti 进行训练,目的使用单目摄像头实现物体深度预测,关于kitti数据集的介绍和下载参考 (二)一文带你了解KITTI数据集-CSDN博客文章浏览阅读2.7w次,点赞64次,收藏294次。文章介绍…...
JAVA基础学习笔记_网络编程
文章目录 网络编程网络编程三要素IPIPv4细节InetAddress 端口号协议 UDPUDP协议(发数据)UDP协议(接受数据)UDP聊天室单播,组播,广播 TCP中文乱码问题代码细节,三次握手和四次挥手 网络编程 计算机之间通过网络进行数据传输 软件结构 C/S,Client/Server,客户端服务器,精美但麻…...
说下JVM中一次完整的GC流程?
大家好,我是锋哥。今天分享关于【说下JVM中一次完整的GC流程?】面试题。希望对大家有帮助; 说下JVM中一次完整的GC流程? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在JVM中,垃圾回收(GC&am…...
鸿蒙NEXT开发案例:保质期计算
【引言】 保质期计算应用是一个基于鸿蒙NEXT框架开发的数字和文本统计组件。用户可以输入商品的生产日期和保质期天数,应用会自动计算并展示相关信息,包括保质状态、剩余天数、生产日期和到期日期。 【环境准备】 • 操作系统:Windows 10 …...
LLM并发加速部署方案(llama.cpp、vllm、lightLLM、fastLLM)
大模型并发加速部署 解析当前应用较广的几种并发加速部署方案! llama.cpp、vllm、lightllm、fastllm四种框架的对比: llama.cpp:基于C,①请求槽,②动态批处理,③CPU/GPU混合推理vllm:基于Pyth…...
用最小的代价解决mybatis-plus关于批量保存的性能问题
1.问题说明 问题背景说明,在使用达梦数据库时,mybatis-plus的serviceImpl.saveBatch()方法或者updateBatchById()方法的时候,随着数据量、属性字段的增加,效率越发明显的慢。 serviceImpl.saveBatch(); serviceImpl.updateBatch…...
蓝桥杯历届真题 --#递推 翻硬币(C++)
文章目录 思路完整代码结语 原题链接 思路 通过观察测试用例,我们猜测,从左到右依次对比每一个位置上的状态,如果不一样我们就翻一次,最终得到的答案即为正解。 完整代码 //这里是引入了一些常用的头文件,和一些常规操作 //第一…...
BurpSuite-8(FakeIP与爬虫审计)
声明:学习视频来自b站up主 泷羽sec,如涉及侵权马上删除文章 感谢泷羽sec 团队的教学 视频地址:IP伪造和爬虫审计_哔哩哔哩_bilibili 一、FakeIP 1.配置环境 BurpSuite是java环境下编写的,而今天的插件是python编写的,…...
JAVA8、Steam、list运用合集
Steam运用 Java Stream API为开发人员提供了一种函数式和声明式的方式来表达复杂的数据转换和操作,使代码更加简洁和富有表现力。 1、使用原始流以获得更好的性能【示例:求和】 使用 int、long 和 double 等基本类型时,请使用IntStream、LongStream 和 DoubleStream 等基本流…...
深入详解人工智能机器学习:强化学习
目录 强化学习概述 强化学习的基本概念 定义 关键组件 强化学习过程 常用算法 应用示例 示例代码 代码解释 应用场景 强化学习核心概念和底层原理 核心概念 底层原理 总结 强化学习概述 强化学习(Reinforcement Learning, RL)是机器学习中的…...
docker的简单使用
文章目录 docker简介docker架构镜像和容器镜像有关的常用命令容器相关常用命令 docker简介 Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。 Docker可以让开方子打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到…...
启动的docker容器里默认运行dockerd
问题 已在Dockerfile里yum install docker 但docker run 启动容器后, docker ps等命令无法执行 ps -aux 没有dockerd 进程 临时解决 另开一个终端 docker exec -it 容器名 bash 手动启 dockerd 默认启动 分析 现在启动容器的默认命令是 /sbin/init sbin/init 是根文件系统…...
Python爬虫技术的最新发展
在互联网的海洋中,数据就像是一颗颗珍珠,而爬虫技术就是我们手中的潜水艇。2024年,爬虫技术有了哪些新花样?让我们一起潜入这个话题,看看最新的发展和趋势。 1. 异步爬虫:速度与激情 随着现代Web应用的复…...
什么是厄尔米特(Hermitian)矩阵?
厄米矩阵(Hermitian Matrix)定义 在数学和物理中,厄米矩阵是满足以下条件的复方阵: A A † \mathbf{A}\mathbf{A}^\dagger AA† 其中, A † \mathbf{A}^\dagger A†表示矩阵 A \mathbf{A} A的共轭转置,即…...
从零开始:Linux 环境下的 C/C++ 编译教程
个人主页:chian-ocean 文章专栏 前言: GCC(GNU Compiler Collection)是一个功能强大的编译器集合,支持多种语言,包括 C 和 C。其中 gcc 用于 C 语言编译,g 专用于 C 编译。 Linux GCC or G的安…...
Excel + Notepad + CMD 命令行批量修改文件名
注意:该方式为直接修改原文件的文件名,不会生成新文件 新建Excel文件 A列:固定为 renB列:原文件名称C列:修改后保存的名称B列、C列,需要带文件后缀,为txt文件就是.txt结尾,为png图片…...
1.1 android:监听并处理返回事件
在Android开发过程中,默认执行返回事件是结束当前界面,返回上一个界面,没有任何提示,但用户可能会误操作,这时出现一个提示界面对用户较为友好,接下来,让我们探究返回事件的处理。 一、onBackP…...
解决Ubuntu关机主板不断电的问题(其它使用GRUB的Linux发行版大概率也可用)
前言: 在某些主板上,Ubuntu20.04系统关机并不会连带主板一起断电。 猜测可能是主板太老了。无法识别较新的系统的关机信号,导致无法断电。连带着一些电脑周边设备也不会断电导致状态无法重置,后续会出现一些问题。 目标…...
【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)
文件上传 文章目录 文件上传 What is Upload-File?Upload-File In CTF Web151 考点:前端校验解题: Web152 考点:后端校验要严密解题: Web153 考点:后端校验 配置文件介绍解题: Web154 考点&am…...
无法正常启动此程序,因为计算机丢失wlanapi.dll
wlanapi.dll丢失怎么办?有没有什么靠谱的修复wlanapi.dll方法_无法启动此程序,因为计算机中丢失wlanapi.dll-CSDN博客 wlanapi.dll是 Windows 操作系统中的一个动态链接库文件,主要与 Windows 无线 LAN (WLAN) API 相关。该DLL提供了许多必要的函数&…...
C++ webrtc开发(非原生开发,linux上使用libdatachannel库)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、libdatachannel库的下载和build二、开始使用 1.2.引入库3.开始使用 总结 前言 使用c开发webrtc在互联网上留下的资料甚少,经过我一段时间的探…...
vue-router路由传参的两种方式(params 和 query )
一、vue-router路由传参问题 1、概念: A、vue 路由传参的使用场景一般应用在父路由跳转到子路由时,携带参数跳转。 B、传参方式可划分为 params 传参和 query 传参; C、而 params 传参又可分为在 url 中显示参数和不显示参数两种方式&#x…...
VBA高级应用30例应用在Excel中的ListObject对象:向表中添加注释
《VBA高级应用30例》(版权10178985),是我推出的第十套教程,教程是专门针对高级学员在学习VBA过程中提高路途上的案例展开,这套教程案例与理论结合,紧贴“实战”,并做“战术总结”,以…...
github操作学习笔记(杂乱版)
git开源的分布式版本控制系统: 每次修改文件提交后,都会自动创建一个项目版本 查看git版本看有没有安装成功:git --version 把默认编辑器设置成vim:git config --global core.editor "vim" 1、设置昵称和邮箱ÿ…...
TaskBuilder SQL执行工具
为了方便开发者连接当前任擎服务器上配置的各个数据源对应的数据库进行相关操作,TaskBuilder提供了一个SQL执行工具,点击系统侧边栏里的执行SQL图标 ,即可打开该工具,界面如下图所示: 该工具从上至下分为三个区域&a…...
快速掌握Quartz.Net计划任务调度框架,轻松实现定时任务
前言 Quartz.Net是一个开源的作业调度框架,可以用于管理计划任务和定期执行。Quartz.Net提供了丰富的作业计划选项,例如精确或模糊时间表达式、日期和时间限制等。Quartz.Net采用分布式架构,允许在多个计算机上运行任务。 Quartz.Net架构设…...
Linux ufw命令丨Linux网络防火墙ufw命令详解
ufw(Uncomplicated Firewall)是Ubuntu系统上默认的防火墙组件,它为轻量化配置iptables而开发,提供了一个非常友好的界面用于创建基于IPv4和IPv6的防火墙规则 ufw在Ubuntu 8.04 LTS后的所有发行版中默认可用,它通过命令…...
shell编程(完结)
shell编程(完结) 声明! 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章 笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其…...
深入了解Text2SQL开源项目(Chat2DB、SQL Chat 、Wren AI 、Vanna)
深入了解Text2SQL开源项目(Chat2DB、SQL Chat 、Wren AI 、Vanna) 前言1.Chat2DB2.SQL Chat3.Wren AI4.Vanna 前言 在数据驱动决策的时代,将自然语言查询转化为结构化查询语言(SQL)的能力变得日益重要。无论是小型创业…...
【Linux】报错:cannot create directory ‘test’: Read-only file system
1 报错 ❤️在使用mkdir test命令创建文件夹的时候,报错如下: mkdir:cannot create directory ‘test’:Read-only file system 2 解决方法 mount -o remount,rw / 🦋上述命令在Linux系统中用于重新挂载(root)文件系统,并将其从只读模式切换到读写模式。 ■ 下面是对…...
python mat是什么文件
.mat就是matlab的文件格式,一般用于matlab和python间的数据传输,python中numpy和scipy提供了一些函数,可以很好的对.mat文件的数据进行读写和处理。 在python中可以使用scipy.io中的函数loadmat()读取mat文件,函数savemat保存文…...
Redis: 一个高效的内存数据存储解决方案
Redis: 一个高效的内存数据存储解决方案 介绍 Redis(Remote Dictionary Server)是一种开源的高性能键值存储系统。它常被用作缓存、消息队列、会话存储、实时数据分析等多种场景。与传统的关系型数据库不同,Redis 是基于内存的数据存储&…...
AR眼镜_消费级工业AR智能眼镜主板硬件解决方案
AR眼镜的研发是一项复杂的软硬件集成工程,它需要在摄影、音频、交互和连接等多个方面提供卓越的基础体验,因此产品的每个细节都显得尤为重要。 在设计AR眼镜时,重量、体积和散热性能都是必须认真考量的关键因素。在芯片平台的选择上ÿ…...
C# 异常处理
C# 异常处理 异常处理是编程中不可或缺的一部分,它允许程序在遇到错误或意外情况时优雅地处理这些问题,而不是直接崩溃。C# 提供了一套强大的异常处理机制,包括 try-catch 块、finally 块和 throw 语句。本文将深入探讨 C# 中的异常处理,包括如何捕获和处理异常,以及如何…...
图解SSH原理
1. 初见SSH SSH是一种协议标准,其目的是实现安全远程登录以及其它安全网络服务。 SSH仅仅是一协议标准,其具体的实现有很多,既有开源实现的OpenSSH,也有商业实现方案。使用范围最广泛的当然是开源实现OpenSSH。 2. SSH工作原理 …...
如何快速批量把 PDF 转为 JPG 或其它常见图像格式?
在某些特定场景下,将 PDF 转换为 JPG 图片格式却具有不可忽视的优势。例如,当我们需要在不支持 PDF 查看的设备或软件中展示文档内容时,JPG 图片能够轻松被识别和打开;此外,对于一些网络分享或社交媒体发布的需求&…...
在CentOS中安装和卸载mysql
在CentOS7中安装和卸载mysql 卸载mysql1、查看是否安装过mysql2、查看mysql服务状态3、关闭mysql服务4、卸载mysql相关的rpm程序5、删除mysql相关的文件6、删除mysql的配置文件my.cnf 安装mysql1、下载mysql相关的rpm程序2、检查/tmp临时目录权限3、安装mysql前的依赖检查3、安…...