关闭

操作系统-分段分页

1.分页与分段的主要区别: 1)、段是信息的逻辑单位,它是根据用户的需要划分的,因此段对用户是可见的;页是信息的物理单位,是为了管理主存的方便而划分的,对用户是透明的。 2)、页的大小固定不变,由系统决定。段的大小是不固定的,它由其完成的功能决定。 3)、段式向用户提供的是二维地址空间,页式向用户提供的是一维地址空间,其页号和页内偏移是机器硬件的功能。 4)、由于段是信息的逻辑单位,因此便...
阅读(130) 评论(0)

Top N问题(一)基础

前言: 在分析MapReduce、Hive、Redis和Storm、Spark等工具实现分组Top n问题前,我们先看下Java最原始实现Top的方法有哪些,为后面奠定些基础,这也是我要整理成一个系列的原因。 对于Top n问题,这里根据数据特点用合并法、快排过程法、大小顶堆和PriorityQueue固定队列四种方式来实现。 合并法: 数据描述:这种方法适用于几个数组有序的情况,来求...
阅读(187) 评论(0)

Contains Duplicate II

1、题目名称 Contains Duplicate II(判断数组内是否有重复元素2) 2、题目地址 https://leetcode.com/problems/contains-duplicate-ii/ 3、题目内容 英文:Given an array of integers and an integer k, find out whether there...
阅读(272) 评论(0)

53. Maximum Subarray

53. Maximum Subarray    My Submissions Question Editorial Solution Total Accepted: 111178 Total Submissions: 302914 Difficulty: Medium Find the contiguous subarray within an array...
阅读(350) 评论(0)

Java异常处理(3)自动关闭的try

新增了try-with-resource 异常声明 在JDK7中只要实现了AutoCloseable或Closeable接口的类或接口,都可以使用try-with-resource来实现异常处理和资源关闭,圆括号声明的资源,必须在程序结束时显示关闭,try语句在{}结束后自动关闭资源。 异常抛出顺序。在Java se 7中的try-with-resource机制中异常的抛出顺序与Jav...
阅读(196) 评论(0)

Java异常处理(2)

java.lang.Exception类是Java中所有异常的直接或间接父类。即Exception类是所有异常的根类。   比如程序:  public class ExceptionTest { public static void main(String[] args) { int a = 3; int ...
阅读(140) 评论(0)

Java异常处理(1)

1.Java异常机制 Java把异常当做对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。Java中的异常分为两大类:错误Error和异常Exception,Java异常体系结构如下图所示: 图片来源:http://blog.csdn.net/wuwenxiang91322/article/details/10346337 2.Throw...
阅读(128) 评论(0)

Java输入输出深入序列化(5)

要搞清楚,什么情况下需要实例化?  1、当你想把的内存中的对象状态保存到一个文件中或者数据库中时候;  2、当你想用套接字在网络上传送对象的时候;  java对象序列化不仅保留一个对象的数据,而且递归保存对象引用的每个对象的数据。可以将整个对象层次写入字节流中,可以保存在文件中或在网络连接上传递。利用对象序列化可以进行对象的"深复制",即复制对象本身及引用的对象本身。序列化一个对象可能得到整...
阅读(232) 评论(0)

191. Number of 1 Bits

191. Number of 1 Bits、 Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also known as the Hamming weight). For example, the 32-bit integer ’11' has b...
阅读(137) 评论(0)

Java输入输出(4)序列化

一、序列化和反序列化的概念   把对象转换为字节序列的过程称为对象的序列化。   把字节序列恢复为对象的过程称为对象的反序列化。   对象的序列化主要有两种用途:   1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;   2) 在网络上传送对象的字节序列。   在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是We...
阅读(234) 评论(0)

Java输入输出(3) 处理流和节点流

首先,流是什么? 流是个抽象的概念,是对输入输出设备的抽象,Java程序中,对于数据的输入/输出操作都是以“流”的方式进行。设备可以是文件,网络,内存等。 流具有方向性,至于是输入流还是输出流则是一个相对的概念【取决于流向】,一般以程序为参考,如果数据的流向是程序至设备,我们成为输出流,反之我们称为输入流。 可以将流想象成一个“水流管道”,水流就在这管道中形成了,【水滴救...
阅读(318) 评论(0)

