JavaScript 核心技术指南
UNIX 入门指南
首先,当你读到这篇文章的时候,可能已经进入到这个需求的场景了,但笔者还是想构建一个常见的业务场景,以希望读者能够更快的进入到这个问题背景中:在一个岁月静好的一天,作为开发的你来到工位,看了看项目计划和待办事项,你发现,需要按顺序完成两个需求:
Gradle 在它的核心中有意地提供了一些小但有用的功能,用于在真实世界中的自动化。所有有用的功能,例如以能够编译 Java 代码为例,都是通过插件进行添加的。插件添加了新任务 (例如 JavaCompile),域对象 (例如 SourceSet ),约定(例如主要的 Java 源代码是位于 src/main/java ),以及扩展的核心对象和其他插件的对象。
日志是构建工具的主要"UI"。如果日志太多,真正的警告和问题容易被隐藏。另一方面,如果出了错,你需要找出相关的信息。Gradle 定义了6个日志级别,如表 Table 18.1, “Log levels” 所示。除了那些您通过可能会平常看到的日志级别之外,有两个 Gradle 特定日志级别。这两个级别分别是 QUIET 和 LIFECYCLE。 默认使用后面的这个日志级别,用于报告构建进度。
处理问题当你遇到问题,首先是更新到最新版本。最新版一般是修复了 bug 和添加了新特性。如果您使用的是 Gradle Daemon 守护进程,尝试暂时禁用该守护进程(您可以通过命令行 --no-daemon)。有关故障排除的守护进程的更多信息,位于Chapter 19. The Gradle Daemon 守护进程获取帮助在线论坛http://forums.gradle.org. 可以提问或者建议。
前置条件Gradle 需要 Java JDK 或者 JRE,版本是 6 及以上。Gradle 将会装载自己的 Groovy 库,因此,Groovy 不需要被安装。任何存在的 Groovy 安装都会被 Gradle 忽略。Gradle 使用你 path 中的 JDK,或者,您可以设置 java_home 环境变量来指向所需的 JDK 安装目录。下载下载 Gradle 的发布包.解压Gradle 的发布包被打包成 ZIP。
特性下面列出了一些 Gradle 的特性:声明式构建,符合公约gradle 的核心是在 基于 Groovy 对 Domain Specific Language (DSL)语言进行一个丰富的扩展。根据喜好,Gradle 将陈述建立下一级提供声明性语言元素。这些元素也提供支持 Java,Groovy,OSGi,Web和Scala 项目。甚至更多,这说明语言是可扩展的。
Gradle 为Java(JVM)世界提供快速构建的工具。提供如下功能:一个非常灵活的通用构建工具,如 Ant方便从 Maven 中切换过来。但我们从不强制对多项目构建非常支持很强的依赖性管理(基于 Apache Ivy)对你现有的 Maven 或者 Ivy 库全力支持支持传递依赖管理,不需要远程仓库或者 pom.xml 和 ivy.
本章介绍了如何使用 JDBC 应用程序来删除一个表的示例。执行下面的示例之前,请确保你已做好以下工作-在运行下面的例子之前,你需要用你实际的用户名和密码去代替 username 和 password。你的 MySQL 或者其他数据库已经启动了并在运行中。注意:这是一个重要的操作,在你删除表之前必须慎重考虑,因为一旦操作,在这个表里的所有数据都将删除。
本章介绍了如何使用 JDBC 应用程序来创建一个表的示例。执行下面的示例之前,请确保你已做好以下工作-在运行下面的例子之前,你需要用你实际的用户名和密码去代替 username 和 password 。你的 MySQL 或者其他数据库已经启动了并在运行中。
一旦我们获得了数据库的连接,我们就可以和数据库进行交互。JDBC 的 Statement,CallableStatement 和 PreparedStatement 接口定义的方法和属性,可以让你发送 SQL 命令或 PL/SQL 命令到数据库,并从你的数据库接收数据。在数据库中,它们还定义了帮助 Java 和 SQL 数据类型之间转换数据差异的方法。下表提供了每个接口的用途概要,根据实际目的决定使用哪个接口。
在你安装相应的驱动程序后,就可以用 JDBC 建立一个数据库连接。编写建立一个 JDBC 连接的程序是相当简单的。下面是简单的四个步骤-导入 JDBC 包:在你的 Java 代码中,用 import 语句添加你所需的类。注册 JDBC 驱动程序:这一步会导致 JVM 加载所需的驱动程序到内存中执行,因此它可以实现你的 JDBC 请求。
什么是 JDBC 驱动程序?JDBC 驱动实现了 JDBC API 中定义的接口,该接口用于与数据库服务器进行交互。例如,使用 JDBC 驱动程序可以让你打开数据库连接,并通过发送 SQL 或数据库命令,然后通过 Java 接收结果。java.sql 包中附带的 JDK,包含了定义各种类与他们的行为和实际实现,这些类都在第三方驱动程序中完成。第三方供应商在他们的数据库驱动程序中都实现了 java.
本章提供了如何创建一个简单 JDBC 应用程序的示例。这个示例演示如何打开一个数据库连接,执行 SQL 查询,并显示结果。所有在这个模版示例中提到的步骤,将在本教程的后续章节中进行详细描述。创建 JDBC 应用程序构建一个 JDBC 应用程序包括以下六个步骤-导入数据包:需要你导入含有需要进行数据库编程的 JDBC 类的包。大多数情况下,使用 import java.sql. 就足够了。
结构化查询语言(SQL)是一种标准化的语言,它可以让你对数据库进行操作,如创建项目,读取内容,更新内容和删除项目。SQL 支持你可能会使用到的任何数据库,它可以让你编写独立于底层数据库的数据库代码。本章介绍了 SQL,这是一个了解 JDBC 概念的先决条件。在经历了这一章后,你将能够创建,读取,更新和删除(通常被称为 CRUD 操作)一个数据库中的数据。
原文地址 作者: Jakob Jenkov 译者:叶文海(yewenhai@gamil.com)该系列文章中所描述介绍的是 Java 6 版本的反射机制。Java 反射的例子下面是一个 Java 反射的简单例子:Method[] methods = MyObject.class.getMethods();for(Method method : methods){ System.out.println("method = " + method.getName());
当学习了 Java NIO 和 IO 的 API 后,一个问题马上涌入脑海:我应该何时使用 IO,何时使用 NIO 呢?在本文中,我会尽量清晰地解析 Java NIO 和 IO 的差异、它们的使用场景,以及它们如何影响您的代码设计。Java NIO 和 IO 的主要区别下表总结了 Java NIO 和 IO 之间的主要差别,我会更详细地描述表中每部分的差异。
Java NIO 管道是 2 个线程之间的单向数据连接。Pipe有一个 source 通道和一个 sink 通道。数据会被写到 sink 通道,从 source 通道读取。这里是 Pipe 原理的图示:创建管道通过Pipe.open()方法打开管道。例如:Pipe pipe = Pipe.open();向管道写数据要向管道写数据,需要访问 sink 通道。像这样:Pipe.SinkChannel sinkChannel = pipe.sink();
Java NIO 中的 DatagramChannel 是一个能收发 UDP 包的通道。因为 UDP 是无连接的网络协议,所以不能像其它通道那样读取和写入。它发送和接收的是数据包。打开 DatagramChannel下面是 DatagramChannel 的打开方式:DatagramChannel channel = DatagramChannel.open();channel.socket().bind(new InetSocketAddress(9999));
关注时代Java