计算机组成原理/操作系统
文章平均质量分 87
molecule_jp
计算机没有黑魔法,只不过你现在不知道而已。All problems in computer science can be solved by another level of indirection, except for the problem of too many layers of indirection.未来程序一定是可以改变世界!
展开
-
Docker学习(一)
Docker 使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易,也使得应用的维护更新更加简单,基于基础镜像进一步扩展镜像也变得非常简单。此外,Docker 团队同各个开源项目团队一起维护了一大批高质量的 官方镜像,既可以直接在生产环境使用,又可以作为基础进一步定制,大大的降低了应用服务的镜像制作成本。传统的虚拟机技术启动应用服务往往需要数分钟,而 Docker 容器应用,由于直接运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启动时间。大大的节约了开发、测试、部署的时间。原创 2023-06-15 11:37:07 · 1600 阅读 · 0 评论 -
将递归函数转成非递归函数的通用方法
下面我们做一个简单的总结:我们写的程序需要翻译成指令才能被执行,在 03 课时中我们提到过,这个翻译工具叫作编译器。平时你编程做的事情,用机器指令也能做,所以从计算能力上来说它们是等价的,最终这种计算能力又和图灵机是等价的。如果一个语言的能力和图灵机等价,我们就说这个语言是图灵完备的语言。现在市面上的绝大多数语言都是图灵完备的语言,但也有一些不是,比如 HTML、正则表达式和 SQL 等。我们通过汇编语言构造高级程序;通过高级程序构造自己的业务逻辑,这些都是工程能力的一种体现。原创 2023-06-13 21:49:55 · 654 阅读 · 0 评论 -
64位和32位相比优势是什么(二)
【解析】其实,这个问题需要分类讨论。如果说的是 64 位宽 CPU,那么有 2 个优势。优势 1:64 位 CPU 可以执行更大数字的运算,这个优势在普通应用上不明显,但是对于数值计算较多的应用就非常明显。优势 2:64 位 CPU 可以寻址更大的内存空间如果 32 位/64 位说的是程序,那么说的是指令是 64 位还是 32 位的。32 位指令在 64 位机器上执行,困难不大,可以兼容。如果是 64 位指令,在 32 位机器上执行就困难了。原创 2023-06-13 19:46:25 · 884 阅读 · 0 评论 -
64位和32位相比优势是什么(一)
前置知识:程序是如何执行的??面试官考察这种类型的问题,主要是想看求职者是否有扎实的计算机基础,同时想知道求职者在工作中是否充满好奇,会主动学习、寻根问底,毕竟 32、64 位是经常出现在程序员视野的词汇,常见的东西都弄明白了,那说明这个人学习能力强。其实 ,面试官在这里给你挖了一个陷阱,因为他没有说清楚 32、64 位指的是操作系统、是软件、还是 CPU?如果是软件,那么我们的数据库有 32 位和 64 位版本;原创 2023-06-13 19:37:56 · 1837 阅读 · 1 评论 -
通过IEDA连接Linux上的MYSQL
使用文件夹打开上述路径,显示如下,有一个文件夹名为MySQL ConnectorJ的,将驱动jar包放置此处即可(全部替换)。回到上面的Select Database Driver Files 界面,选择刚刚我们存储的驱动jar包,点击ok即可。点击custom JARS后,出现如下界面,显示的时jar包存储的路径,我们只需要将jar包,存放之此处即可。2. 新建数据库(mysql)连接,点击“+”号,添加新的连接,选择mysql。在项目A中配置的数据库连接a,那么只能在项目A中能看到和使用数据库连接a。原创 2023-05-31 17:28:48 · 1123 阅读 · 0 评论 -
LRU 该用什么数据结构
我们讨论的频次较高、频次较低,是基于历史的。历史在未来并不一定重演。比如读取一个大型文件,无论如何操作都很难建立一个有效的缓存。甚至有的时候,最近使用频次最低的数据被缓存,使用频次最高的数据被置换,效率会更高。比如说有的数据库设计同时支持 LRU 缓存和 MRU( Most Recently Used)缓存。MRU 是 LRU 的对立面,这看似茅盾,但其实是为了解决不同情况下的需求。这并不是说缓存设计无迹可寻,而是经过思考和预判,还得以事实的命中率去衡量缓存置换算法是否合理。原创 2023-05-27 09:26:11 · 851 阅读 · 0 评论 -
大内存分页用在什么场景下?
什么情况下使用大内存分页?通常应用对内存需求较大时,可以考虑开启大内存分页。比如一个搜索引擎,需要大量在内存中的索引。有时候应用对内存的需求是隐性的。比如有的机器用来抗高并发访问,虽然平时对内存使用不高,但是当高并发到来时,应用对内存的需求自然就上去了。虽然每个并发请求需要的内存都不大, 但是总量上去了,需求总量也会随之提高高。这种情况下,你也可以考虑开启大内存分页。原创 2023-05-26 18:53:07 · 928 阅读 · 0 评论 -
对称加密和非对称加密的区别
对称加密用同样的密钥,安全系数不够。非对称加密,用公钥 + 私钥的方式加强了安全系数。那么是不是我们所有的加密的应用都应该用非对称加密呢?通常情况,非对称加密需要更多的运算资源。因此很多协议使用非对称加密解决最核心的安全问题,再用对称加密解决其他问题。以 HTTPS 协议为例,客户端和服务器之间会先用非对称加密交换临时对称加密密钥,然后之后的通信会以对称加密执行,直到连接结束。也就是非对称加密仅仅存在于 HTTPS 连接建立后,用于交换密钥(对称加密密钥)的少数几次传输中。原创 2023-05-11 17:12:23 · 772 阅读 · 0 评论 -
Linux权限划分的原则
考察的不仅是一个具体的指令,还考察对技术层面的认知。如果对 Linux 权限有较深的认知和理解,那么完全可以通过查资料去完成具体指令的执行。更重要的是,认知清晰的程序员可以把 Linux 权限管理的知识迁移到其他的系统设计中。原创 2023-05-09 09:52:42 · 1395 阅读 · 0 评论 -
进程的开销比线程大在了哪里?
进程内部都有哪些数据?为什么创建进程的成本很高?这样的问题确实不好回答,除非你真正理解了进程和线程的原理,否则很容易掉入面试大坑。本讲,我将带你一起探究问题背后的原理,围绕面试题展开理论与实践知识的学习。通过本讲的学习,希望你可以真正理解进程和线程原理,从容应对面试。原创 2023-04-09 20:36:51 · 472 阅读 · 0 评论 -
可以计算“如何把程序写好”吗?
我们学习了芯片,芯片将电能转化为计算能量,计算能量推动程序执行;接着提到了摩尔定律,了解到我们的计算能力仍在飞速发展;还花了篇幅讲了图灵机,从而进一步认识了人工智能之父阿兰·图灵,图灵机具体的设计和构造;最后普及了图灵测试和人工智能的基本概念,带你了解了计算机的能力边界。下面我们回到最初的问题:“可不可以计算一个人程序写得好不好?这个问题可以这样来思考,如果把问题降级,变成:“可不可以计算一个人写的程序会不会停机?这个问题就如同停机问题,无法计算,因此这是一个不可计算的问题。原创 2023-04-06 15:05:48 · 364 阅读 · 0 评论