Java复习总结
DylanAndroid
未来已经来临,只是尚未流行
展开
-
2013-09-08面向对象_封装
面向对象_封装1. 面向对象:三大特征:封装,继承,多态。2. 以后开发,其实就是找对象使用,没有对象,就创建一个对象。3. 找对象,建立对象,使用对象,维护对象关系。4. 类和对象的关系:类就是:对现实生活中事物的描述。对象:就是这类事物,事实存在的个体。5. 定义类:其实就是在描述事物,就是定义属性和行为,属性和行为共同成为类中的成员(成员变量和成原创 2013-09-11 20:20:33 · 1108 阅读 · 0 评论 -
Java IO流之拷贝(复制)文件
在android中使用最多的就是ListView,GridView,用到这两个控件那么肯定要用到适配器,那就是定义一个类继承BaseAdapter,让后覆写它里面的getCount(),getView()等方法,下面来写一个demo。1.我们来实现一个普通的ListView的Demo主布局文件:activity_main.xml<?xml version="1.0" encoding="utf-原创 2016-10-17 09:31:58 · 23556 阅读 · 1 评论 -
Java多线程之并发协作生产者消费者设计模式JDK1.5.0+升级优化版
上一篇[Java多线程之并发协作生产者消费者设计模式]已经讲述了在Java的多线程中,如何处理并发安全的生产者消费者设计模式,不了解的可以先看看上一篇的内容上一篇中的效率和优化问题在上一篇中生产者消费者设计模式中最后为了不产生类似于“死锁”,就是多线程全部wait()导致程序无法向下继续运行的情况,我们采用了notifyAll()这个方法,那么有什么问题呢?效率问题,notifyAll()方法原创 2016-10-13 09:06:49 · 1284 阅读 · 5 评论 -
Java递归算法应用
递归: 就是函数自身调用自身。 什么时候用递归呢? 当一个功能被重复使用,而每一次使用该功能时的参数不确定,都由上次的功能元素结果来确定。 简单说: 功能内部又用到该功能,但是传递的参数值不确定。(每次功能参与运算的未知内容不确定)。 递归的注意事项: 1:一定要定义递归的条件。 2:递归的次数不要过多。容易出现 StackOverflowError 栈内存原创 2016-10-19 08:55:37 · 6072 阅读 · 4 评论 -
Java多线程之并发协作生产者消费者设计模式
两个线程一个生产者个一个消费者需求情景两个线程,一个负责生产,一个负责消费,生产者生产一个,消费者消费一个 涉及问题同步问题:如何保证同一资源被多个线程并发访问时的完整性。常用的同步方法是采用标记或加锁机制wait() / nofity() 方法是基类Object的两个方法,也就意味着所有Java类都会拥有这两个方法,这样,我们就可以为任何对象实现同步机制。wait()方法:当缓冲区已满/原创 2016-10-12 08:50:07 · 3642 阅读 · 4 评论 -
Java多线程之并发安全经典案例-卖票
线程相关知识1.创建线程的两种方式继承Thread类。实现Runnable接口。(这种方式较为常用)2.实现Runnable接口的好处将线程的任务从线程的子类中分离出来,进行了单独的封装。按照面向对象的思想将任务的封装成对象。避免了java单继承的局限性。多线程并发安全之卖票代码/** * Created by yuandl on 2016-原创 2016-10-14 09:04:36 · 11587 阅读 · 7 评论 -
Java IO流之规律总结
字符流:Reader: 用于读取字符流的抽象类。子类必须实现的方法只有 read(char[], int, int) 和 close()。|—BufferedReader :从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。 可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。|—LineNumberReader :跟踪行号的缓冲字符输入流原创 2016-10-18 09:02:24 · 2294 阅读 · 1 评论 -
Java排序之插入排序
/**插入排序*/ public static void insertSort(int[] array) { if (array == null || array.length < 2) { return; } for (int i = 1; i < array.length;原创 2016-10-16 17:49:10 · 843 阅读 · 0 评论 -
Java泛型应用之打造Android万能ViewHolder-超简洁写法
在ListView的Adapter中的getView()方法中的繁琐写法@Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder = null; if (convertView == null) { c原创 2016-10-15 09:59:18 · 5182 阅读 · 4 评论 -
Java泛型应用之打造Android中ListView和GridView万能适配器【CommonAdapter】--超简洁写法
在android中使用最多的就是ListView,GridView,用到这两个控件那么肯定要用到适配器,那就是定义一个类继承BaseAdapter,让后覆写它里面的getCount(),getView()等方法,下面来写一个demo。原创 2016-10-16 11:25:04 · 5485 阅读 · 2 评论 -
Java线程之线程的五种状态
线程的 5 中状态 1. New 新建状态 当程序使用 new 关键字创建了一个线程后,该线程就处于新建状态,此时线程还未启劢, 当线程对象调用 start()方法时,线程启劢,迚入 Runnable 状态 2. Runnable 可运行(就绪)状态 当线程处于 Runnable 状态时,表示线程准备就绪,等待获取 CPU 3. Running 运行(正在运行)状态原创 2016-10-11 14:17:48 · 4859 阅读 · 3 评论 -
Java数组之获取最值
/** * 获取数组最值 */ private static int getMax(int arr[]) { int max = arr[0]; for (int i = 1; i < arr.length; i++) { if (arr[i] > max) { max = arr[i原创 2016-10-10 15:39:38 · 2702 阅读 · 0 评论 -
Java排序之集合排序
集合排序要么让集合的对象具有比较性也就是让集合中的对象实现Comparable接口自定义比较器实现Comparator举例:按人的年龄排序代码如下 - UserBean对象/** * Created by yuandl on 2016-10-10. */public class UserBean implements Comparable<UserBean> { privat原创 2016-10-10 15:29:56 · 628 阅读 · 0 评论 -
Java排序之冒泡排序
冒泡排序原理:比较相邻的元素,将小的放到前面,大的放到后面。冒泡排序丼例:{8 , 2 , 3 , 7 , 1}的排序过程如下所示:ary={8,2,3,7,1}ary={2,8,3,7,1}ary={2,3,8,7,1}ary={2,3,7,8,1}ary={2,3,7,1|8}ary={2,3,7,1|8}ary={2,3,7,1|8}ary={2,3,1|7,8}ary={2原创 2016-10-10 14:36:15 · 528 阅读 · 0 评论 -
Java排序之选择排序
最近在回忆java,感觉自己该写点什么,先再次复习了下选择排序选择排序原理: 1. 将数组中每个元素与第一个元素比较,如果这个元素小于第一个元 素,则交换这两个元素 2. 循环第 1 条规则,找出最小元素,放于第 1 个位置 3. 经过 n-1 轮比较完成排序简单而言,每轮都找到最小的放到前面。丼例:{8 , 2 , 3 , 7 , 1}的排序过程如下所示: 数组: ary={8原创 2016-10-10 09:20:01 · 562 阅读 · 0 评论 -
Java Socket通信之客户端服务端交互聊天案例
服务端接收客户端发送过来的数据,并打印在控制台上。 Tcp传输,客户端建立的过程。 1,创建服务端socket服务。通过ServerSocket对象。 2,服务端必须对外提供一个端口,否则客户端无法连接。 3,获取连接过来的客户端对象。 4,通过客户端对象获取socket流读取客户端发来的数据并打印在控制台上。服务端代码import java.io.原创 2016-10-20 08:49:21 · 3620 阅读 · 4 评论