随笔分类 -  Java

摘要:Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定。由于是statical typed,导致Java语言也是强类型(Strong typed)的。强类型意味着每个变量都具有一种类型,每个表达式具有一种类型,并且每种类型都是严格定义的,类型限 阅读全文
posted @ 2016-02-06 10:37 阿冰的学习日记 阅读(288) 评论(0) 推荐(0)
摘要:在Java中,异常分为受检查的异常,与运行时异常. 两者都在异常类层次结构中.这类容易出选择题 考试你是否掌握了异常类并清楚哪些异常类必须捕获 下面的图展示了Java异常类的继承关系. 图1 粉红色的是受检查的异常(checked exceptions),其必须被 try{}catch语句块所捕获, 阅读全文
posted @ 2016-02-06 09:58 阿冰的学习日记 阅读(270) 评论(0) 推荐(0)
摘要:这里的for是Java中forEach, 用来遍历数组的。for(int i : d) 就是遍历int型数组d的 每一次访问数组d的时候读取的数据放入int型的i中。和for(int i=0;i<d.length();i++)是一样的,但是forEach的可用场合较多。public class... 阅读全文
posted @ 2016-01-02 20:33 阿冰的学习日记 阅读(1046) 评论(0) 推荐(0)
摘要:一简介线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们在开发中处理线程的问题... 阅读全文
posted @ 2015-12-30 18:45 阿冰的学习日记 阅读(196) 评论(0) 推荐(0)
摘要:在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个... 阅读全文
posted @ 2015-12-30 13:53 阿冰的学习日记 阅读(338) 评论(0) 推荐(0)
摘要:对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲: 一.抽... 阅读全文
posted @ 2015-12-30 13:49 阿冰的学习日记 阅读(182) 评论(0) 推荐(0)
摘要:J2SE 1.5提供了另一种形式的for循环。借助这种形式的for循环,可以用更简单地方式来遍历数组和Collection等类型的对象。本文介绍使用这种循环的具体方式,说明如何自行定义能被这样遍历的类,并解释和这一机制的一些常见问题。在Java程序中,要“逐一处理”――或者说,“遍历”――某一个数组... 阅读全文
posted @ 2015-12-28 00:01 阿冰的学习日记 阅读(334) 评论(0) 推荐(0)
摘要:实质上,很多后台服务程序并发控制的基本原理都可以归纳为生产者/消费者模式,而这是恰恰是在本科操作系统课堂上老师反复讲解,而我们却视而不见不以为然的。在博文《一种面向作业流(工作流)的轻量级可复用的异步流水开发框架的设计与实现》中将介绍一种生产者/消费者模式的具体应用。生产者消费者问题是研究多线程程序... 阅读全文
posted @ 2015-12-21 12:51 阿冰的学习日记 阅读(232) 评论(0) 推荐(0)
摘要:设计思路:生产者push ,消费者 拿,篮子装,syncstack先进后出,while 判断 index=0 wait, 当 Producer生产了 并push到篮子里notify(唤醒) 消费者。wait:发生了阻塞事件-篮子已经满了,并且不知道阻塞多长时间,要用waitpublic clas... 阅读全文
posted @ 2015-12-21 12:09 阿冰的学习日记 阅读(428) 评论(0) 推荐(0)
摘要:while和if本身就用法不同,一个是循环语句,一个是判断语句。if只做判断,判断一次之后,便不会再回来了while的话,循环,直到结果为false,才跳出来链表的结构,要一直读下去,直到读完整个链表结构,所以需要whileif的话只读一次,便跳出了if和while当条件不成立时,都跳过代码块执行后... 阅读全文
posted @ 2015-12-21 11:35 阿冰的学习日记 阅读(5511) 评论(1) 推荐(1)
摘要:在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限。下面看例子: 1 pack... 阅读全文
posted @ 2015-12-21 10:26 阿冰的学习日记 阅读(212) 评论(0) 推荐(0)
摘要:构造函数的名字必须和类名完全相同,构造函数不能有 返回值,就是void 也不要写,构造函数不可以被子类继承 构造函数可以重载但是不可以被子类覆盖。简单的例子class A{A(){}A(int n){} // 这两个都是构造函数 } 阅读全文
posted @ 2015-12-19 10:34 阿冰的学习日记 阅读(774) 评论(0) 推荐(0)
摘要:实例变量:实例变量在类中声明,但在方法的外面,构造函数或任何块。当空间分配给某个对象在堆中,插槽为每个实例变量创建值。当一个对象与使用关键字 “new” 来创建,在对象被销毁销毁创建的实例变量。实例变量认为必须由一个以上的方法,构造函数或块,或一个对象的状态的关键部分必须出现在整个类中引用的值。实例... 阅读全文
posted @ 2015-12-19 10:27 阿冰的学习日记 阅读(324) 评论(0) 推荐(0)
摘要:/* 对象的多态性:动物 x = new 猫(); 函数的多态性:函数重载、重写 1、多态的体现 父类的引用指向了自己的子类对象 父类的引用也可以接收自己的对象 2、多态的前提 必须是类与类之间只有关系,要么继承或实现 通常还有一个前... 阅读全文
posted @ 2015-12-18 22:30 阿冰的学习日记 阅读(3635) 评论(0) 推荐(0)
摘要:迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。 Java中的Iterator功能比较简单,并且只能单向移动: (1) 使用方法iterator()要求容器返... 阅读全文
posted @ 2015-12-18 22:29 阿冰的学习日记 阅读(2058) 评论(0) 推荐(0)
摘要:一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆... 阅读全文
posted @ 2015-12-18 21:40 阿冰的学习日记 阅读(5223) 评论(0) 推荐(0)
摘要:class ChongZai{ public void a(int a); public void a(Strting a); public void a(int a,int b); } 如上就是一个重载了 而重载要满足一下条件: 1.必须是同一个类 2.方法名(也可以叫函数)一样 3.参数类型不一 阅读全文
posted @ 2015-12-18 10:31 阿冰的学习日记 阅读(602) 评论(0) 推荐(0)