JAVA体系结构简单介绍】的更多相关文章

JAVA 体系结构包括四个独立但相关的技术: java程序设计语言 java class 文件格式 JAVA应用编程接口(API) JAVA虚拟机(JVM) 当编写运行一个java程序时,就同时体验了这四种技术,用java程序设计语言编写源代码,编写程序时可以通过调用接口(API)的实现类中的方法来访问系统资源(比如I/O) 把它编译成 java class文件,当程序运行时,它通过调用class中实现了 JAVA API的方法满足程序的java API调用, 如图可以看到四者之间的联系. JA…
上一篇<NIO简单介绍(一)>中讲解了NIO中本地IO相关的内容,这篇重点介绍的NIO的非阻塞式网络通信 一.阻塞与非阻塞 传统的 IO 流都是阻塞式的.也就是说,当一个线程调用 read() 或 write()时,该线程被阻塞,直到有一些数据被读取或写入,该线程在此期间不能执行其他任务.因此,在完成网络通信进行 IO 操作时,由于线程会阻塞,所以服务器端必须为每个客户端都提供一个独立的线程进行处理,当服务器端需要处理大量客户端时,性能急剧下降. Java NIO 是非阻塞模式的.当线程从某通…
简单介绍 线程是程序运行的基本执行单元.当操作系统(不包括单线程的操作系统,如微软早期的DOS)在执行一个程序时,会在系统中建立一个进程,而在这个进程中,必须至少建立一个线程(这个线程被称为主线程)来作为这个程序运行的入口点.因此,在操作系统中运行的任何程序都至少有一个主线程. 线程不仅可以共享进程的内存,而且还拥有一个属于自己的内存空间,这段线程不仅可以共享进程的内存,而且还拥有一个属于自己的内存空间,这段部所使用的数据,如线程执行函数中所定义的变量. 线程: 1.线程是轻量级的进程 2.线程…
再最前面分享一下我再学习集合时的方法: 1.首先了解各集合的定义和特点 2.集合的构造方法和常用方法(增删改查等) 3.了解集合使用的场景,再什么情况下使用什么类型的集合(关键是集合的特性) 4.了解集合底层的数据结构和底层实现 5.自己尝试着去封装集合类工具 仅仅知道集合的使用是远远不够的,如果要想进一步提高必须知道底层原理,自己动手实现. 1 集合的定义与数组的比较 所谓集合是指具有某种特定属性的具体或抽象的对象汇总而成的集体,在Java开发当中,集合的使用是非常重要的.传统的数组也是存储具…
Bean的中文含义是"豆子",顾名思义JavaBean是一段Java小程序.JavaBean实际上是指一种特殊的Java类.它通经常使用来实现一些比較经常使用的简单功能.并能够非常easy的被重用或者是插入其它应用程序中去.全部遵循一定编程原则的Java类都能够被称作JavaBean. 一. Java Bean技术概述 Java Bean是基于Java的组件模型,由属性.方法和事件3部分组成.在该模型中,JavaBean能够被改动或与其它组件结合以生成新组件或完整的程序.它是一种Jav…
Version:0.9 StartHTML:-1 EndHTML:-1 StartFragment:00000099 EndFragment:00918492 一:为什么要使用NIO技术       基本的Java套接字对于小规模系统可以很好地运行,但当涉及同时处理几千甚至上万个客户端的服务器时,可能会产生一些问题.       如果一个客户端一个线程的方式去处理,则由于创建.维护和切换线程需要的系统开销导致系统扩展性方面受到了很大限制:当然你也可以使用线程池,也可以节省一些开销,也同时可以使用…
Swing 是一个为Java设计的GUI工具包. Swing是JAVA基础类的一部分. Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表. Swing提供许多比AWT更好的屏幕显示元素.它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT.它们是JFC的一部分.它们支持可更换的面板和主题(各种操作系统默认的特有主题),然而不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们.这意味着你可以在任意平台上使用JAVA支持的任意面板.轻量级组件的缺点…
Java NIO( New IO) 是从Java 1.4版本开始引入的 一个新的IO API,可以替代标准的Java IO API. NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的.基于通道的IO操作. NIO将以更加高效的方式进行文件的读写操作. 一.Java NIO 与 IO 的主要区别 IO NIO 面向流(Stream Oriented) 面向缓冲区(Buffer Oriented) 阻塞IO(Blocking IO) 非阻塞IO(Non Block…
String:String对象初始化之后不可变线程安全简单的字符串操作使用String效率更高 StringBuffer:StringBuffer对象初始化之后可改变线程安全频繁的字符串操作可以使用StringBuffer StringBuilder:StringBuilder对象初始化之后可改变线程不安全频繁的字符串操作可以使用StringBuilder 补充:1.常见的String变化指的是引用变量的改变,引用变量指向新生成的对象的地址.2.String temp = "abc";…
我们都知道一个对象仅仅要实现了Serilizable接口,这个对象就能够被序列化,java的这样的序列化模式为开发人员提供了非常多便利,我们能够不必关系详细序列化的过程,仅仅要这个类实现了Serilizable接口,这个的全部属性和方法都会自己主动序列化. 然而在实际开发过程中,我们经常会遇到这种问题,这个类的有些属性须要序列化,而其它属性不须要被序列化,诚然,你能够让这个类来实现Externalizable接口,这个接口是Serilizable的子接口,可是你必须实现readExternal和…