java代码检查实例 java测试用例编写

怎么使用Java来监控内存?求具体实例代码。

其实首先你可以先使用监控内存工具,来监控下,如果内存消耗不是很大,其实就不用那么麻烦了。如果实在要加个内存监控程序,可以使用Runtime中的MaxMemory、TotalMemory、FreeMemory来实现。注意这些都是JVM的内存,请不要和系统的内存混淆。另外如果要实时监控,必须还得弄个线程类。大致思路是这样,至于内存溢出,你可以设定一个内存阈值,比如说15%的剩余内存设置,就报内存即将溢出的错误。

成都创新互联专注于海湖新企业网站建设,成都响应式网站建设,电子商务商城网站建设。海湖新网站建设公司,为海湖新等地区提供建站服务。全流程定制网站,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务

Java 实例 – 判断文件是否隐藏

以下实例演示了使用 File 类的 file.isHidden() 方法来判断文件是否隐藏:

Main.java 文件

import java.io.File;

public class Main {

public static void main(String[] args) {

File file = new File("C:/Demo.txt");

System.out.println(file.isHidden());

}

}

以上代码运行输出结果为(Demo.txt为隐藏文件):

True

java怎么查看annotation 实现

深入理解Java:注解(Annotation)自定义注解入门

要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。

元注解:

元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解:

1.@Target,

2.@Retention,

3.@Documented,

4.@Inherited

这些类型和它们所支持的类在java.lang.annotation包中可以找到。下面我们看一下每个元注解的作用和相应分参数的使用说明。

@Target:

 @Target说明了Annotation所修饰的对象范围:Annotation可被用于 packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。在Annotation类型的声明中使用了target可更加明晰其修饰的目标。

作用:用于描述注解的使用范围(即:被描述的注解可以用在什么地方)

取值(ElementType)有:

1.CONSTRUCTOR:用于描述构造器

2.FIELD:用于描述域

3.LOCAL_VARIABLE:用于描述局部变量

4.METHOD:用于描述方法

5.PACKAGE:用于描述包

6.PARAMETER:用于描述参数

7.TYPE:用于描述类、接口(包括注解类型) 或enum声明

使用实例:

@Target(ElementType.TYPE)

public @interface Table {

/**

* 数据表名称注解,默认值为类名称

* @return

*/

public String tableName() default "className";

}

@Target(ElementType.FIELD)

public @interface NoDBColumn {

}

注解Table 可以用于注解类、接口(包括注解类型) 或enum声明,而注解NoDBColumn仅可用于注解类的成员变量。

@Retention:

@Retention定义了该Annotation被保留的时间长短:某些Annotation仅出现在源代码中,而被编译器丢弃;而另一些却被编译在class文件中;编译在class文件中的Annotation可能会被虚拟机忽略,而另一些在class被装载时将被读取(请注意并不影响class的执行,因为Annotation与class在使用上是被分离的)。使用这个meta-Annotation可以对 Annotation的“生命周期”限制。

作用:表示需要在什么级别保存该注释信息,用于描述注解的生命周期(即:被描述的注解在什么范围内有效)

取值(RetentionPoicy)有:

1.SOURCE:在源文件中有效(即源文件保留)

2.CLASS:在class文件中有效(即class保留)

3.RUNTIME:在运行时有效(即运行时保留)

Retention meta-annotation类型有唯一的value作为成员,它的取值来自java.lang.annotation.RetentionPolicy的枚举类型值。具体实例如下:

@Target(ElementType.FIELD)

@Retention(RetentionPolicy.RUNTIME)

public @interface Column {

public String name() default "fieldName";

public String setFuncName() default "setField";

public String getFuncName() default "getField";

public boolean defaultDBValue() default false;

}

Column注解的的RetentionPolicy的属性值是RUTIME,这样注解处理器可以通过反射,获取到该注解的属性值,从而去做一些运行时的逻辑处理

@Documented:

@Documented用于描述其它类型的annotation应该被作为被标注的程序成员的公共API,因此可以被例如javadoc此类的工具文档化。Documented是一个标记注解,没有成员。

@Target(ElementType.FIELD)

@Retention(RetentionPolicy.RUNTIME)

@Documented

public @interface Column {

public String name() default "fieldName";

public String setFuncName() default "setField";

public String getFuncName() default "getField";

public boolean defaultDBValue() default false;

}

@Inherited:

@Inherited 元注解是一个标记注解,@Inherited阐述了某个被标注的类型是被继承的。如果一个使用了@Inherited修饰的annotation类型被用于一个class,则这个annotation将被用于该class的子类。

注意:@Inherited annotation类型是被标注过的class的子类所继承。类并不从它所实现的接口继承annotation,方法并不从它所重载的方法继承annotation。

当@Inherited annotation类型标注的annotation的Retention是RetentionPolicy.RUNTIME,则反射API增强了这种继承性。如果我们使用java.lang.reflect去查询一个@Inherited annotation类型的annotation时,反射代码检查将展开工作:检查class和其父类,直到发现指定的annotation类型被发现,或者到达类继承结构的顶层。

java编程实例

我是Java初学者,我看了你的问题后想了很久终于把它做出来了,你看看吧,方法不是很好,但能满足你的要求:

import java.util.Scanner;

public class Check2{

int t;

char[] chs = new char[500]; //输入的句子不能超过500个字符

Check2() {

String str;

Scanner sc = new Scanner(System.in);

System.out.println("请输入字符串(输入的字符串不能超过500个字符):");

str = sc.nextLine();

t=str.length();

for (int i = 0; i t; i ++) {

chs[i] = str.charAt(i); //将输入的字符串装入数组

}

}

}

class FuZhi{

char[] letter=new char[52]; //将52个字母(含大小写)装入数组

FuZhi(){

char p;

int i=0,j=26;

for(p='A';p='Z';p++){

letter[i]=p; //这句刚才写掉了,加上去后程序就完整了

i++; //将A-Z装入数组

}

for(p='a';p='z';p++){

letter[j]=p; //将a-z装入数组,并且从数组的第26个开始装入(letter[0]-letter[25]已被装入了字母)

j++;

}

}

}

class display{

public static void main(String[] args){

char temp;

int t;

int[] n= new int [52]; //用于统计每个字符出现的次数

Check2 k =new Check2();

FuZhi m=new FuZhi();

for(int j=0;j52;j++){

t=0; //令t为0,,并且使上一个字母统计完成后

//将其再次初始化(如A统计完成后,当程序统计B出现的次数时,使B的初始次数为0)

for(int i=0;ik.t;i++){

if(m.letter[j]==k.chs[i]){ //比较字符是否相同,如相同,使t自加一

t++;

n[j]=t; //数组n来统计每个字母出现的次数,即其中的每一个元素代表一个字母在程序中出现的次数

}

}

}

System.out.println("总共输入了"+k.t+"个字符:\n"+"其中");

for(int i=0;i52;i++){

System.out.println("字母"+m.letter[i]+"出现的次数为:"+n[i]+"次");

}

}

}

写掉了一句“letter[i]=p;”,现在已经补上了,程序可以运行了,你试一下吧!!!


名称栏目:java代码检查实例 java测试用例编写
本文网址:http://azwzsj.com/article/doccphi.html