- 浏览: 6049 次
最新评论
文章列表
只要编译器从上下文中能够推断出类型参数,你就可以使用一个空的类型参数集合(<>)代替调用一个泛型类的构造器所需要的类型参数。
这对尖括号通常叫做diamond.
举个例子, 考虑下面的变量声明:
Map<String, List<String>> myMap = new HashMap<String, List<String>>();
在Java SE 7中, 你可以使用一个空的类型参数集合(<>)代替构造器的参数化类型:
Map<String, List<String>> myMap = ...
- 2014-01-04 15:34
- 浏览 546
- 评论(0)
在Java SE 7及后续版本中, 数值型的字面值中的数字之间可以出现任何数量的下划线。例如,这个特性可以让你将数值型的字面值中的数字分隔成组,这样可以提高代码的可读性。
比如, 如果你的代码包含有许多位的数字, 你可 ...
- 2014-01-04 13:50
- 浏览 376
- 评论(0)
本文涵盖了以下主题:
处理多种类型的异常
重新抛出使用更宽泛的类型检查的异常
处理多种类型的异常
在Java SE 7 以及后续版本中, 一个简单的catch块可以处理多种类型的异常。这种特性可以减少重复代码以及对于捕获过于宽泛的异常的诱惑。
考虑下面的例子,每个catch块中都包含重复代码:
catch (IOException ex) {
logger.log(ex);
throw ex;
catch (SQLException ex) {
logger.log(ex);
throw ex;
}
在Java SE 7之前的发行版本 ...
- 2014-01-04 10:40
- 浏览 509
- 评论(0)
try-with-resources语句是一个声明一个或多个资源的try语句。一个资源作为一个对象,必须在程序结束之后随之关闭。try-with-resources语句确保在语句的最后每个资源都被关闭
。任何实现了java.lang.AutoCloseable的对象, 包括所有实现了java.io.Closeable的对象,
都可以用作一个资源。
下面的例子读取文件的第一行。它使用了BufferedReader的一个实例来读取文件中的数据。BufferedReader是一个资源,它必须在程序结束之后随之关闭:
static String readFirstLineF ...
- 2014-01-02 21:02
- 浏览 348
- 评论(0)
在JDK 7发布版本中, 可以在switch语句的表达式中使用String对象:
public String getTypeOfDayWithSwitchStatement(String dayOfWeekArg) {
String typeOfDay;
switch (dayOfWeekArg) {
case "Monday":
typeOfDay = "Start of work week";
break;
case "T ...
- 2014-01-02 21:01
- 浏览 362
- 评论(0)
Java SE 7中, 整数类型(byte,short,int以及long)
也可以使用二进制数系来表示。要指定一个二进制字面量,可以给二进制数字添加前缀0b或者0B。下面的示例展示了一些二进制字面量:
// 一个8位的'byte'值:
byte aByte = (byte)0b00100001;
// 一个16位的'short'值:
short aShort = (short)0b1010000101000101;
// 几个32位的'int'值:
int anInt1 = 0b10100001010001011010000 ...
- 2014-01-02 20:59
- 浏览 273
- 评论(0)
今天在公司闲着蛋疼,网上瞎逛,偶然在InfoQ网站上看到一篇文章《计算机科学中最重要的32个算法》,原文地址:http://www.infoq.com/cn/news/2012/08/32-most-important-algorithms?utm_source=infoq&utm_medium=popular_links_homepage,里面就有二分查找算法,于是乎动手实现此算法,看自己是否掌握了,倒腾半天才写出来,汗颜哪。写下此文,一来回顾一下二分查找算法,而来警醒自己。
一、概念
二分查找算法也称
- 2013-12-28 14:42
- 浏览 397
- 评论(0)
JUnit简介
JUnit是由Erich
Gamma和Kent Beck编写的一个回归测试框架(regression
testing
- 2013-12-28 14:19
- 浏览 331
- 评论(0)
一、为什么要使用Mock工具
在做单元测试的时候,我们会发现我们要测试的方法会引用很多外部依赖的对象,比如:(发送邮件,网络通讯,远程服务,
文件系统等等)。 而我们没法控制这些外部依赖的对象,为了解决这个问题,我们就需要用到Mock工具来模拟这些外部依赖的对象,来完成单元测试。
二、为什么要使用PowerMock
现如今比较流行的Mock工具如jMock、EasyMock
- 2013-11-01 14:29
- 浏览 369
- 评论(0)
安装MySQL后只有一个超级管理权限的用户ROOT,而且ROOT用户限制只能在数据库本机上使用,如果我们要远程管理或别人需要访问我本机上的MySQL,那么我们需要添加一个具有超级管理权限并且可远程访问的超级用户。以下是一种解决方法:
用root用户登陆,然后:
grant all privileges on *.* to 创建的用户名 @"%" identified by "密码";
flush privileges; * 刷新刚才的内容*
格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified ...
- 2013-05-02 14:57
- 浏览 291
- 评论(0)
1、GreenMail简介
GreenMail是一个用于测试的、开源的、直观的和易于使用的邮件服务器测试套件。它支持 SMTP、POP3、IMAP 等。它还为JBoss提供GreenMail服务。
GreenMail是第一个并且是唯一的一个为从Java接收和检索电子邮件提供测试框架的库。主页:http://www.icegreen.com/greenmail/。
2、GreenMail在实际项目中的使用
(1)项目的POM文件:
<project xmlns="http://maven.apache.org/POM/4.0.0" x ...
- 2013-03-31 08:56
- 浏览 522
- 评论(0)
简介
在Java中,Annotation(注解)是JDK5.0及以后版本引入的,它是一种可以添加到Java源
代码中的元数据(用来描述数据的数据)语法形式。类,方法,变量,参数和包都可以用于注解。
元数据的作用,大致可分为三类:
编写文档:通过代码里标识的元数据生成文档。
代码分析:通过代码里标识的元数据对代码进行分析。
编译检查:通过代码里标识的元数据让编译器能实现基本的编译检查。
内置注解
Java定义了一个内置的注解集。
应用于Java代码中的注解:
@Override–校验方法是重写方法。如果方法在父类中未找到会产生一个编译警告。@Deprecated–标记方法已经废 ...
- 2013-02-28 17:28
- 浏览 230
- 评论(0)
1. 简介
代理模式(Proxy Pattern)是GoF 23种Java常用设计模式之一。代理模式的定义:Provide a surrogate or placeholder for another object to controlaccess to
it(为其他对象提供一种代理以控制对这个对象的访问)。使用代理模式创建代理对象,让代理对象控制目标对象的访问(目标对象可以是远程的对象、创建开销大的对象或需要安全控制的对象),并且可以在不改变目标对象的情况下添加一些额外的功能。
2. UML类图
3. 模式中包含的角色及其职责
Subject:抽象主题角色,抽象主题类可以是 ...
- 2013-02-28 13:08
- 浏览 289
- 评论(0)
前言
本文是我整理的Java反射的一些知识,其中大部分内容是翻译http://tutorials.jenkov.com/java-reflection/index.html的。
1. Java反射简介
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。
Java反射机制是Java语言被视为“准动态”语言的关键性质。Java反射机制的核心就是允许在运行时通过JavaReflectionAPIs来取得已知名字的class类的内部信息 ...
- 2013-02-20 13:32
- 浏览 379
- 评论(0)
1.引言
借用《Effactive Java》这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦。
2.BigDecimal简介
BigDecimal 由任意精度的整数非标度值 和32 位的整数标度 (scale) 组成。如果为零或正数,则标度是小数点后的位数。如果为负数,则将该数的非标度值乘以 10 的负scale ...
- 2013-02-16 14:34
- 浏览 425
- 评论(0)