网络编程——URL编程
摘要:URL:是统一资源定位器的简称,它表示Internet某一资源的地址。通过URL我们可以访问Internet上的各种网络资源,比如最常见的www,ftp站点。浏览器通过解析给定的URL可以在网络上查找相应的文件或其他资源。 组成:URL的基本结构由5部分组成。 <传输协议>://<主机名>:<端口号
阅读全文
网络编程——基于TCP协议的Socket编程,基于UDP协议的Socket编程
摘要:Socket编程 目前较为流行的网络编程模型是客户机/服务器通信模式 客户进程向服务器进程发出要求某种服务的请求,服务器进程响应该请求。如图所示,通常,一个服务器进程会同时为多个客户端进程服务,图中服务器进程B1同时为客户进程A1、A2和B2提供服务。 Socket概述 ① 所谓Socket通常也称
阅读全文
网络编程——基础及通讯要素
摘要:网络基础知识 计算机网络:就是把分布在不同地理区域的计算机与专门的外部设备用通信线路连成一个规模大、功能强的网络系统。从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源。 网络体系结构: ① 网络体系结构定义计算机设备和其他设备如何连接在一起以形成一个允许用户共享信息和资源的通
阅读全文
I/O流——其他流
摘要:其他流 一、ObjectInputStream/ObjectOutputStream ① ObjectInputStream和ObjectOutputStream分别与FileInputStream和FileOutputStream一起使用时,可以对应用程序提供对对象的持久存储。我们把对象以某种特定
阅读全文
I/O流——字符流
摘要:字符流 字节流提供处理任何类型输入/输出操作的足够功能,但不能直接操作Unicode字符,因而需要字符流。 字符流层次结构的顶层是Reader和Writer抽象类。 实际上,字符流的底层就是字节流。 一、Reader ① Reader是定义Java的流式字符输入模式的抽象类。 ② Reader抽象类
阅读全文
I/O流——字节流
摘要:流的概念 流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以使文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流”动一样。 流的分类 ① 流按其流向分为“输入流”和“输出流”。 ② 流
阅读全文
递归算法
摘要:递归算法 ① 程序调用自身的编程技巧称为递归。 ② 一个方法在其定义或说明中又直接或间接的调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需的多次重复计算,大大地减少了程序的代码量。 递归算法注意 ① 递归就是
阅读全文
I/O流——File类及使用
摘要:I/O框架介绍 I/O是计算机输入/输出的接口。Java的核心库java.io提供了全方面的I/O接口,包括:文件系统的操作,文件读写,标准设备的输出等。 File类及使用 ① 一个File类的对象,表示了磁盘上的文件或目录。 ② File类提供了与平台无关的方法来对磁盘上的文件或目录进行操作。 ③
阅读全文
多线程——线程通信
摘要:在现实应用中,很多时候需要让多个线程按照一定的次序来访问共享资源。例如,经典的生产者和消费者问题。 ① 这类问题描述了这样一种情况,假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中的产品取走消费。如果仓库中没有产品,则生产者可以将产品放入仓库,否则停止生产并等待,直到仓库中
阅读全文
多线程——线程同步,死锁
摘要:线程同步: 为什么需要同步 ① 线程同步是为了防止多个线程访问一个数据对象时,对数据造成破坏。 ② 线程的同步是保证多线程安全访问竞争资源的一种手段。 同步和锁 ① Java中每一个对象都有一个内置锁。 ② 当程序运行到非静态的synchronized同步方法上时,自动获得与正在执行代码类的当前实例
阅读全文
多线程——线程的生命周期
摘要:线程状态: 与人有生老病死一样,线程也同样要经历新建、就绪、运行(活动)、阻塞和死亡五种不同的状态。这五种状态都可以通过Thread类中的方法进行控制。 创建并运行线程: ① 新建状态(New Thread):在Java语言中使用new 操作符创建一个线程后,该线程仅仅是一个空对象,它具备类线程的一
阅读全文
多线程——线程模型
摘要:什么是程序? 安装在磁盘上的一段指令集合,它是静态的概念。 什么是进程? 它是运行中的程序,是动态的概念,每个进程都有独立的资源空间。 什么是线程? 线程,又称为轻量级进程,是程序执行流的最小单元,是程序中一个单一的顺序控制流程。线程是进程的一个实体,是被系统独立调度和分派的基本单位。 什么是多线程
阅读全文
反射——反射API,使用反射创建数组
摘要:反射API Java.lang.Reflect库 ① Class类与Java.lang.Reflect类库一起对反射的概念进行支持。 ② java.lang包下: a) Class<T>:表示对一个正在运行的Java应用程序中的类和接口,是Reflection的起源。 ③ java.lang.ref
阅读全文
反射——Java反射机制
摘要:反射概述 什么是反射? <!--[if !supportLists]-->① <!--[endif]-->反射的概念是由Smith在1982年首次提出的,主要指程序可以访问、检测和修改它本身状态或行为的一种能力。 <!--[if !supportLists]-->② <!--[endif]-->JA
阅读全文
AWT事件处理
摘要:AWT事件处理基本概念 AWT事件处理过程中,主要涉及3类对象: ① Event(事件):用户对组件的一个操作,称之为一个事件,以类的形式出现,例如,键盘操作对应的事件类是KeyEvent。其实例在该事件发生时由系统自动产生。每一种事件都对应专门的监听者。 ② Event Source(事件源):事
阅读全文
AWT布局管理器
摘要:布局管理器 容器内可以存放各种组件,而组件的位置和大小是由容器内的布局管理器来决定的。在AWT中为我们提供了以下5种布局管理器: ① FlowLayout 流式布局管理器 ② BorderLayout 边界布局管理器 ③ GridLayout 网格布局管理器 ④ CradLayout 卡片布局管理器
阅读全文
GUI——AWT框架和容器,创建简单窗体
摘要:GUI概述:GUI(Graphical User Interface)—图形化用户界面。用户和程序之间可以通过GUI能方便友好地进行交互,在Java语言中,JFC(Java Foundation Classed)是开发GUI的API集,它主要包含以下几个部分: a) AWT(抽象窗口工具包):Jav
阅读全文
Collection类及常用API
摘要:Collection类及常用API Collection—类集工具类,定义了若干用于类集和映射的算法,这些算法被定义为静态方法,具体查看api文档; a) public static void sort(List<T> liet) b) public static int binarySearch(
阅读全文
Set容器——TreeSet及常用API
摘要:TreeSet及常用Api ① TreeSet为使用树来进行存储的Set接口提供了一个工具,对象按升序存储,访问和检索很快; ② 在存储了大量的需要进行快速检索的排序信息的情况下,TreeSet是一个很好的选择; ③ 构造方法: a) TreeSet(); b) TreeSet(Collection
阅读全文
Set容器——HashSet及常用API
摘要:Set容器特点: ① Set容器是一个不包含重复元素的Collection,并且最多包含一个null元素,它和List容器相反,Set容器不能保证其元素的顺序; ② 最常用的两个Set接口的实现类是HashSet和TreeSet; HashSet及常用API ① HashSet扩展AbstractS
阅读全文