Java基础知识

Posted youbingchen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础知识相关的知识,希望对你有一定的参考价值。

出来混,要学习java,本人原先具有C++的功力,所以学习java并不觉得难,但是还有一些特性难以时刻记住,所以在此做一些笔记,方便以后快速查询。

注解(元数据)

第一次接触注解的概念,先了解一下注解的使用地方

  • 生成文档,这个是最常见的功能,常用的注解有@param @return @see
  • 跟踪代码的依赖性,实现替代配置文件功能
  • 在编译时进行格式检查。如@override 放在方法前,如果你这个方法并不是覆盖了超类方法,则编译时就能检查出。

声明注解的注意事项:

  • 所有注解都只能包括方法的声明,不能为方法提供方法体。
  • 注解不能包括extends语句

注解借口在java.lang.annotation包中声明

注解的保留策略

Java定义了3种策略,它们被封装在java.lang.annotation.RetentionPolicy枚举中。这三种策略分别是SOURCE、CLASS和RUNTIME

  • 使用SOURCE保留策略的注解,只在源文件中保留,在编译期间会被抛弃
  • 使用CLASS保留策略的注解,在编译时会被存储在.class文件中,但是,在运行时通过JVM不能得到这些注解
  • 使用RUNTIME保留策略的注解,在编译时存储在.class文件中,并且在运行时可以通过JVM获取这些注解,因此,RUNTIME保留策略提供了最永久的注解。

局部变量声明的注解是不能存储在.class文件中

保留策略是通过Java的内置注解—-@Retention

@Retention(retention-policy)

参考文章

深入理解Java:注解(Annotation)自定义注解入门
深入理解Java:注解(Annotation)–注解处理器
Java基础加强总结(一)——注解(Annotation)
深入理解Java注解——注解之基本概念
深入理解Java注解——元注解及自定义注解

泛型

Java泛型工作原理和C++的模板是不相同的

  • 泛型只使用的引用类型,不能使用基本类型

  • 基于不同类型参数的泛型类是不同的。

  • 泛型提升类型安全性的原理

  • 有界类型

< T extends superclass> # 这样指定的T只能被superclass或其子类替代。会限制T的范围也会阻止创建非数值的Stats对象。
  • 使用通配符参数

    为了创建泛型的方法,必须使用Java泛型的另一个特性:通配符,通配符参数是由?指定的,表示未知类型。通配符不会影响创建什么类型的对象。

  • 通配符的有界类型

< ? extends superclass>

泛型方法

引用

Java总结篇系列:Java泛型

以上是关于Java基础知识的主要内容,如果未能解决你的问题,请参考以下文章

java多线程功力

java多线程功力

两份Java面试小册,使我功力大增5月怒斩蚂蚁金服,滴滴,网易三offer

Java基础知识

Java基础知识

学会 Arthas,让你 3 年经验掌握 5 年功力!