摘要:
线程和进程的区别 1)调度:在传统的操作系统中,拥有资源的基本单位和独立调度、分派的基本单位都是进程。 而引入线程的操作系统,则把线程作为调度和分派的基本单位,而进程作为资源拥有的基本单位。 2)并发性:在引入线程的操作系统中,进程之间可并发执行,在一个进程中的多个线程亦可并发执行。 3)拥有资源: 阅读全文
摘要:
两种模式的特点 装饰模式: 在不改变接口的前提下,动态扩展对象的访问。 动态继承,让类具有在运行期改变行为的能力。 装饰模式,突出的是运行期增加行为,这和继承是不同的,继承是在编译期增加行为。 强调:增强 代理模式: 在不改变接口的前提下,控制对象的访问。 1.从封装的角度讲,是为了解决类与类之间相 阅读全文
摘要:
一、引用计数法 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1,当引用失效时,计数器值就减1,任何时刻计数器为0的对象就是不可能再被使用的。 但是它很难解决对象之间相互循环引用的问题。 比如说两个对象互相引用对方,导致它们的引用计数都不为0,于是引用计数算法无法通知GC收集器回收 阅读全文
摘要:
1.标记-清除算法 最基础的收集算法,如其名,算法为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。 两个不足: 1)效率问题,标记和清除两个过程的效率多不高; 2)空间问题,标记清除之后会产生大量不连续的内存碎片,空间碎片太多可能会导致以后在程序运行 阅读全文
摘要:
在Java虚拟机规范中将Java运行时数据划分为6种,分别为: PC寄存器(程序计数器) Java栈 堆 方法区 运行时常量池 本地方法栈 一、PC寄存器(程序计数器) PC寄存器(Program Counter Register)严格来说是一个数据结构,它用于保存当前正常执行的程序的内存地址。 线 阅读全文
摘要:
首先,写好Java代码,保存到硬盘中。然后在命令行中输入: 此时,这个Java类文件将编译成字节码(.class)文件。如果用Eclipse等IDE开发工具,则当你保存代码的时候,这些开发工具已经完成了上述的手动编译工作,所以可以在对应的目录看到class文件。此时的class文件依然保存在硬盘中保 阅读全文
摘要:
补充: killall 用来杀死指定名字的进程 defaults 可以对一些系统属性进行read,write,delete操作 下面举几个常用的例子: 1.显示隐藏文件 2.显示Safari调试菜单 3.隐藏DashBoard 或者,在【系统偏好设置】->【Mission Control】->【Da 阅读全文
摘要:
三次握手:建立TCP连接 连接建立过程: B的TCP服务器进程先创建传输控制块TCB(存储了每一个连接中的一些重要信息,如:TCP连接表,到发送和接收缓存的指针,到重传队列的指针,当前的发送和接收序号,等),准备接受客户进程的连接请求。然后服务器进程就处于LISTEN(收听)状态,等待客户的连接请求 阅读全文
摘要:
简述 每个万维网网点都有一个服务器进程,它不断地监听TCP的端口80,以便发现是否有浏览器向它发出连接建立请求。一旦监听到连接建立请求并建立了TCP连接之后,浏览器就向万维网服务器发出浏览某个页面的请求,服务器接着就返回所请求的页面作为响应。最后,TCP连接就被释放了。 HTTP协议的底层传输默认使 阅读全文
摘要:
TCP:传输控制协议 TCP特点: 1)TCP是面向连接的运输层协议。所以,应用程序在使用TCP协议之前,必须先建立TCP连接。在传送数据完毕后,必须释放已经建立的TCP连接。 2)每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。 3)TCP提供可靠交付的服务。通过TCP连接传送的数 阅读全文