前言 1. 什么是“多任务”的操作系统? 简单地说,就是操作系统可以同时运行多个任务。 2. 单核CPU是如何执行多任务的? 操作系统轮流让多个任务交替执行,任务1执行0.01s,切换到任务2,任务2执行0.01s,再切换到任务3,执行0.01s……这样反复执行下去。表面上看,每个任务都是交替执行的 ...
分类:
编程语言 时间:
2019-12-04 11:50:28
阅读次数:
99
过程 初始标记 从roots(例如:thread stack引用的对象,static对象),新生代对象,标记直接引用的老年代对象。 并发标记 利用初始标记阶段标记的对象,递归标记整个老年代。 该阶段与用户线程并行执行,产生变化的对象(新建,晋升,引用变化(不引用)等)所在的Card标记为Dirty。 ...
分类:
其他好文 时间:
2019-12-01 18:33:53
阅读次数:
113
什么是Fork/Join框架 Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。 我们再通过Fork和Join这两个单词来理解下Fork/Join框架,Fork就是把一个大任务切分为若干子任务并行的 ...
分类:
编程语言 时间:
2019-11-28 19:38:31
阅读次数:
77
Galera Cluster特点 1、多主架构:真正的多点读写的集群,在任何时候读写数据,都是最新的 2、同步复制:集群不同节点之间数据同步,没有延迟,在数据库挂掉之后,数据不会丢失 3、并发复制:从节点APPLY数据时,支持并行执行,更好的性能 4、故障切换:在出现数据库故障时,因支持多点写入,切 ...
分类:
数据库 时间:
2019-11-28 13:34:09
阅读次数:
89
一、线程与进程 线程:一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。多线程是多任务的一种特别形式,但多线程使用了更小的资源开销。 进程:一个进程包括有操作系统分配的内存空间,包含一个或多个线程。一个线程不能独立的存在。它必须是进程的一部分。一个进程 ...
分类:
编程语言 时间:
2019-11-13 19:18:12
阅读次数:
84
第1章 口号:打破996魔咒,向“资本家”开炮【我们的最高宗旨】有一种优秀,叫“告别996"。本章开宗明义:一语道破课程的最高宗旨:告别996,打破996魔咒,不屈服于“资本家”淫威,为广大猿类提升工作效率,赢得个人时间,同时通过课程思维导图综述本课程内容丰富,必将让小伙伴们乘兴而来,兴尽而归。.. ...
分类:
其他好文 时间:
2019-11-11 00:26:17
阅读次数:
1286
随手记一些Hive容易遗漏的点或者问题,之后可能还会继续更新。 1、Hive使用一个inputFormat对象将输入流分割成记录,然后使用一个outputFormat对象来将对象格式化为输出流,再使用一个SerDe在读数据时将记录解析成列,在写数据时将列编码成记录。 2、where条件对分区字段使用 ...
分类:
其他好文 时间:
2019-11-10 17:14:55
阅读次数:
86
假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行。“任务调度”包括一组子任务、以及每个子任务可以执行所依赖的子任务集。 比如完成一个专业的所有课程学习和毕业设计可以看成一个本科生要完成的一项工程,各门课程可以看成是子任务。有些课程可以同时开设,比 ...
分类:
其他好文 时间:
2019-11-09 21:44:04
阅读次数:
156
问题(1)创建线程有哪几种方式?(2)它们分别有什么运用场景?简介创建线程,是多线程编程中最基本的操作,彤哥总结了一下,大概有8种创建线程的方式,你知道吗?继承Thread类并重写run()方法publicclassCreatingThread01extendsThread{@Overridepublicvoidrun(){System.out.println(getName()+"isrunni
分类:
编程语言 时间:
2019-11-05 09:30:32
阅读次数:
74
四种算法 引用计数(循环引用不能解决) 复制(新生代) 标记-整理 标记-清除 四种主要的垃圾回收器 Serial串行回收:为单线程生产环境设计并使用一个线程进行回收,会暂停所有的用户线程,不适合服务器环境 砸瓦鲁多!!! parallel并行回收:多个垃圾收集器线程并行执行,此时用户线程暂停,适用 ...
分类:
编程语言 时间:
2019-10-13 15:13:11
阅读次数:
112