定义
Java注解又称Java标注,是Java语言5.0版本开始支持加入源代码的特殊语法元数据(元数据 Metadata:描述数据的数据)。
Java语言中的类、方法、变量、参数和包等都可以被标注。和Javadoc不同,Java标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java虚拟机可以保留标注内容,在运行时可以获取到标注内容。 当然它也支持自定义Java标注
内置的注解
Java 5 定义了一套注解,共有 7 个,3 个在 java.lang 中,剩下 4 个在 java.lang.annotation 中。
more
作用在代码的注解(java.lang包中)
@Override
继续阅读 »
本文给出了五种自然段落的组合方式,具体形式参见底部给出的链接,无积分下载,不管各个段落形式如何,只要段落之间存在换行分隔,该程序即可正确运行。在此提供两种切分段落的方法,分别见下面的法一和法二。
法一:
```java
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/**
ClassName SplitParagr
继续阅读 »
Java学习笔记-Object类
Note:参阅书籍《Core Java,Volume I:Fundamentals》
Object类的说明
Object类是Java中所有类的最终祖先,在Java中每个类都是由它扩展而来;
如果没有明确的指出超类,Object就被认为是这个类的超类。class A extends Object是不必要的;
可以使用Object类型的变量引用任何类型的对象,Object obj = new A();
在Java中,只有基本类型(primitive types)不是对象,例如:数值、字符和布尔类型的值都不是对象。所有的数组类型,不管是对象数组还是基本类型的数组都扩展于Object类。
继续阅读 »
从java 5.0开始,为我们提供注解功能,通过注解可以限制代码的重载,过时,以及实现一些其他功能,这里,就来分析一下java的注解。
java 元注解
首先来看java元注解,分别是:
more
@Target
@Retention
@Documented
@Inherited
这些注解和他们所修饰的类在java.lang.annotation包中,代码都很简单,可以去查看一下。
@Target 描述注解的使用范围,取值:
ElementType.CONSTRUCTOR:描述构造器
ElementType.FIELD:描述成员变量
ElementType.VARIABLE: 描述局部
继续阅读 »
在eclipse的 "problems" 选项卡中显示如下错误信息
java
Description:Type Project facet Java 1.8 is not supported by target runtime Apache Tomcat v7.0
Resource:groupping
...
由StackOverflow上的回答可知,Java facet的版本总是需要和Java编译器的版本一致,所以最好的方式是通过Project Facets Properties面板进行修改。
1. 查看Problems面板信息
2. 打开Project Facets Properties面板
3. 修改configurat
继续阅读 »
众所周知,当我们执行没有任何调优参数(如java -jar myapplication.jar)的 Java 应用程序时,JVM 会自动调整几个参数,以便在执行环境中具有最佳性能。但是许多开发者发现,如果让 JVM ergonomics (即JVM人体工程学,用于自动选择和行为调整)对垃圾收集器、堆大小和运行编译器使用默认设置值,运行在Linux容器(docker,rkt,runC,lxcfs 等)中的 Java 进程会与我们的预期表现严重不符。
本篇文章采用简单的方法来向开发人员展示在 Linux 容器中打包 Java 应用程序时应该知道什么。
more
存在的问题
我们往往把容器当虚拟机,让它定义一些虚拟 CPU 和虚拟内
继续阅读 »
前几天去一个公司参加面试遇到这个问题,Java中Collection和Collections的区别,当时不会,回来从网上找到,现在记录一下。
1、java.util.Collection 是一个 集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack└Set
2、java.util.Collections 是一个包装类。它包含有各
继续阅读 »
Java访问修饰符
|访问修饰符|作用范围|
|---|---|
|public| 完全开发|
|private|只能本类访问|
|protected|同包及子类访问|
|default(无修饰符时)|同包访问|
Java用于类的修饰符(2个)和限定符(2个)
|访问修饰符|作用范围|
|---|---|
|public| 完全开发|
|default(无) |同包访问|
注意:内部类可以拥有更多的访问修饰符
more
|限定符|描述|
|---|---|
|abstract|指定为抽象类|
|final|指定为最终类,不可被继承|
Java用于成员变量的修饰符
public
protected
private
继续阅读 »
问题来源
一般来说,一个大型的项目都会有一些依赖的JAR包(Java归档,英语:Java ARchive),而在将项目部署到服务器的过程中,如果没有持续集成环境的话,也就是说服务器不支持在线编译及打包,那么需要自己上传依赖的JAR包,然而可能服务器上已经存在了该项目所依赖的JAR包(比如项目修复BUG,重新打包上传,而依赖不变或者版本升级,修改方法等),无需再次上传所依赖的JAR包,此时只需将该项目单独打包,在运行的时候指定CLASSPATH即可。
在将JAR包部署到服务器上之后,设置CLASSPATH环境变量,运行java -jar ...命令出现ClassNotFoundException异常。之后又试用了诸多其它参数设置C
继续阅读 »
java.util.Scanner类是一个简单的文本扫描类,它可以解析基本数据类型和字符串。它本质上是使用正则表达式去读取不同的数据类型。
Java.io.BufferedReader类为了能够高效的读取字符序列,从字符输入流和字符缓冲区读取文本。
下面是两个类的不同之处:
当nextLine()被用在nextXXX()之后,用Scanner类有什么问题
尝试去猜测下面代码的输出内容;
// Code using Scanner Class
import java.util.Scanner;
class Differ
{
public static void main(String args[])
{
继续阅读 »