摘要:
在声明具有模糊类型(比如:泛型)的可变参数的构造函数或方法时,Java编译器会报unchecked警告。鉴于这些情况,如果程序员断定声明的构造函数和方法的主体不会对其varargs参数执行潜在的不安全的操作,可使用@SafeVarargs进行标记,这样的话,Java编译器就不会报unchecked警 阅读全文
摘要:
Java编译器在编译代码时,会产生一些安全警告信息。如果被@SuppressWarnings注解标记的元素,就可以告诉编译器抑制指定的警告。 先看看@SuppressWarnings注解在Java SE中的声明: package java.lang; import java.lang.annotat 阅读全文
摘要:
先看看@Override注解在Java SE中的声明: package java.lang; import java.lang.annotation.*; @Target(ElementType.METHOD) @Retention(RetentionPolicy.SOURCE) public @i 阅读全文
摘要:
@Repeatable注解表明标记的注解可以多次应用于相同的声明或类型,此注解由Java SE 8版本引入。以下示例如何使用此注解: 第一步,先声明一个重复注解类: package org.springmorning.demo.javabase.annotation.meta; import jav 阅读全文
摘要:
@Inherited注解标记其他的注解用于指明标记的注解是可以被自动继承的。 注意:此注解只对注解标记的超类有效,对接口是无效的。 示例: 先声明两个用@Inherited标记的注解,@Name和@Abbreviation,一个没有用@Inherited标记的注解@UpperCaseName pac 阅读全文
摘要:
@Retention注解标记其他的注解用于指明标记的注解保留策略:先看Java SE 8中@Target是如何声明的: package java.lang.annotation; public enum RetentionPolicy { /** * Annotations are to be di 阅读全文
摘要:
@Target注解标记另外的注解用于限制此注解可以应用哪种Java元素类型。先看Java SE 8中@Target是如何声明的: package java.lang.annotation; public enum ElementType { /** Class, interface (includi 阅读全文
摘要:
@Documented注解标记的元素,Javadoc工具会将此注解标记元素的注解信息包含在javadoc中。默认,注解信息不会包含在Javadoc中。示例如下: 声明Book注解,并使用@Document标记: package demo.javase.annotation; import java. 阅读全文
摘要:
JVM JVM,全称为Java Virtual Machine,中文的意思是:Java虚拟机。 在理解Java虚拟机这个定义之前,我们先讲讲为何叫虚拟机呢?称为虚拟机,顾名思义,它应该不是真实存在的。那它是什么呢?在这里,我们把它理解为一种规范(就像国家颂布的法律,它只是条文,只是规则,是概念上的东 阅读全文
摘要:
Java的历史是非常有意思的。1990年底,Sun Microsystems在工作站计算机市场上领先世界,并继续保持健康发展。Sun想把本公司的创新和专业知识应用到即将到来的消费电子市场领域,于是该公司邀请了一些顶级工程师,组建了一个Green Team团队(核心成员有: James Gosling 阅读全文