think in java总结
记录在学习think in java这本书时的提到的知识点
the_flying_pig
通过看博客来学习知识,通过写博客来进行阶段性的积累,通过回顾来熟悉运用。
展开
-
开山篇
之前很多次想开始写博客,但是由于之前工作不是很稳定所以就迟迟没有动笔,目前工作已经稳定,想想是时候写点东西了。第一次写博客,写的不好的地方请大家多多观照(这段博客无关技术,纯属个人走入编程这条路的过程)。 初入编程: 先介绍一下自己,本人目前毕业不到一年,专业为电子信息工程,当时在大学时学的比较的偏纯电子(学校教学比较注重纯电子这块),由于大学没有好好学,在大四下学期的时候找工作时...原创 2017-05-10 20:16:01 · 513 阅读 · 1 评论 -
java 阻塞队列实现生产者和消费者
public class PublicBoxQueue { static int i = 0; public static void main(String []args) { BlockingQueue BoxQueue= new LinkedBlockingQueue(5); //定义了一个大小为5的盒子 Thread pro= ...原创 2018-07-12 23:19:11 · 406 阅读 · 1 评论 -
Think in java 第一章 总结随笔
1.1抽象过程人们所能够解决的问题的复杂性直接取决于抽象的类型和质量。Smalltalk(java所基于的语言之一)的五个基本特性1)万物皆是对象2) 程序是对象的集合,它们通过发送消息来告知彼此所要做的3) 每个对象都有自己的有其他对象所构成的存储4) 每个对象都拥有其类型5)某个特定类型的所有对象都可以接收到同样的消息1.2每个对象都有一个接口原创 2017-05-23 20:18:04 · 1463 阅读 · 0 评论 -
Think in java第二、三章 总结随笔
在看这本书之前就有看过一些对本书的一些评论,有很多的博客中常提到这本书的第一章其实是比较难懂的,建议将它放到后面的章节中。当我看完第一章,再去看第二章的时候我也确实感觉是要好懂一点。原创 2017-05-29 19:03:33 · 511 阅读 · 0 评论 -
think in java 第四章 习题答案
1.写一个程序,打印从1到100的值。public static void main(String[] args) { for (int i = 0; i <= 100; i++) { System.out.print(i+" "); } }2.写一个程序,产生25个int类型的随机数。对于每一个随机值,使用if-else语句来将其分类为大于,小于,或等于紧随它而随机产生的原创 2017-06-04 13:55:21 · 2222 阅读 · 0 评论 -
think in java第五章 初始化与清理 总结随笔
本章主要讲解的是java的构造器和垃圾回收。用构造器确保初始化在这一小节中最少需要理解的有两个方面: 1) 构造器是如何确保在创建对象时使之得到初始化。java是一门采用了构造器的语言(就我了解过的面向对象语言都有构造器),在对象创建时,如果其类具有构造器,java就会在用户有能力操作对象之前自动的调用相应的构造器,从而保证初始化的进行。 2) 如何使用原创 2017-06-06 23:16:34 · 506 阅读 · 0 评论 -
think in java第六章 访问权限控制 总结随笔
java提供访问权限作用:为了解决类库的开发者对类进行修改和改进,并确保不会对类的消费者(客户端程序员)造成影响。访问权限控制的等级:public、protected、private (权限由大到小)。包的概念:将构件捆绑到一个内聚的类库单元中,便于类的管理和防止类名重复。import关键字:导入某个包中的类。import java.util.ArrayList; //导入jav...原创 2017-06-12 19:39:36 · 563 阅读 · 0 评论 -
think in java第七章 复用类 总结随笔
复用类其实可以理解为重新使用类,就是利用已存在的类。两种复用的方法: 1)组合:在新的类中产生现有类的对象。由于新的类是由现有类的对象所组成,所以这种方法称为组合。 组合技术通常用于想在新类中的使用现有类的功能而非它的接口这种情形。 2)继承:按照现有类的类型来创建新类。无需改变现有类的形式,采用现有类的形式并在其中添加新代原创 2017-06-13 21:25:14 · 387 阅读 · 0 评论 -
think in java第八章多态 总结随笔
多态:基于继承的向上转型功能,允许同一种类型同一行为有不同的表现。多态的优点:多态不但能够改善代码的组织结构和可读性,还能够创建可扩展的程序—即无论在项目最初创建时还是在需要添加新功能时都可以"生长"的程序。多态的作用:消除类型之间的耦合关系。再论向上转型当父类的引用指向子类对象时,就发生了向上转型,即把子类类型对象转成了父类类型。举例:水杉是树的一种(树的子类),我们可以称水原创 2017-06-20 20:27:59 · 439 阅读 · 0 评论 -
think in java第九章接口 总结随笔
什么是接口,接口的作用 java接口是一系列方法的声明,是一些方法特征的集合,接口只有方法的特征没有方法的实现。 接口可以提供符合接口需求的类的一套规范(其实感觉就是一个招牌),主要作用是可以帮助实现类似于类的多重继承的功能。主要体现: 1) 通过接口去实现不相关类的行为,而不需要了解对象所对应的类。 2) 通过接口可以指明多个类原创 2017-07-18 19:59:26 · 466 阅读 · 0 评论 -
think in java第十章内部类 总结随笔
1.内部类的基本介绍可以将一个类的定义放在另一个类的定义内部,这就是内部类(引用书中的第一句的介绍)。public class Test { String str; public Test() { str = "汪汪"; } class Bird{ public void Voice(){ System.out.println("吱吱"); } }}B原创 2017-08-15 16:00:43 · 474 阅读 · 0 评论 -
think in java 第十二章 通过异常处理错误
通过异常处理错误1、基本异常(1)普通问题:在当前的环境下能够得到足够的信息,总可以处理该错误;(2)异常情形(execptional condition):是指阻止当前方法或作用域继续执行的问题,在当前的环境下无法获取必要的信息来解决问题,必须从当前环境跳出,并将问题提交给上一级环境,这是抛出异常发生的事情;(3)在Java中,Throwable是所有异常类的基类,Throwable对象可转载 2017-08-16 15:39:20 · 408 阅读 · 0 评论 -
think in java第十六章数组 总结随笔
很多人开始对数组的了解:1.数组的创建和组装,并通过整型的索引值去访问它们的元素。2.数组长度(即数组存储个数大小)的概念,数组的长度一旦初始化后是不能改变的。有时需要对数组有更加复杂的操作,则需要对数组进行深入的学习了。数组为什么特殊?在看本章之前,我一直存在一个疑惑,在像有List、Map、Set等等容器的存在下(在操作上比数组方便的情况下,在实际开发中大多也是用List、原创 2017-09-12 11:50:02 · 377 阅读 · 0 评论 -
think in java第十一章持有对象 习题答案
持有对象:就是创建一个属性,只不过此处是创建对象,利用持有对方的引用来访问类的成员变量。1.创建一个新类Gerbil(沙鼠),包含intgerbilNumber,在构造器中初始化它(类似于本章的Mouse示例)。添加一个方法hop(),用以打印沙鼠的号码以及它正在跳跃的息。创建一个ArrayList,并向其中添加一串Gerbil对象。使用get()遍历List,并且对每个Gerbi原创 2017-08-16 14:16:41 · 1414 阅读 · 0 评论 -
think in java 第十三章字符串 总结随笔
1.String、StringBuffer和StringBuilder的区别可变与不可变:String对象具有只读的特性,是不可变的,修改一个String的值其实是创建了一个新的String对象。StringBuffer和StringBuilder都是可变的。是否线程安全:String是不可变 ==> 可以理解它是线程安全的(事实String是线程安全的)。StringBu原创 2017-08-16 17:23:39 · 358 阅读 · 0 评论 -
think in java 第十五章 泛型 总结随笔
1)基本概念: 泛型(Generic Type或Generics)是 对Java语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看做是使用参数化类型时指定的类型的一个占位符,就像方法的形 式参数是运行时传递的占位符一样,泛型的体现主要是在集合框架里面可以看到,JCF里面应该是1.5里面使用泛型最多的地方。Java语言引入泛型是一个 较大的功能增强,不仅语言、转载 2017-09-07 09:51:00 · 681 阅读 · 0 评论