操作系统进化的推动因素
硬件成本不断下降
计算机的功能和复杂性不断变化
XP系统代码达到4000w行。
第一阶段:状态机操作系统
时间:1940年以前
所谓状态机操作系统实际上算不上我们现在通常所定义的操作系统,而是一种简单的状态转换程序:根据特定输入和现在的特定状态进行状态转换而已。
驱动力:个人英雄主义
第二阶段:单一操作员单一控制端操作系统
时间:20世纪40年代
第一台电子计算机:ENIAC
原...
常用经典算法之分治法
基本概念
在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)……
任何一个可以用计算机求解的问题所需的计算时间都与其规模有关。...
基于Java的BFS和DFS的简单实现
说在前面的话
读研期间研究的方向为社区发现,现阶段社区发现都是基于图来进行划分。所以讲复杂网络学习中的一些知识点进行笔记记录。同时,图在算法世界中的重要地位是不言而喻的,面试官问的问题中有很多的问题都可以用图的方法去解决。由此也可以看出图确实适用范围确实很广。
图的表示
邻接矩阵 ,对于N个点的图,需要N×N的矩阵表示点与点之间是否有边的存在。这种表示法的缺点是浪费空间,尤其是对于...
Hadoop性能调优之部分参数设置技巧
这里主要针对Hadoop1中Mapreduce的性能调优,Hadoop2的MapReduce的性能调优大同小异。
这里主要涉及的参数包括:
HDFS:
dfs.block.size
Mapredure:
io.sort.mb
io.sort.spill.percent
mapred.local.dir
mapred.map.tasks & mapred.tasktracker.map.tasks.maximum
mapred.reduce.tasks & mapred.tasktracker.reduce.tasks.maximum
mapred.reduce.max.attempts
mapred.reduce.parallel.copies
map...
HDFS block自动进入安全模式(safe mode)原因及解决方案
实验中碰到了如下问题:
问题描述:
The number of live datanodes 3 has reached the minimum number 0.
Safe mode will be turned off automatically once the thresholds have been reached。
可能原因: 因磁盘空间不足,内存不足,系统掉电等其他原因导致dataNode datablock丢失。
一般来说,这是由于系统断电,内存不足等原因导致dataNode丢失超过设置的丢失百分比,系统自动进入安全模式。
下面我将...
Java虚拟机之辨清Java堆
Java堆是和Java应用程序关系最为密切的内存空间,几乎所有的对象都放在堆中。并且Java堆是完全自动化管理的,通过垃圾回收机制,垃圾对象会被自动清理,而不需要显式地释放,c/c++中的free()等为显示地释放内存。
根据垃圾回收机制的不同,Java堆有可能拥有不同的结构。最为常见的一种构成是将整个Java堆分为新生代和老年代。其中,新生代存放新生对象或者年龄不大的对象,老年代则存放老年对象。新生代有...
进制转换-华为oj
题目描述
写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入)
输入描述:
输入一个十六进制的数值字符串。
输出描述:
输出该数值的十进制字符串。
输入例子:
0xA
输出例子:
10
知识点
字符串
解答
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while ...
从零学习Hadoop之HDFS的Federation机制
上一篇介绍了Hadoop2中的新特性HA机制,是由于单节点故障而开发的,并且提到随着集群规模的变大,NameNode成为性能的瓶颈,而这次介绍一下HDFS的Federation机制就是为了解决这两个问题而开发的。
在Hadoop1的HDFS架构中,HDFS集群只有一个名字空间,并且只有单独的一个NameNode,这个NameNode负责对这单独的一个名字空间进行管理。这也正是单点失效(Single Point Failure)的隐患所在。
可得:HDFS Federa...
从零学习Hadoop之HDFS的HA机制
Hadoop2.0.0版本之前,NameNode是HDFS集群的单点故障点,每一个集群只有一个NameNode,如果这个机器或者进程不可用,整个集群则无法使用,直到重启NameNode或者新启动一个NameNode节点。
那么,导致HDFS集群不可用的两种主要情况:
类似机器宕机,Hadoop1解决方式:重启NameNode。
计划内的软件或者硬件升级(NameNode节点),将导致集群在段时间范围内不可用。
HDFS的高可用性(High Availablity)就可...
初识Java虚拟机的基本结构
Java虚拟机是什么?是做什么的?可能这些问题在我们学习Java之初就伴随这我们。
一般来说我们使用IDE将我们编写好的Java程序,点击运行,在不出错的情况下,就会得到我们想要的结果。那么这期间到底发生了什么?先看下图:
知道的是Java程序通过编译器编译成class文件,那么后面到底发生了什么,就是Java虚拟机的工作。现在我们先要认识Java虚拟机的基本结构。
类加载子系统
类加载子系统负责从文件系统...