Java输入输出(2) 层次体系结构

4.java.IO层次体系结构  在整个Java.io包中最重要的就是5个类和一个接口。5个类指的是File、OutputStream、InputStream、Writer、Reader;一个接口指的是Serializable.掌握了这些IO的核心操作那么对于Java中的IO体系也就有了一个初步的认识了       Java I/O主要包括如下几个层次,包含...
阅读(477) 评论(0)

Java输入输出(1)基础知识

1.什么是IO       Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。         Java.io是大多数面向数据流的输入/输出类的主要软件包。此外,J...
阅读(159) 评论(0)

Java文件流 BufferedStream

一、BufferedInputSream 出现的目的是为了提高读取文件的效率,但是BufferedInputStream的read的方法每次读取一个字节数据,而FileInputStream每次也是读取一个字节的数据,那么BufferedInputStream效率从何而来? BufferedInputStream:是从内存中的缓冲数组读取的。FileInputStream:是从硬盘中直接...
阅读(538) 评论(0)

Java多线程(6) 线程池

什么原因使我们不得不使用线程池?  个人认为主要原因是:短时间内需要处理的任务数量很多  使用线程池的好处:  1.减少在创建和销毁线程上所花的时间以及系统资源的开销  2.如不使用线程池,有可能造成系统创建大量线程而导致消耗完系统内存  以下是Java自带的几种线程池:  1、newFixedThreadPool  创建一个指定工作线程数量的线程池。 ...
阅读(205) 评论(0)

Java多线程(5) interrupt

一.简述 interrupt()不会中断一个正在运行的线程。方法实际完成的是:在线程受到阻塞时抛出一个中断信号,线程就得以退出阻塞的状态。      更确切的说,      如果线程被Object.wait,Thread.join,Thread.sleep三种方法之一阻塞,那么,它将接收到一个中断异常(InterruptedException),从而提早地终结被阻塞状态。、       ...
阅读(178) 评论(0)

Java多线程(4)线程组

Java并发 API里有个有趣的方法是把线程分组。这个方法允许我们按线程组作为一个单位来处理。例如,你有一些线程做着同样的任务,你想控制他们,无论多少线程还在运行,他们的状态会被一个call 中断。 【类比就是你想控制一批人,利用这些线程来完成一些任务,进行统一的管理和监控】 例子: public class ThreadGroupTest { public sta...
阅读(115) 评论(0)

Java多线程(3) 线程之间通信

线程间的相互作用   线程间的相互作用:线程之间需要一些协调通信,来共同完成一件任务。   Object类中相关的方法有两个notify方法和三个wait方法:   http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html   因为wait和notify方法定义在Object类中,因此会被所有的类所继承。 ...
阅读(164) 评论(0)

Java多线程(2) 同步

一.简述 要说明线程同步问题首先要说明Java线程的两个特性,可见性和有序性。多个线程之间是不能直接传递数据交互的,它们之间的交互只能通过共享变量来实现。拿上篇博文中的例子来说明,在多个线程之间共享了Count类的一个对象,这个对象是被创建在主内存(堆内存)中,每个线程都有自己的工作内存(线程栈),工作内存存储了主内存Count对象的一个副本,当线程操作Count对象时,首先从主内存复制Coun...
阅读(179) 评论(0)

Java多线程(1) 创建

一.线程的生命周期及五种基本状态 关于Java中线程的生命周期,首先看一下下面这张较为经典的图: Java线程具有五中基本状态 新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t = new MyThread(); 就绪状态(Runnable):当调用线程对象的start()方法(t.start();),线程即进入就绪状态。处于就绪状态的线程,只是说明此线程...
阅读(422) 评论(0)
347条 共18页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:174352次
    • 积分:3279
    • 等级:
    • 排名:第10347名
    • 原创:124篇
    • 转载:223篇
    • 译文:0篇
    • 评论:10条
    最新评论
    操作系统知识点总结
    回顾面试常考的操作系统知识点