- 浏览: 20415 次
最新评论
文章列表
异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error;如果 ...
正则表达式是用于匹配字符串中字符组合的模式。在 JavaScript中,正则表达式也是对象。这些模式被用于 RegExp 的 exec 和 test 方法, 以及 String 的 match、matchAll、replace、search 和 split ...
1. Git简介
// 1. 创建版本库
$ cd:e // 切换盘符
$ cd .. // 回到文件上一层(注: cd与..中间有个空格)
$ cd ~ // 回到当前目录的主目录
$ mkdir Git // 创建文件夹Git
$ touch fileName // 新建文件
$ vi fileName // 编辑文件
$ press i button // 开始进入编辑状态
$ press the Esc button // 退出vim编辑区
$ :wq // 退出 ...
一、队列的定义
我们都知道队列(Queue)是一种先进先出(FIFO)的数据结构,Java中定义了java.util.Queue接口用来表示队列。Java中的Queue与List、Set属于同一个级别接口,它们都是继承于Collection接口。
Java中还定义了一种双端队列java.util.Deque,我们常用的LinkedList就是实现了Deque接口。
二、队列的实现
Java中对于队列的实现分为非阻塞和阻塞两种。
$ 非阻塞队列分为如下:
LinkedLis ...
一、认识String String类型是不可变类型,为了保持文章的独立性,还是拿出来这个老掉牙的例子:
在这里我们一开始给变量a赋值为“张三”,后来又赋值为"李四",是不是有 ...
假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比基准数大的数放在6的右边,比基准数小的数放在6的左边,类似下面这种排列。
3 1 2 5 4 6 9 7 10 8
在初始状态下,数字6在序列的第1位。我们的目标是将6挪 ...
在一个有向图中,对所有的节点进行排序,要求没有一个节点指向它前面的节点。
先统计所有节点的入度,对于入度为0的节点就可以分离出来,然后把这个节点指向的节点的入度减一。
一直做改操作,直到所有的节点都被分离出来。
如果最后不存在入度为0的节点,那就说明有环,不存在拓扑排序,也就是很多题目的无解的情况。
下面是算法的演示过程: 拓扑排序acbfde:
转载于:https: ...
为什么用HashMap?
HashMap是一个散列桶(数组和链表),它存储的内容是键值对(key-value)映射HashMap采用了数组和链表的数据结构,能在查询和修改方便继承了数组的线性查找和链表的寻址修改HashMap是非synchronized,所以HashMap很快HashMap可以接受null键和值,而Hashtable则不能(原因就是equlas()方法需要对象,因为HashMap是后出的API经过处理才可以)。
HashMap的工作原理
Ha ...
操作系统栈和堆
地址空间布局:
栈:
执行期间编译器自动分配,编译器用它实现函数调用,调用函数时,栈增长,函数返回时,栈收缩。局部变量、函数参数、返回数据、返回地址等放在栈中。
栈的特点
内存分配取决于编译器,用户栈在程序运行期间可以动态的扩展和收缩。
和数据结构中的“栈”本质上是不一样的,但是操作方式类似于栈。
数据从栈中的进出满足“后进先出”的规律。
栈向低地址方向增长,esp(栈指针)指向栈顶元素。
堆:
动态储存器分配器维护着的一个进程的虚拟存储器 ...
1.进程-线程的简单介绍
进程
什么是进程呢?
进程是计算机中的程序关于某数据集合的一次运行活动,是系统进行资源分配的调度的基本单位,是操作系统结构 ...
什么是Socket?
Socket是网络上运行的两个程序间双向通讯的一端,它既可以接受请求,也可以发送请求,利用它可以较为方便的编写网络上数据的传递。如在Java中,有专门的Socket类来处理用户的请求和响应。利用Socket类的方法,就可以实现两台计算机之间的通讯。Java中Socket可以理解为客户端或者服务器端的一个特殊的对象,这个对象有两个关键的方法,一个是getInputStream方法,另一个是getOutputStream方法。getInputStream方法可以 ...
树的介绍
1. 树的定义
树是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。
把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它 ...
转载于:https://my.oschina.net/u/4167465/blog/3084039
1.中断概念
中断是指在CPU正常运行期间,由于内外部事件或由程序预先安排的事件引起的CPU暂时停止正在运行的程序,转而为该内部或外部事件或预先安排的事件服务的程序中去,服务完毕后再返回去继续运行被暂时中断的程序。Linux中通常分为外部中断(又叫硬件中断)和内部中断(又叫异常)。
在实地址模式中,CPU把内存中从0开始的1KB空间作为一个中断向量表。表中的每一项占4个字节。但是在保护模式中,有这4个字节的表项构成的中断向量表不满足实际需求,于是根据反映模式切换的信息和 ...
八种基本数据类型的大小,以及他们的封装类
八种基本数据类型:int、short、float、double、long、boolean、byte、char。
封装类分别是:Integer、Short、Float、Double、Long、Boolean、Byte、Character。
引用数据类型
引用数据类型是由类的编辑器定义的,他们是用于访问对象的。这些变量被定义为不可更改的特定类型。
例如:Employee, Puppy 等等
类对象和 ...