自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 并发

第21章 并发前面所学习的都是有关顺序编程的知识:程序中的所有事物在任意时刻都只能执行一个步骤。然而,对于某些问题,能够并行地执行程序中的多个部分则是非常必要的。本章主要介绍并发的基本知识,使得我们能够理解其概念并编写出合理的多线程程序。21.1 并发的多面性使用并发解决的问题大体上可以分为速度和设计可管理性两种。21.1.1 更快的执行通常情况下,我们对并发能够提高速度的

2017-01-30 13:49:19 287

原创 Java I/O系统

第18章 Java I/O系统本章主要介绍Java标准类库中各种各样的类以及它们的用法。18.1 File类File:既能代表一个特定的文件,又能代表一个目录下的一组文件。18.1.1 目录列表器我们有两种方式可以查看一个目录列表:File.list():获取目录下的所有文件名,以字符数组的形式返回。File.list(FilenameFilter):获取目录下经过过滤

2017-01-30 13:48:40 474

原创 容器深入研究

第17章 容器深入研究第11章介绍了Java容器类库的概念和基本功能,本章将更深入地探索这个重要的类库。在对容器有了更加完备的了解后,我们将学习散列机制是如何工作的,以及在使用散列容器时怎样编写hashCode()和equals()方法。还会学习为什么某些容器会有不同版本的实现,以及怎样在它们之间进行选择。本章最后将以对通用便利工具和特殊类的探索作为结束。17.1 完整的容器分类法

2017-01-30 13:47:58 516

原创 数组

第16章 数组在之前的学习中,我们学过了对数组基本运用:创建并初始化一个数组,通过使用整型索引值访问它们的元素,并且数组一旦创建,尺寸将无法改变。本章将更加深入地思考数组。16.1 数组为什么特殊数组可以持有某种具体类型和任意基本类型。而在泛型和自动包装机制之前之前,容器类在处理对象时,都将它们视为Object处理,并且无法持有基本类型。在有了泛型和自动包装机制后,数组与其他种类的

2017-01-30 13:46:57 770

原创 泛 型

