都是面向对象的语言,都支持封装、继承和多态 Java 不提供指针来直接访问内存,程序内存更加安全 Java 的类是单继承的,C++ 支持多重继承;虽然 Java 的类不可以多继承,但是接口可以多继承。 Java 有自动内存管理机制,不需要程序员手动释放无用内存 在 C 语言中,字符串或字符数组最后都 ...
分类:
编程语言 时间:
2020-05-31 16:00:43
阅读次数:
91
一个合格的Linux运维工程师就必须知道系统启动流程,不管是在面试中还是系统故障排错或多或少都会涉及到启动流程。本文参考《鸟哥的Linux私房菜》第三版在了解系统启动流程之前先了解几个概念:Linux的组成部分:Kernel+rootfs(根文件系统)+程序Kernel的功能:进程管理、内存管理、网... ...
分类:
系统相关 时间:
2020-05-31 00:53:18
阅读次数:
117
##1.C语言基础 C语言特性 ##2.数据类型 ##3.字面量 ##4.类型转换 ##5.表达式和运算符 ##6.语句 ##7.函数 ##8.数组 ##9.指针 ##10.结构,联合与位字段 ##11.声明 ##12.动态内存管理 ##13.输入和输出 ##14.多线程 ##15.预处理 ##16 ...
分类:
编程语言 时间:
2020-05-30 13:03:59
阅读次数:
87
前言 像C语言这样的底层语言一般都有底层的内存管理接口,比如malloc()和free()用于分配和释放内存。而对于JavaScript来说,会在创建变量时分配内存,并且在不再使用它们时自动释放内存,这个自动释放内存的过程称为垃圾回收,因为自动垃圾回收机制的存在,让大多JavaScript开发者感觉 ...
分类:
其他好文 时间:
2020-05-29 19:29:28
阅读次数:
60
原文:https://www.tomorrow.wiki/archives/334 页式存储器管理是操作系统中十分重要的内容,这也正是虚拟存储关键技术之一。如果没有理解页式管理、段式管理和段页式管理,那么对操作系统中的虚拟内存理解也只有十之一二,因为操作系统中的各个概念都是密不可分的,你中有我,我中 ...
分类:
其他好文 时间:
2020-05-27 23:18:28
阅读次数:
122
读rbtree 定义在rbtree.c文件 rb_insert_color:插入一个节点 rb_prev:返回当前节点之前的节点e rb_next:返回当前节点之后的节点 rb_erase:删除一个节点 内存管理,io调度算法等等使用了红黑树! 红黑树实质是自平衡二叉树。 两个完全公平调度策略,一个 ...
分类:
其他好文 时间:
2020-05-27 00:52:35
阅读次数:
91
内存管理(一) 页(page) 内核把物理页作为内存管理的基本单位,尽管处理器最小的可寻址单位通常为字(甚至字节),但是,内存管理单元(MMU)通常以页为单位进行处理。从虚拟内存角度来看,页就是最小单位。大多数32位体系结构都支持4K的页。 内核用struct page结构表示系统中的每个物理页,该 ...
分类:
其他好文 时间:
2020-05-25 12:34:40
阅读次数:
85
一般来说,一个spark程序包含两种 JVM 程序,Dirver 和 Executor。Dirver 是主要的控制程序,负责创建 context,提交任务,那 job 转换为 task 并且协调 task 在 executor 中的执行。Executor 主要是负责执行计算任务并且将结果返回给 Dr ...
分类:
其他好文 时间:
2020-05-24 23:52:11
阅读次数:
70
1. Redis 和 memcache 的区别 1. memcache 多线程 ,redis 单线程 2. redis 支持5种数据类型,memcache只支持一种字符串类型 3. 内存管理 redis : redis使用malloc和free来进行内存分配,会导致内存碎片,加重操作系统内存管理器的 ...
分类:
系统相关 时间:
2020-05-22 17:07:41
阅读次数:
63