Java™ 教程(PATH和CLASSPATH)

2019-03-25
阅读 3 分钟
1.4k
本节介绍如何在Microsoft Windows,Solaris和Linux上使用PATH和CLASSPATH环境变量,有关最新信息,请参阅安装Java Development Kit(JDK)软件包中随附的安装说明。

Java™ 教程(系统实用工具)

2019-03-25
阅读 5 分钟
1.4k
系统提供了几个预定义的I/O对象,这些对象在Java应用程序中非常有用,可以从命令行启动,它们实现了大多数操作系统提供的标准I/O流,以及用于输入密码的控制台对象,有关更多信息,请参阅基础I/O课程中的命令行I/O。

Java™ 教程(配置实用工具)

2019-03-14
阅读 6 分钟
1.5k
Properties是作为键/值对管理的配置值,在每对中,键和值都是字符串值,键标识并用于检索值,就像变量名用于检索变量的值一样。例如,能够下载文件的应用程序可能使用名为“download.lastDirectory”的属性来跟踪上次下载所使用的目录。

Java虚拟机规范(目录)

2019-03-01
阅读 1 分钟
2.2k
Java虚拟机规范 Java SE 12 Edition 介绍 Java虚拟机介绍 Java虚拟机的结构 class文件格式 数据类型 原始类型和值 引用类型和值 运行时数据区 帧 对象的表示 浮点算术 特殊方法 异常 指令集汇总 类库 公有设计,私有实现 编译Java虚拟机 格式示例 使用常量、局部变量和控制结构 算术 访问运行时常量池 更多控制示例 接收...

Java虚拟机规范(介绍)

2019-03-01
阅读 2 分钟
2.7k
Java®编程语言是一种通用的、并发的、面向对象的语言,它的语法类似于C和C++,但它省略了许多使C和C++复杂、混乱和不安全的特性。最初开发Java平台是为了解决为联网的消费者设备构建软件的问题,它旨在支持多种主机架构,并允许安全交付软件组件,为了满足这些要求,编译后的代码必须能够在网络上传输,在任何客户端上运...

Java™ 教程(Queue接口)

2019-02-22
阅读 2 分钟
2.2k
每个Queue方法都有两种形式:(1)如果操作失败则抛出异常,(2)如果操作失败,则返回特殊值(null或false,具体取决于操作),接口的常规结构如下表所示。

Java™ 教程(List接口)

2019-01-26
阅读 8 分钟
2.1k
List接口 List是一个有序的Collection(有时称为序列),列表可能包含重复元素,除了从Collection继承的操作之外,List接口还包括以下操作: 位置访问 — 根据列表中的数字位置操纵元素,这包括get、set、add、addAll和remove等方法。 搜索 — 搜索列表中的指定对象并返回其数字位置,搜索方法包括indexOf和lastIndexOf。 ...

Spring 指南(调度任务)

2019-01-22
阅读 3 分钟
1.8k
调度任务 本指南将指导你完成使用Spring调度任务的步骤。 将要构建什么 你将构建一个应用程序,使用Spring的@Scheduled注解每五秒打印一次当前时间。 需要什么 大约15分钟 最喜欢的文本编辑器或IDE JDK 1.8或更高版本 Gradle 4+或Maven 3.2+ 你还可以将代码直接导入IDE: Spring Tool Suite(STS) IntelliJ IDEA 如何完...

Spring 指南(了解视图模板)

2019-01-22
阅读 2 分钟
1.8k
模型—视图—控制器(MVC)软件设计模式是用于在软件应用程序内分离关注点的方法,原则上,应用程序逻辑或控制器与用于向用户或视图层显示信息的技术分离,该模型是控制器和视图层之间的通信工具。

Spring 指南(构建RESTful Web服务)

