- 博客(26)
- 收藏
- 关注
java网络编程基础:TCP
1、TCP特点 Transmission Control Protocol 传输控制协议 面向连接,通过三次握手建立连接,可靠的协议 有明确的客户端和服务器端 一旦连接可以将数据当做一个双向字节流进行交换,开销大 2、相关类Socket客户端Socket服务类ServerSocket服务器端Socket服务类 3、TCP...
2015-08-01 21:02:46 108
java网络编程基础:UDP
目录1、网络知识基础2、UDP传输3、利用UDP模仿聊天室 1、网络知识基础1.1网络通讯要素IP地址标识设备,本地默认IP:127.0.0.1,主机名:localhost端口号标识进程,有效端口号:0-65535,其中0-1024系统保留传输协议通讯规则,TCP,UDP等1.2InetAddress类 表示互联网协议 (I...
2015-08-01 20:49:14 146
线程池
1、线程池概念 多线程技术主要解决处理器单元内多个线程执行的问题,可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。假设一个服务器完成一项任务所需时间为:>T1创建线程时间>T2在线程中执行任务的时间>T3销毁线程时间 如果T1+T3远大于T2,则可以选择线程池以提高服务器性能。线程池正是关注如何缩短和调整T1、T3时间的技术,从而提高服务器程...
2015-07-30 19:32:43 194
java中的并发:高级并发对象
目录 1.Lock 2.Condition 3.优化的生产者消费者模式1.Lock 1.1synchronized缺陷 线程释放锁只会有两种情况:获取锁的线程执行完了该代码块然后线程释放对锁的占有;线程执行发生异常,此时JVM会让线程自动释放锁.如果这个获取锁的线程由于要等待IO或者其他原因被阻塞了,但是又没有释放锁,其他线程便只能等待,影响程序执行效率.为此在java.u...
2015-07-30 19:15:41 126
java中的并发:线程通信
目录 1.wait(),notify(),notifyAll() 2.生产者消费者模式 3.多生产多消费模式 1.wait(),notify(),notifyAll() Object类为我们定义了线程通信的方法,如wait(),notify()等,这些方式是本地的而且是final的. 1.1wait() 1)调用wait()方法,能让当前线程阻塞并交出此对象的mo...
2015-07-29 19:45:07 120
java中的并发:同步
目录 1.安全问题的产生 2.同步:synchronized 3.并发中的三个概念 4.happens-before原则 5.修饰符:volatile 1.安全问题的产生 如果我们想实现这样一个功能:利用线程并发模拟多个网点售同一种票.例: public class ThreadDemo { public static void main(Str...
2015-07-29 19:36:23 109
java中的并发:线程的基本使用
目录 1.生命周期 2.常用方法 3.守护线程 1.生命周期 1)初始状态 此时线程处于JVM的进程中,只是创建了一个线程对象,并没有开始运行.(new()) 2)就绪状态 此时线程进入可运行状态,等待CPU调度.(start()) 3)运行状态 拥有CPU的执行权,并且开始运行线程.(run()) 4)阻塞状态 线程在等待IO或者调入了sle...
2015-07-28 22:31:20 97
java中的并发:进程和线程
目录1.简介2.创建一个进程3.创建一个线程 1.简介1)进程:同一个系统中执行的一个子程序,包含三部分:虚拟CPU,代码,数据.2)线程:同一个进程中执行的子程序流.3)进程让操作系统的并发性成为可能,而线程让进程的内部并发成为可能.一个进程虽然包括多个线程,但是这些线程是共同享有进程占有的资源和地址空间的.进程是操作系统进行资源分配的基本单位,而线程是操作系统进行调度的基本单位....
2015-07-28 22:21:31 83
java中的IO:NIO
目录1.缓冲区Buffer2.通道Channel NIO是一种新的IO抽象概念,主要有两个概念,缓冲区和通道,通道用于数据的交互,而每次数据的交互必须经过缓冲区. 1.缓冲区Buffer1.1抽象类Buffer用于存储特定基本类型数据的容器.除了存储的内容外,缓冲区的基本属性还包括容量、限制、位置和标记:容量capacity指包含的元素的数量,缓冲区的容...
2015-04-06 21:49:09 83
java中的IO:Properties类
目录1.特性2.方法3.使用 1.特性Properties类表示了一个持久的属性集,可保存在流中或从流中加载,实现内存和文件的交互.Properties继承了Hashtable<Object,Object>类,可以使用add(),addAll()等方法,但其自身只支持String类型的键和值,因此在Properties内部定义了setProperty()等方法以保证...
2015-04-06 21:48:10 118
java中的IO:处理流的使用
目录1.桥梁流2.缓冲流3.数据流4.对象流5.合并流 1.桥梁流1)InputStreamReader是输入字节流通向输入字符流的桥梁,每次调用read()方法都会导致从底层输入流读取一个或多个字节.2)OuputStreamWriter是输出字节流通向输出字符流的桥梁,每次调用write()方法都会导致在给定字符集上调用编码转换器.3)桥梁流虽然是一种处理流,但可将其包装到...
2015-04-04 09:35:27 139
java中的IO:节点流的使用
目录1.文件字节流2.文件字符流3.字节数组流4.管道流 1.文件字节流1.1FileIputStream输入流read()从此输入流读取一个字节,返回读取的数据字节,达到文件末尾则返回-1.read(Byte[] b)从此输入流读取b.length个字节存入b中,返回读取到的有效字节个数,达到文件末尾则返回-1.close()关闭此输入流并...
2015-04-04 09:34:40 114
java中的IO:流的分类
目录1.IO流简介2.按方向分类3.按数据单元分类4.按功能分类5.总结 1.IO流简介1)IO流用来处理设备之间的数据传输2)java对数据的操作是通过流的方式3)根据不同的原则有不同的分类 2.按方向分类简单理解就是:以内存为中,用来操作将硬盘已有的数据读取到内存的是输入流,用来操作将内存中的数据存储到硬盘中的是输出流.输入流进行读操作,输出流进行写操作....
2015-04-03 13:41:19 323
java中的IO:File类
目录1.File类的作用2.File对象基本使用3.实现文件遍历4.实现文件"复制" 1.File类的作用1)用来将文件或者文件夹封装成对象2)方便对文件与文件夹的属性信息进行操作3)File对象可以作为参数传递给流的构造函数4)File对象是不可变的,一旦创建,File对象表示的抽象路径名将永不改变 2.File对象基本使用2.1构造1)路径:绝对路径名是完整...
2015-04-03 13:40:31 104
java中注解(Annatation)的使用
目录1.元注解2.注解的声明3.注解的使用4.重复注解 java提供了一套java注解(Annotation)的机制,与java中的注释不同,注解是一种类型.通过使用注解,可以对方法,类,参数,包,域以及变量等添加标记(即附上某些信息),之后通过反射将标记的信息提取出来以供使用. 1.元注解 java.lang.annotation包提供了4种元注解,负...
2015-04-02 20:24:06 401
java集合框架:HashMap<K,V>
目录1.常用方法2.遍历3.内存结构4.扩容方式5.Map的其他实现类 HashMap<K,V>是最常用的一种map,在其内部包装了一个Node<K,V>的类,并且用Node型的数组table用来存储数据,与ArrayList一样的实现了元素的增删以及扩容等功能.K一般是8中基本类型的封装类和String类,可存储null的键和null的值. 1.常...
2015-04-02 20:20:08 258
java集合框架:Collections && Iterator
目录1.Collections常用方法2.自然排序3.整体排序4.Iterator<E> 1.Collections常用方法addAll(Collection<? super T> c, T... elements)将所有指定元素添加到指定collection中reverse(List<?> list)反转指定列表中元素的...
2015-04-01 20:02:13 129
java集合框架:HashSet<E>
目录1.无序&&唯一2.真的唯一么?3.先入为主4.Set的其他实现类 HashSet实现了Set接口,内部主要是通过HashMap实现的. 1.无序&&唯一public class HashSetDemo1 { public static void main(String[] args) { HashSet<Stri...
2015-04-01 20:00:15 162
java集合框架:ArrayList<E>
目录1.常用方法2.关于遍历3.关于删除4.关于删除5.关于删除6.关于扩容7.关于最大容量8.1.8版本新特性9.List的其他实现类 ArrayList实现了List接口,内部通过Object类型的数组有序存储数据(可重复),并且能够根据元素数量进行扩容,实现了动态的增加和减少元素. 1.常用方法add()addAll()增加元素rem...
2015-03-31 19:38:47 170
java集合框架:概述
1.概述Java集合框架,Java Collections Framework(JCF),主要包括单值集合(collection),键值映射(map),和对于JCF进行包装的算法类. 1.1 Collection<E>Collection是所有单值集合的根接口,E表示集合中元素的类型.JDK不提供此接口的任何直接实现,而是提供更具体的子接口(如List,Set等)....
2015-03-31 19:32:53 121
java中内部类的使用
1.定义 内部类是指在一个外部类的内部在定义一个类.内部类作为外部类的一个成员,并且依附于外部类而存在的.内部类可为静态,可用protected和private修饰(外部类只能是public和缺省的包访问权限).内部类主要有以下几种:成员内部类,局部内部类,静态内部类,匿名内部类. 2.为什么需要内部类 典型情况是:内部类继承自某个类或实现某个接口,内部类的代码操作创建...
2015-03-11 20:45:09 95
浅谈递归算法之汉诺塔
递归算法就是一个函数通过不断对自己的调用而求得最终结果的一种思维巧妙的算法.无论在哪种语言里,汉诺塔都是递归算法的经典题目. 1.题目简介有三根相邻的柱子,左边的柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,要把所有盘子一个一个移动到右边的柱子上,并且每次移动同一根柱子上都不能出现大的盘子在小的盘子上方. 2.逻辑分析假设我们有一个方法move(n)已经实现n个盘...
2015-03-09 22:27:49 216
java中的编程规范
本规范中标红的内容为强制性遵循内容,开发人员必须遵守;蓝色为强烈建议性内容,最好遵守;其他内容为一般性建议.不足之处欢迎大家指点补充. 1.命名规则 1.1基本的规则1,字符集在26个英文字母、0到9的阿拉伯数字和下划线之中.java中类、字段、方法、变量、常量尽量用字母表达,没有特别的理由不能用其他任何的字符.2,命名需要有一定的意义,推荐采用问题域中的术语命名,使命名在...
2015-03-07 17:07:40 72
java中lambda表达式的使用
lambda表达式在SE1.8中引入,与接口中的唯一的抽象方法相匹配,语法:(参数列表)->返回值,返回值也可以通过{}和return实现. 1.引入lambda之前,先对一个String列表进行排序import java.util.*;public class LambdaDemo1 { public static void main(String[] args...
2015-03-06 17:20:06 108
java中泛型的使用
泛型(Generics)是由编译器来验证从客户端将一种类型传送给某一对象的机制,实现了数据类型的参数化. 1.在使用泛型之前,先来看一下没有泛型的java集合框架(Collection)import java.util.ArrayList;import java.util.List;public class GenericsDemo1 { private fin...
2015-03-05 21:22:34 79
java中枚举类型的使用
枚举类型是j2se在1.5引入的新的类型,通过关键字enum来定义,常用来存储一些常量. 1.定义一个简单的枚举类型public enum Sex { MAN, WOMAN} 枚举类型本质是类,编译此段代码会生成.class文件.通过Sex.MAN来访问Sex中的成员,其返回值是Sex类型. 2.常用方法静态的values()方法,可获取所有成员变量...
2015-03-03 19:20:50 124
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人