![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
情谊风月
溪云初起日沉阁,山雨欲来风满楼
展开
-
并发与并行
Erlang 发明者 Joe Armstrong 在他的一篇博文(原文链接)中提到并发和并行的区别:Concurrent = Two queues and one coffee machine.Parallel = Two queues and two coffee machines.并发是两个等待队列中的人同时去竞争一台咖啡机,谁先竞争到咖啡机谁使用;而并行是每个队列拥有自己的咖啡机,两...原创 2018-10-01 15:59:14 · 269 阅读 · 0 评论 -
进程与线程
进程(process)与线程(thread)有很多类似的性质,因此有时也称线程为轻量级进程(lightweight process, LWP)。在引入线程的操作系统中,把线程作为CPU调度和分派的基本单位,进程作为资源拥有的基本单位。同一进程中线程的切换不会引起进程切换,但是由一个进程中的线程切换到另一进程中的线程时,依然会引起进程切换。进程有一个独立的执行环境。每个进程都有其自己的内存空间。...原创 2018-10-03 17:25:14 · 288 阅读 · 0 评论 -
字节序 — 大端序与小端序
字节序字节序(Endian/Byte Order)表示多字节数据的存储规则。字节序分为两种: 小端序(Little Endian): 低地址端存储低位字节,高地址端存储高位字节 大端序(Big Endian): 低地址端存储高位字节,高地址端存储低位字节网络传输一般采用大端序,因此我们将大端序也称作网络字节序。对于单个字节的数据,没有字节序的问题。但对于多字节的数据来说,当我们存储...原创 2018-10-06 14:23:07 · 993 阅读 · 0 评论 -
Linux alternatives 控制 Java 版本
alternativesalternatives 命令是 Linux 中的维护符号链接引用的命令,一般用来控制版本切换。update-alternatives 命令同alternatives。例如,在 Linux 上安装 JDK 8 与 JDK 11 两个版本,因为 hive 3.1.1 版本还不支持 JDK 11,因此需要在 JDK 8 和 11 中切换。使用示例向 alternati...原创 2018-11-02 22:44:22 · 431 阅读 · 0 评论 -
systemctl 管理服务
Linux systemctlsystemctl 命令,主要有两个功能:控制 systemd 系统管理系统上运行的服务systemctl 融合了 service 和 chkconfig 的功能于一体,可以通过它启用/禁用服务。语法:systemctl [OPTIONS…] COMMAND [NAME…]COMMAND:start:立刻启动后面接的 unitstop:立刻...原创 2018-11-11 14:05:10 · 282 阅读 · 0 评论 -
SQL 、Java 与 Shell 中获取零点时间
在项目中我们可能需要统计昨日零点至今日零点的数据,这时需要根据当前时间计算零点时间。SQL (Vertica)SELECT extract(epoch from 'today');Java 获取零点时间// 今日零点LocalDateTime zeroTime = LocalDateTime.of(LocalDate.now(), LocalTime.MIN);// 昨日零...原创 2018-11-18 13:54:58 · 1637 阅读 · 1 评论 -
Linux epoll 与多路复用
针对IO,总是涉及到阻塞、非阻塞、异步、同步以及select/poll和epoll的一些描述,那么这些东西到底是什么,有什么差异?一般来讲一个IO分为两个阶段:等待数据到达把数据从内核空间拷贝到用户空间现在假设一个进程/线程A,发出IO请求,有两种情况:立即返回由于数据未准备好,需要等待,让出CPU给别的线程,自己sleep第一种情况就是非阻塞,A为了知道数据是否准备好,需要...转载 2019-01-18 21:10:49 · 241 阅读 · 0 评论