摘要: 并发的两个关键问题 1、线程之间如何通信 2、线程之间如何同步 通信是指线程之间以何种机制来交换信息,在命令式编程中,通信机制有两种:共享内存和消息传递;JAVA的并发采用的是共享内存,线程之间的通信总是隐式进行。 同步指程序中用于控制不同线程间操作发生相对顺序的机制,在共享内存并发模型中,同步是显 阅读全文
posted @ 2016-10-18 17:25 冬瓜蔡 阅读(1044) 评论(0) 推荐(0) 编辑
摘要: 一、JMX的定义 JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。JMX是一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理。这是官方文档上的定义,我看过很多次也无法很好的理解。我个人的理解是JMX让程序有被管理 阅读全文
posted @ 2016-09-24 14:40 冬瓜蔡 阅读(105898) 评论(15) 推荐(25) 编辑
摘要: 类加载器是负责将可能是网络上、也可能是磁盘上的class文件加载到内存中。并为其生成对应的java.lang.class对象。一旦一个类被载入JVM了,同一个类就不会被再次加载。那么怎样才算是同一个类?在JAVA中一个类用其全限定类名(包名和类名)作为其唯一标识,但是在JVM中,一个类用其全限定类名 阅读全文
posted @ 2016-09-18 17:49 冬瓜蔡 阅读(13896) 评论(1) 推荐(3) 编辑
摘要: “代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是变成语言发展的一大步”,这句话出自《深入理解JAVA虚拟机》一书,后面关于jvm的系列文章主要都是参考这本书。 JAVA源码编译由三个过程组成: 1、源码编译机制。 2、类加载机制 3、类执行机制 我们这里主要介绍编译和类加载这两 阅读全文
posted @ 2016-09-17 11:39 冬瓜蔡 阅读(18013) 评论(0) 推荐(1) 编辑
摘要: 缓冲区分类 NIO中的buffer用于和通道交互,数据是从通道读入缓冲区,从缓冲区中写入通道的。Buffer就像一个数组,可以保存多个类型相同的数据。每种基本数据类型都有对应的Buffer类: 缓冲区的属性 1、capacity(容量):buffer本质是一个数组,在初始化时有固定的大小,这个值就是 阅读全文
posted @ 2016-08-27 13:13 冬瓜蔡 阅读(2960) 评论(0) 推荐(0) 编辑
摘要: Socket又称套接字,是连接运行在网络上两个程序间的双向通讯的端点。 一、使用Socket进行网络通信的过程 服务端:服务器程序将一个套接字绑定到一个特定的端口,并通过此套接字等待和监听客户端的连接请求。 客户端:客户端程序根据你服务器所在的主机名和端口号发出连接请求。 两者之间的通信是通过Soc 阅读全文
posted @ 2016-08-13 14:32 冬瓜蔡 阅读(10184) 评论(0) 推荐(3) 编辑
摘要: 网络基础知识 1、OSI分层模型和TCP/IP分层模型的对应关系 这里对于7层模型不展开来讲,只选择跟这次系列主题相关的知识点介绍。 2、七层模型与协议的对应关系 网络层 IP(网络之间的互联协议) 传输层 TCP(传输控制协议)、UDP(用户数据报协议) 应用层 Telnet(Internet远程 阅读全文
posted @ 2016-08-07 21:41 冬瓜蔡 阅读(32352) 评论(0) 推荐(1) 编辑
摘要: RMI的定义 RPC (Remote Procedure Call):远程方法调用,用于一个进程调用另一个进程中的过程,从而提供了过程的分布能力。 RMI(Remote Method Invocation):远程方法调用,即在RPC的基础上有向前迈进了一步,提供分布式对象间的通讯。允许运行在一个ja 阅读全文
posted @ 2016-06-26 20:18 冬瓜蔡 阅读(11023) 评论(2) 推荐(10) 编辑