2019-01-22
阅读 4 分钟
5.1k
构建RESTful Web服务 本指南将引导你完成使用Spring创建“hello world” RESTful Web服务的过程。 将要构建什么 你将构建一个接受HTTP GET请求的服务: {代码...} 并使用JSON响应表示问候语: {代码...} 你可以使用查询字符串中的可选name参数自定义问候语: {代码...} name参数值将覆盖默认值“World”并反映在响应中: {代...

Spring 指南(了解Git)

2019-01-22
阅读 2 分钟
1.4k
Git是由Linux创建者Linus Torvalds发明的,用于支持庞大的、不同的Linux开发人员群体,但Git的受欢迎程度与[链接]关系更紧密,Git已存在多年,但直到GitHub受欢迎程度激增之后,才在Linux社区之外获得广泛认可。GitHub允许你免费托管开源项目,它还提供简单的钩子和友好的用户体验,使Git更容易使用。

Spring 指南(了解REST)

2019-01-21
阅读 1 分钟
1.6k
REST(Representational State Transfer)由Roy Fielding于2000年在他的博士论文中引入和定义,REST是用于设计分布式系统的架构风格,它不是标准,而是一组约束,例如无状态,具有客户端/服务器关系和统一接口,REST与HTTP并不严格相关,但最常与它相关联。

Spring 指南(目录)

2019-01-21
阅读 3 分钟
1.5k
这些指南旨在在15-30分钟内完成,为使用Spring构建任何开发任务的“Hello World”提供了快速、实际的说明,在大多数情况下,唯一的前提条件是JDK和文本编辑器。

Java™ 教程(Set接口)

2019-01-19
阅读 4 分钟
2.1k
Set是一个不能包含重复元素的Collection,它模拟了数学集抽象,Set接口仅包含从Collection继承的方法,并添加禁止重复元素的限制,Set还为equals和hashCode操作的行为添加了一个更强的契约,允许Set实例有意义地进行比较,即使它们的实现类型不同,如果两个Set实例包含相同的元素,则它们是相等的。

Java™ 教程(Collection接口)

2019-01-19
阅读 4 分钟
2.1k
Collection表示一组称为其元素的对象,Collection接口用于传递需要最大通用性的对象集合,例如,按照惯例,所有通用集合实现都有一个带有Collection参数的构造函数,此构造函数(称为转换构造函数)初始化新集合以包含指定集合中的所有元素,无论给定集合的子接口或实现类型如何,换句话说,它允许你转换集合的类型。

Java™ 教程(集合接口)

2019-01-19
阅读 2 分钟
1.7k
核心集合接口封装了不同类型的集合,如下图所示,这些接口允许独立于其表示的细节来操纵集合,核心集合接口是Java集合框架的基础,如下图所示,核心集合接口形成层次结构。

Java™ 教程(集合介绍)

2019-01-19
阅读 2 分钟
1.5k
本节介绍Java集合框架,在这里,你将了解集合是什么以及它们如何使你的工作更轻松、程序更好,你将了解构成Java集合框架的核心元素 — 接口、实现、聚合操作和算法。

Java™ 教程(Date-Time)

2019-01-18
阅读 3 分钟
1.5k
Java SE 8发行版中引入的Date-Time包java.time提供了全面的日期和时间模型,是在JSR 310:Date and Time API下开发的,尽管java.time基于国际标准化组织(ISO)日历系统,但也支持常用的全球日历。

Java™ 教程(原子变量)

2019-01-18
阅读 1 分钟
2.1k
java.util.concurrent.atomic包定义了支持单个变量的原子操作的类,所有类都有get和set方法,类似于对volatile变量的读写操作,也就是说,set与在同一个变量上任何后续的get具有先发生关系,compareAndSet原子方法也具有这些内存一致性特性,适用于整数原子变量的简单原子算法也是如此。

Java™ 教程(执行器)

2019-01-18
阅读 5 分钟
1.6k
在前面的所有示例中,由新的线程(由其Runnable对象定义)和线程本身(由Thread对象定义)完成的任务之间存在紧密的联系,这适用于小型应用程序,但在大型应用程序中,将线程管理和创建与应用程序的其余部分分开是有意义的,封装这些函数的对象称为执行器,以下小节详细描述了执行器。

Java™ 教程(高级并发对象)

2019-01-17
阅读 1 分钟
1.5k
到目前为止,本课程重点关注从一开始就是Java平台一部分的低级别API,这些API适用于非常基础的任务,但更高级的任务需要更高级别的构建块,对于充分利用当今多处理器和多核系统的大规模并发应用程序尤其如此。

Java™ 教程(Lock对象)

2019-01-17
阅读 3 分钟
1.9k
同步代码依赖于简单的可重入锁,这种锁易于使用,但有许多限制,java.util.concurrent.locks包支持更复杂的锁定语法,我们不会详细检查这个包,而是将重点放在其最基本的接口Lock上。

Java™ 教程(不可变对象)

2019-01-17
阅读 4 分钟
1.7k
程序员通常不愿意使用不可变对象,因为他们担心创建新对象的成本而不是就地更新对象的成本,对象创建的影响经常被高估,并且可以通过与不可变对象相关联的一些效率来抵消,这些包括由于垃圾收集而减少的开销,以及消除保护可变对象免于损坏所需的代码。

Java™ 教程(守护阻塞)

2019-01-16
阅读 4 分钟
1.3k
线程通常必须协调他们的操作,最常见的协调用法是守护阻塞,这样的阻塞首先轮询一个条件,该条件必须为真,然后阻塞才能继续,要正确执行此操作,需要执行许多步骤。

Java™ 教程(并发活性)

2019-01-16
阅读 2 分钟
1.4k
Alphonse和Gaston是朋友,是礼貌的忠实信徒,礼貌的一个严格规则是,当你向朋友鞠躬时,你必须一直鞠躬,直到你的朋友有机会还礼,不幸的是,这条规则没有考虑到两个朋友可能同时互相鞠躬的可能性,这个示例应用程序Deadlock模拟了这种可能性:

Java™ 教程(同步)

2019-01-14
阅读 5 分钟
1.5k
线程主要通过共享对字段和引用对象的引用字段的访问来进行通信,这种通信形式非常有效,但可能产生两种错误:线程干扰和内存一致性错误,防止这些错误所需的工具是同步。

Java™ 教程(Thread对象)

2019-01-14
阅读 6 分钟
2.1k
Thread对象 每个线程都与Thread类的实例相关联,使用Thread对象创建并发应用程序有两种基本策略。 要直接控制线程的创建和管理,只需在每次应用程序需要启动异步任务时实例化Thread。 要从应用程序的其余部分抽象线程管理,请将应用程序的任务传递给执行器。 本节介绍Thread对象的使用,Executors将与其他高级并发对象一...

Java™ 教程(进程和线程)

2019-01-13
阅读 1 分钟
1.5k
计算机用户想当然地认为他们的系统一次可以做不止一件事,他们设想他们可以继续在文字处理器中工作,而其他应用程序则下载文件、管理打印队列和流音频,即使是单个应用程序通常也希望一次完成多个任务。例如,流式音频应用程序必须同时从网络上读取数字音频、解压缩、管理回放并更新其显示,甚至文字处理器应始终准备好...

Java™ 教程(对象流)

2019-01-12
阅读 2 分钟
1.5k
对象流类是ObjectInputStream和ObjectOutputStream,这些类实现ObjectInput和ObjectOutput,它们是DataInput和DataOutput的子接口。这意味着数据流中涵盖的所有原始数据I/O方法也在对象流中实现,因此,对象流可以包含原始值和对象值的混合。ObjectStreams示例说明了这一点,ObjectStreams创建与DataStreams相同的应用程...

Java™ 教程(数据流)

2019-01-12
阅读 2 分钟
1.6k
数据流支持原始数据类型值(boolean、char、byte、short、int、long、float和double)以及String值的二进制I/O,所有数据流都实现DataInput接口或DataOutput接口,本节重点介绍这些接口最广泛使用的实现,DataInputStream和DataOutputStream。