第15章 泛 型一般的类和方法,只能使用具体的类型,要么是基本类型,要么是自定义的类。如果要编写可以应用于多种类型的代码,这种刻板的限制对代码的束缚就会很大。在面向对象的编程语言中,多态算是一种泛化的机制。例如,将方法参数设为基类,那么该方法就可以接收从这个基类中导出的任何类作为参数。在类的内部也如此,凡是需要说明类型的地方,如果都是用基类,确实能够具备更好的灵活性。(final类不能被继

2017-01-30 13:46:11 1305

原创 类型信息

第14章 类型信息运行时类型信息使我们可以在程序运行时发现和使用类型信息。Java有两种方式让我们在运行时识别对象和类的信息:RTTI(Run Time Type Identification):在运行时识别一个对象的类型,它假定我们在编译时已经知道了所有的类型。反射机制:它允许我们在允许时发现和使用类的信息。14.1 为什么需要RTTIRTTI能够保证我们的类型转换。在面向对

2017-01-30 13:45:24 487 1

原创 字符串

第13章 字符串不难发现,字符串操作是计算机程序设计中最常见的行为。13.1 不可变StringString对象是不可变的。String类中每一个看似会修改String值的方法,实际上都是创建了一个全新的String对象,以包含修改后的字符串内容:public class Immutable { public static String upcase(String s)

2017-01-30 13:43:32 656

原创 通过异常处理错误

第12章 通过异常处理错误发现错误的理想时机是在编译阶段,但在编译期间并不能找出所有的错误,余下的问题必须在运行期间解决。Java使用异常处理作为唯一的错误报告机制,并通过编译器强制执行。12.1 概念异常处理程序:将程序从错误状态中恢复,以使程序继续运行或换一种方式运行下去的代码块。使用异常的好处是:降低错误处理代码的复杂度,将正常执行程序和异常处理程序相分离,使代码的阅读、编码

2017-01-30 13:42:49 484

原创 持有对象

第11章 持有对象11.1 泛型和类型安全的容器通过使用泛型,可以在编译期防止将错误类型的对象放置到容器中,在将元素从容器中取出时,容器知道保持类型,并在调用get()时自动执行转型。当指定了某个类型作为泛型参数时,我们可以将其导出类型放入该容器中,编译器会自动对其进行向上转型。11.2 基本概念java容器类库的用途是保存对象,并根据容器中每个槽保存的元素个数不同,将其划分为

2017-01-30 13:42:07 406

原创 内部类

第10章 内部类可以将一个类的定义放在另一个类的定义内部,这就是内部类。内部类允许我们将一些逻辑相关的类组织在一起,并控制位于内部的类的可视性。10.1 创建内部类创建内部类的方式就是将类的定义置于外围类的内部:public class Parcel1 { class Contents { private int i = 11; pu

2017-01-30 13:41:07 230

原创 接口

第9章 接口接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。9.1 抽象类和抽象方法在第8章的乐器示例中,基类Instrument中的方法往往是哑方法,其目的是为它的所有导出类创建一个通用接口。而建立它的理由是:不同的子类可以用不同的方式表示此接口。通用接口建立起一种基本形式,以此表示所有导出类的共同部分。另一种说法是将Instrument类称作抽象类。创建抽象

2017-01-30 13:40:26 377

原创 多态

第8章 多态在面向对象的程序设计语言中,多态是继数据抽象和继承之后的第三种基本特征。封装:通过合并特征和行为来创建新的数据类型。继承:从已有的类中派生出新类,新类吸收已有类的数据属性和行为,并扩展新的能力。多态:通过将接口和实现分离开,进而改善代码的组织结构和可读性。本章通过介绍简单的例子,深入浅出地介绍多态。8.1 再论向上转型在继承的学习过程中,我们得知:对象既可以作为

2017-01-30 13:39:36 369

原创 复用类

第7章 复用类复用代码是Java众多引人注目的功能之一。复用的前提是:使用类而不改变现有程序代码。在本章中,我们将介绍两种方式:组合:在新类中添加现有类的对象。继承:按照现有类的类型来创建新类。代理:继承与组合之间的中庸之道。7.1 组合语法使用组合技术,只需将对象引用置于新类中即可。 例如:class WaterSource { private Strin

2017-01-30 13:39:00 508

原创 访问权限控制

第6章 访问权限控制所有的类库设计者,都清楚:已经实现的功能可能会有更好的方式去实现,即重构代码,以使得它更可读,更易理解,并更具可维护性。类库的消费者必须依赖他所使用的那部分类库,并且希望在类库出现新版本时,不需要修改客户端代码。而类库的开发者必须有权限进行修改和改进,并确保客户代码不会因为这些改动而受到影响。为解决上述情况,Java提供了访问权限修饰词,以供类库开发人员向客户端程序

2017-01-30 13:37:58 422

原创 初始化与清理

第5章 初始化与清理编程的代价和编程方式的安全息息相关,初始化和清理正是涉及安全的两个问题。Java采用构造器作为创建对象时自动调用的特殊方法,并额外提供垃圾回收器,清理垃圾,释放内存。 本章将讨论初始化和清理的相关问题,以及Java对它们提供的支持。5.1 用构造器确保初始化在Java中,通过提供构造器,类的设计者可确保每个对象都会得到初始化,创建对象时,如果其类具有构造器,Ja

2017-01-30 13:36:43 292

原创 控制执行流程

第4章 控制执行流程就像有知觉的生物一样,程序必须在执行过程中控制它的世界,并做出选择。在Java中,我们要使用执行控制语句来做出选择。在Java中,流程控制所涉及的关键字包括:if-else、while、do-while、for、return、break以及选择语句switch。然而,Java并不支持goto语句,但仍然可进行类似goto的跳转,不过相比goto有了更多限制。。4.1

2017-01-30 13:35:35 260

原创 操作符

第3章 操作符在最底层,Java中的数据是通过使用操作符来操作的。Java是建立在C++的基础之上的,Java相比C和C++,在操作符上也做了一些改进与简化。3.1 更简单的打印语句在上一章中,我们介绍了Java的打印语句:System.out.println("Rather a lot to type");可以看到,这条语句不仅涉及多种类型,而且不便于阅读。所以,

2017-01-30 13:34:42 684

原创 一切都是对象

第2章 一切都是对象使用Java进行设计,必须具有面向对象的思想,这样才能具备这种面向对象程序设计语言的编程能力。 本章中,我们将看到Java程序的基本组成部分,并体会到在Java中一切都是对象。2.1 用引用操纵对象每种编程语言都有自己的操纵内存中元素的方式,不管是直接操纵元素还是用某种基于特殊语法的间接表示(如C和C++中的指针)来操纵对象。在Java中,一切都被视为对象,因此

2017-01-30 13:33:19 269

原创 对象导论

1.1 抽象过程所有语言都提供抽象机制,可以认为,人们能够解决的问题的复杂性直接取决于抽象的类型和质量。 所谓类型是指所抽象的是什么。 汇编语言是对底层机器的轻微抽象。FORYRAN、BASIC、C等都是对汇编语言的抽象。这些语言虽在汇编语言上有了大幅的改进,但它们所做的抽象仍要求在解决问题时机遇计算机的结构,而不是基于所要解决的问题的结构来考虑。程序员必须建立起在机器模型和实

2017-01-30 13:31:32 398

原创 redis安装

下载地址http://redis.io/download安装步骤:1 首先需要安装gcc,把下载好的redis-3.0.0-rc2.tar.gz 放到linux /usr/local文件夹下2 进行解压 tar -zxvf redis-3.0.0-rc2.tar.gz3 进入到redis-3.0.0目录下,进行编译 make4 进入到sr

2017-01-30 13:19:57 209

转载 网卡故障:弹出界面eth0: 错误

连接linux6.0系统远程的时候,重启网卡的时候发现此报错:报错截图如下:排错步骤如下:1:通过ifconfig查看系统是否识别相应网卡(发现没有eth0网卡存在)。根据显示信息我们可以初步判定系统网卡信息有问题。2:查看当前MAC地址相关信息,发现多出一块eth1网卡信息。3:删除多余mac地址信息,并修改网卡配置文件:/etc/udev/rul

2017-01-30 11:29:51 3026

转载 Linux中常用操作命令

常见指令系统管理命令打包压缩相关命令关机/重启机器Linux管道Linux软件包管理vim使用用户及用户组管理文件权限管理常用指令ls          显示文件或目录     -l           列出文件详细信息l(list)     -a          列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir    

2017-01-30 10:44:50 239

转载 CentOS 6.5 启动界面的更改

一、取消开机图片        早就想彻底和图形界面说再见,干脆连开机画面也不要了吧。黑屏刷出一大片开机信息给人一种酷酷的感觉,虽然现在还不明白那些信息是啥意思。^_^        vim /etc/grub.conf。        删除“rhgb quiet”,ZZ。OK,reboot,是不是有效果了。 解释:         rhgb:以图片来代替启动过程中的文本信

2017-01-30 10:37:57 339

转载 centos关机与重启命令详解

Linux centos关机与重启命令详解与实战 Linux centos重启命令:  1、reboot  2、shutdown -r now 立刻重启(root用户使用)  3、shutdown -r 10 过10分钟自动重启(root用户使用)  4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)  如果是通过shutdown命令设置

2017-01-30 10:27:41 268

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除