黑马程序员技术交流社区
标题: 【厦门JavaEE就业三期-每日总结】基础加强 [打印本页]
作者: 厦门校区 时间: 2018-8-30 20:53
标题: 【厦门JavaEE就业三期-每日总结】基础加强
同学们,今天是我们基础阶段的最后一天,从后天开始,我们将进入WEB的新解决,做好总结,迎接新的挑战:
1.黑盒测试和白盒测试的区别?
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
3.获取 Class对象有几种方式?他们的用途都在哪?
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
5.注解在程序中都有哪些用途?
6.什么是元注解?
7.文件从编译到运行可以分为哪三个时期?
8.思考:想让一个类加载进内存,有几种方式?
作者: 练志成 时间: 2018-8-30 21:11
1.黑盒测试和白盒测试的区别?
黑盒不可视
白盒是可视可更改的更适合程序员使用
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射是框架的灵魂核心,作用是在不更改类的情况下更改一定的内容
3.获取 Class对象有几种方式?他们的用途都在哪?
三种
1.使用ciass.forname(全类名)对应源代码阶段
2.类名.class,对应类对象阶段
3.对象.getclass(),对应运行阶段
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
暴力反射 对象.setAccessible方法
5.注解在程序中都有哪些用途?
标准各种问题,如标签一般
6.什么是元注解?
是给注解标识的注解
7.文件从编译到运行可以分为哪三个时期?
源代码--->类对象--->运行时
8.思考:想让一个类加载进内存,有几种方式?
..................................
作者: sulaymanfan 时间: 2018-8-30 21:15
1.黑盒测试和白盒测试的区别? 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 白盒测试:需要写代码的。关注程序具体的执行流程。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射是对类的组成部分封装成其他对象的一种机制
3.获取 Class对象有几种方式?他们的用途都在哪?
有三种 calss.forname(), 类名.class. 对象.getclass()
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
getDeclaredMethods() 获取私有的成员方法
getDeclaredField(String name)获取私有成员变量
5.注解在程序中都有哪些用途?
编写文档:通过代码里标识的注解生成文档【生成文档doc文档】
代码分析:通过代码里标识的注解对代码进行分析【使用反射】
编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override】
6.什么是元注解?
用于描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
三个时期, 源码期,字节文件时期,运行时期
8.思考:想让一个类加载进内存,有几种方式?
有三种方式
1、由new关键字创建一个类的实例
2、使用Class.forName() 通过反射加载类型,并创建对象实例
3、使用某个ClassLoader实例的loadClass()方法
作者: 赖良峰 时间: 2018-8-30 21:16
.黑盒测试和白盒测试的区别? 黑盒测试的测试过程是不需要编写代码的,我们只要输入数据变可以得到数据,但是由于是手动输入,当量级变大时,效率就会很低
白盒测试需要编写一些代码,关注程序具体的流程,效率高,但是不能做到穷举
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
所谓反射,就是将一个类的几个组成部分(类名,成员变量,成员方法,构造方法)封装为其他的对象,
我们在使用框架的时候,由于框架的代码不会发生改变,所以可以通过反射来调用类中的各种变量和方法
3.获取 Class对象有几种方式?他们的用途都在哪?
三种 类名.class 类的实例.class class.forname("全类名")
可以创建类的class对象,
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
暴力反射 setAccessible(true/false) 暴力反射
5.注解在程序中都有哪些用途?
检测
标记
压制
6.什么是元注解?
用来注解注解的注解
7.文件从编译到运行可以分为哪三个时期?
源代码期--->编译器---->运行期
8.思考:想让一个类加载进内存,有几种方式?
类加载器
main方法里面创建类的对象调用类的方法
反射
作者: 张煜兴 时间: 2018-8-30 21:18
1.黑盒测试和白盒测试的区别?
黑盒测试:通过输入数字进行测试
白盒测试:通过代码进行测试,比较高效
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射是将类按各个部分进行解耦,实现对各个部分的单一操作
3.获取 Class对象有几种方式?他们的用途都在哪?
有三种,分别是:Class.forName( 全类名 ),类的对象名.getClass ( ),类名.class( )。
一般用在反射中,可以通过class字节码对象进行get成员方法、构造器、成员变量
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
通过getDeclareFeilds( )方法获取成员变量的对象数组,getMethods()方法获取成员方法的对象数组
5.注解在程序中都有哪些用途?
注解是跟程序沟通的,可以去掉一些提示,也可以检测一些规范的细节
6.什么是元注解?
元注解释对注解进行注解的注解,一般有四种,Target、Retenction、Documented、Inherited
7.文件从编译到运行可以分为哪三个时期?
resource、class、runtime
8.思考:想让一个类加载进内存,有几种方式?
可以通过获取类的字节码.class对象,将类加载进内存,
通过转换流加载进内存?
通过反序列化将序列化的类对象
作者: 赖良峰 时间: 2018-8-30 21:19
.黑盒测试和白盒测试的区别? 黑盒测试的测试过程是不需要编写代码的,我们只要输入数据变可以得到数据,但是由于是手动输入,当量级变大时,效率就会很低
白盒测试需要编写一些代码,关注程序具体的流程,效率高,但是不能做到穷举
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
所谓反射,就是将一个类的几个组成部分(类名,成员变量,成员方法,构造方法)封装为其他的对象,
我们在使用框架的时候,由于框架的代码不会发生改变,所以可以通过反射来调用类中的各种变量和方法
3.获取 Class对象有几种方式?他们的用途都在哪?
三种 类名.class 类的实例.class class.forname("全类名")
可以创建类的class对象,
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
暴力反射 setAccessible(true/false) 暴力反射
5.注解在程序中都有哪些用途?
检测
标记
压制
6.什么是元注解?
用来注解注解的注解
7.文件从编译到运行可以分为哪三个时期?
源代码期--->编译器---->运行期
8.思考:想让一个类加载进内存,有几种方式?
类加载器
main方法里面创建类的对象调用类的方法
反射
作者: 张子建 时间: 2018-8-30 21:21
1.黑盒测试和白盒测试的区别?
黑盒测试不需要代码,白盒需要
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
将类的各个部分封装成其他对象。
1、可以在程序运行过程中,进行操作
2、可以jieou
3.获取 Class对象有几种方式?他们的用途都在哪?
3种,1、Class.forname,多用于配置文件,将类名定义在配置文件中。读取,加载类
2、类名.class,多用于参数的传递
3、对象.getclass,多用于对象的获取字节码的方式
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
getDeclaredFields,getDeclareMethods
5.注解在程序中都有哪些用途?
1、编写文档,2、代码分析,3、编译检查
6.什么是元注解?
用于描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
SOURCE,CLASS,RUNTIME
8.思考:想让一个类加载进内存,有几种方式?
3
作者: ZNBran 时间: 2018-8-30 21:23
1.黑盒测试:不需要写测试框架,直接输入值看程序是否给出期望值。白盒测试:需要写测试框架,看程序是否执行成功。
2.反射就是程序修改自身属性和方法的应用,反射就将类中的各个方法封装为对象,使用反射可以在程序执行过程中操作这些对象,可以解耦,提高程序扩展性。
3第一种Class.forName("全类名")获取Class对象,一般用于配置文件中类的解析。
第二种类名.class获取Class对象,一般用于参数传递class对象。
第三种由类对象.getClass()获取Class对象,一般用于对象的获取字节码方式。
4.通过调用Method[] getDeclaredMethods()方法获取Class对象中被私有的成员变量对象和成员方法对象
5.注解用来对包、类、字段、方法、局部变量、方法参数等进行说明,注释。
6.元注解是指注解的注解。
7.文件从编译到运行分为source,class,runtime三个时期。
8.可以通过反序列化流把保存对象的文件加载进内存。可以通过解析配置文件,匹配对应的类。还可以加载注释提供的类信息把类加载进内存。
作者: 罗建辉 时间: 2018-8-30 21:24
1.黑盒测试和白盒测试的区别?
白盒测试:需要写代码的。关注程序具体的执行流程。
黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射:将类的各个组成部分封装为其他对象,这就是反射机制
应用于框架中,使用反射可以在程序运行过程中,操作这些对象。
可以解耦,提高程序的可扩展性。
3.获取 Class对象有几种方式?他们的用途都在哪?
类名.class:多用于参数的传递
Class.forName():多用于配置文件,将类名定义在配置文件中。读取文件,加载类
对象名.getClass():多用于对象的获取字节码的方式
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
使用getDeclarerdMethod()与getDeclarerdMethod()忽略修饰权限获取方法
使用getDeclarerdField()与getDeclarerdFields()忽略修饰权限获取成员变量
5.注解在程序中都有哪些用途?
注解:给计算机看,它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。
6.什么是元注解?
元注解:用于描述注解的注解,有:
@Target,说明注解出现的位置(类,方法,字段)
@Retention:说明注解保留的阶段
@Documented:说明注解是否被写入API文档中
@Inherited:说明注解是否被子类继承
7.文件从编译到运行可以分为哪三个时期?
source阶段,class阶段,runtime阶段
8.思考:想让一个类加载进内存,有几种方式?
(1)运行java文件,JVM会将Java文件编译成.class文件,然后将.class文件加载进内存
(2)通过properties属性类,通过load()方法加载进内存
(3)通过反射机制,获取类的字节码对象,将类加载进内存
作者: 刘建宝 时间: 2018-8-30 21:25
1.黑盒测试和白盒测试的区别?
黑盒子测试,不需要写代码,白盒子需要写代码测试
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射:在一个运行的程序上,将需要的类的组成部分封装成对象,进行修改等操作
当程序中代码中类、构造方法、成员方法、成员变量中有需要修改等操作的时候,就需要使用反射
可以解耦,提高程序的可扩展性;
3.获取 Class对象有几种方式?他们的用途都在哪?
第一种 Class.forName();多用于配置文件,将类名定义在配置文件中。读取文件,加载类
第二种 对象.getclass;多用于对象的获取字节码的方式
第三种 类名.class;多用于参数的传递
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
成员变量对象:Field[] getDeclaredFields()、Field getDeclaredField(String name)
成员方法对象:* Constructor<T> getDeclaredConstructor(类<?>... parameterTypes) 、Constructor<?>[] getDeclaredConstructors()
5.注解在程序中都有哪些用途?
编写文档:通过代码里标识的注解生成文档【生成文档doc文档】
代码分析:通过代码里标识的注解对代码进行分析【使用反射】
编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override】
6.什么是元注解?
用于描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
SOURCE,CLASS,RUNTIME
8.思考:想让一个类加载进内存,有几种方式?
1.创建对象
2.Class调用类对象
作者: 林胜强 时间: 2018-8-30 21:25
1.黑盒测试和白盒测试的区别?
黑盒无需写代码,白盒需写代码关注运行流程
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
将类的各个组成部分封装为其他对象.可在程序运行中通过反射操作这些对象更改输出结果。
3.获取 Class对象有几种方式?他们的用途都在哪?
Class.forname(全类名)类名.class 类对象.getclass
4.如何获取Class对象中被私有的成员变量对象和成员方法对象? Field getDeclaredField(String name) Method[] getDeclaredMethods()
Field[] getDeclaredFields() Method getDeclaredMethod
5.注解在程序中都有哪些用途?
将运行时期的错误提前到编译时期标识
6.什么是元注解?
给注解注解的注解
7.文件从编译到运行可以分为哪三个时期?
源代码期--->编译器---->运行期
8.思考:想让一个类加载进内存,有几种方式?
在main方法中 new ,反射,类加载器
作者: 黄晨伟 时间: 2018-8-30 21:28
1.黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
白盒测试:需要写代码的。关注程序具体的执行流程。
2.将类的各个组成部分封装为其他对象。
可以在程序运行过程中,操作这些对象。 可以解耦,提高程序的可扩展性。
3.3种
4.new 一个这个类的对象,然后通过对象.私有变量来调用。
5.声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。
6.元注解也是注解,不过它的用途稍微有点不同,它是用来注解(动词)注解(名词)的注解(名词)。其中注解@Retention和@Inherited两个注解很经常使用。
7.编译,解释,执行
代码的装入、代码的校验和代码的执行
8.
作者: 李伟javaee03 时间: 2018-8-30 21:29
1. 黑盒测试和白盒测试的区别?
黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
白盒测试:需要写代码的。关注程序具体的执行流程。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
将类的各个组成部分封装为其他对象
可以在程序运行中操作这些对象;可以解耦,提高程序的可扩展性
3.获取 Class对象有几种方式?他们的用途都在哪?
1. Class.forName("全类名"):将字节码文件加载进内存,返回Class对象,
多用于配置文件,将类名定义在配置文件中。读取文件,加载类
2. 类名.class:通过类名的属性class获取,多用于参数的传递
3. 对象.getClass():getClass()方法在Object类中定义着,多用于对象的获取字节码的方式
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
Field[] getDeclaredFields()、Field getDeclaredField(String name)
Method[] getDeclaredMethods()、Method getDeclaredMethod(String name, 类<?>... parameterTypes)
5.注解在程序中都有哪些用途?
编写文档、代码分析、编译检查
6.什么是元注解?
元注解:用于描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
resource、runtime、class
8.思考:想让一个类加载进内存,有几种方式?
类加载器、反射、反序列化
作者: 李志超 时间: 2018-8-30 21:31
1.黑盒测试和白盒测试的区别?
黑盒测试不需要写代码(人性化);
白盒测试:需要写代码,效率高。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射是将类中的组成部分封装成对象。
保证代码不变的情况下使用
3.获取 Class对象有几种方式?他们的用途都在哪?
3种;
类名.class:已知类名
Class.forName("全类名“):知道全类名
对象.getClass():已有对象
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
使用含有declared的对应方法,且使用暴力反射SetAs。。。。
5.注解在程序中都有哪些用途?
作为标签使用,用于检测既定需求
6.什么是元注解?
用于注解注解的注解;
7.文件从编译到运行可以分为哪三个时期?
SOURSR CLASS RUNTIME
8.思考:想让一个类加载进内存,有几种方式?
4种
其中3种反射,一种注解方式
作者: MJ11 时间: 2018-8-30 21:32
1.黑盒测试和白盒测试的区别?
黑盒测试:不需要写代码(人性化的角度)
白盒测试:需要写代码,关注程序的具体执行流程,效率高
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射:就是在程序运行状态中,对于任意一个类,都能够知道这个类的属性和方法。对于任意一个对象能够调用它的任 意一个属性和方法。这种动态获取的信息和动态调用对象的方法的功能 在程序的运行过程中操作这些对象,使用反射可以实现动态创建对象和编译,体现出很大的灵活性
3.获取 Class对象有几种方式?他们的用途都在哪?
有三种方式以及用途如下
1. 创建对象的方式一:( 对象.getClass() ) Class class1 = p1.getClass();多用于对象获取字节码
2. 创建对象的方式二:( 类.class 需要一个明确的类 ) Class class2 = Person.class; 多用于参数传递
3. 创建对象的方式三:( Class.forName() 传入时需要以字符串的方式传入 ) Class class3 = Class.forName("com.Per)多用于加载配置文件
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
Class对象.getDeclaredFields();
Class对象.getDeclaredField(变量名);
Class对象.getDeclaredMethods();
Class对象.getDeclaredMethod(方法名,参数...);
5.注解在程序中都有哪些用途?
注解是说明程序的,是给计算机看的
6.什么是元注解?
元注解就是用于描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
源代码时期(Resource)
类时期(Class)
运行时期(Runtime)
8.思考:想让一个类加载进内存,有几种方式?
有三种方式:1.类加载器 2.反序列化 3.反射
田浪
作者: 黄艺纯 时间: 2018-8-30 21:32
本帖最后由 黄艺纯 于 2018-8-31 10:21 编辑
1.黑盒测试和白盒测试的区别?
白盒测试是穷举路径测试,黑盒测试是穷举输入测试,这两种方法是基于完全不同的观点,反应了事物的两个极端,它们各有侧重和优势,但不能彼此替代。在现代的测试理念中,这两种测试方法不是截然分开的,而是交叉使用。
白盒测试的优点
1、能仔细考虑软件的实现。
2、可检测代码中的每条分支和路径。
3、揭示隐藏在代码中的错误。
4、对代码的测试比较彻底。
白盒测试的缺点
1、昂贵。
2、无法检测代码中遗漏的路径和数据敏感性错误。
3、不验证规格的正确性。
黑盒测试的优点
1、对于子系统甚至系统,效率要比白盒测试高。
2、测试人员不需要了解实现的细节,包括特定的编程语言。
3、测试人员和编程人员彼此独立。
4、从用户的角度进行测试,很容易理解和接受。
5、有助于暴露规格的不一致或有歧义的问题。
6、测试用例可以在规格完成后马上进行。
黑盒测试的缺点
1、只有一小部分输入被测试到,要测试每个可能的输入几乎不可能。
2、没有清晰、简明的规格,测试用例很难设计。
3、如果测试人员不被告知开发人员已经执行过的用例,在测试数据上会存在不必要的重复。
4、有很多程序路径没有被测试到。
5、不能直接针对特定程序段测试,而这些程序段可能很复杂,有可能隐藏更多的问题。
6、大部分和研究相关的测试都是直接针对白盒测试的。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
什么是反射:
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.
反射就是把java类中的各种成分映射成一个个的Java对象。
为什么要使用反射:假如你写了一段代码:Object o=new Object();
运行了起来!
首先JVM会启动,你的代码会编译成一个.class文件,然后被类加载器加载进jvm的内存中,你的类Object加载到方法区中,创建了Object类的class对象到堆中,注意这个不是new出来的对象,而是类的类型对象,每个类只有一个class对象,作为方法区类的数据结构的接口。jvm创建对象前,会先检查类是否加载,寻找类对应的class对象,若加载好,则为你的对象分配内存,初始化也就是代码:new Object()。
上面的流程就是你自己写好的代码扔给jvm去跑,跑完就over了,jvm关闭,你的程序也停止了。
为什么要讲这个呢?因为要理解反射必须知道它在什么场景下使用。
想想上面的程序对象是自己new的,程序相当于写死了给jvm去跑。假如一个服务器上突然遇到某个请求哦要用到某个类,哎呀但没加载进jvm,是不是要停下来自己写段代码,new一下,哦启动一下服务器,(牛逼)!
反射是什么呢?当我们的程序在运行时,需要动态的加载一些类这些类可能之前用不到所以不用加载到jvm,而是在运行时根据需要才加载,这样的好处对于服务器来说不言而喻,举个例子我们的项目底层有时是用mysql,有时用oracle,需要动态地根据实际情况加载驱动类,这个时候反射就有用了,假设 com.java.dbtest.myqlConnection,com.java.dbtest.oracleConnection这两个类我们要用,这时候我们的程序就写得比较动态化,通过Class tc =Class.forName("com.java.dbtest.TestConnection");通过类的全类名让jvm在服务器中找到并加载这个类,而如果是oracle则传入的参数就变成另一个了。这时候就可以看到反射的好处了,这个动态性就体现出java的特性了!
方法区存的是类的信息,不是存类对象的,建议看一下JVM内存分配,类加载器加载类是通过方法区上类的信息在堆上创建一个类的Class对象,这个Class对象是唯一的,由JVM保证唯一,之后对这个类的创建都是根据这个Class对象来操作的。
你可以理解成类存在方法区中,类的class对象存在于堆中,这个class对象会作为运行时创建该类对象的模版。这个class对象是唯一对应该类的,要区分所谓的实例和class对象。为什么需要class对象,你想下如果一个加载进方法区的类,在jvm运行时是动态加载进来的,没有这个class对象你思考该如何访问一个未知的类并创建对象呢?没错就是这个class作为访问接口。
3.获取 Class对象有几种方式?他们的用途都在哪?
1、通过 Class.forName("类的全称")
例如:Class cl1= Class.forName("com.csdn.Test");
直接通过配置文件获取,用于框架,数据库中
2、通过 类名.class
例如: Test test=new Test();
Class cl3= Test.class;
必须导包才能使用此方法,没什么用。
3、通过 类的对象.getClass()
例如: Class cl2=test.getClass();
没用,都new了个对象,还用此方法,多此一举。
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
getDeclearedXxx();
5.注解在程序中都有哪些用途?
java内置了三种标准注解
@Override,表示当前的方法定义将覆盖超类中的方法。
@Deprecated,使用了注解为它的元素编译器将发出警告,因为注解@Deprecated是不赞成使用的代码,被弃用的代码。
@SuppressWarnings,关闭不当编译器警告信息。
6.什么是元注解?
元注解的作用就是负责注解其他注解。
Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其他annotation类型作说明:
@Target 注解用于什么地方
@Retention 注解类型的存活时间
@Documented 注解是否包含在JavaDoc中
@Inherited 是否允许子类继承该注解
7.文件从编译到运行可以分为哪三个时期?
这道题问的是类加载?
总共分为三个步骤:
装载;
链接(检查、准备、解析);
初始化。
8.思考:想让一个类加载进内存,有几种方式?
1、由 new 关键字创建一个类的实例
在由运行时刻用 new 方法载入
如:Dog dog = new Dog();
2、调用 Class.forName() 方法
通过反射加载类型,并创建对象实例
如:Class clazz = Class.forName(“Dog”);
Object dog =clazz.newInstance();
3、调用某个 ClassLoader 实例的 loadClass() 方法
通过该 ClassLoader 实例的 loadClass() 方法载入。应用程序可以通过继承 ClassLoader 实现自己的类装载器。
如:Class clazz = classLoader.loadClass(“Dog”);
Object dog =clazz.newInstance();
作者: 郭生发 时间: 2018-8-30 21:33
1.黑盒测试和白盒测试的区别?
黑盒测试是不需要写代码,给输入值,看结果是否是期望值
白盒测试是需要写代码,关注程序的具体执行流程,可以进行大批次的测试
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
将类中的各个组成部分封装成其他对象,这就是反射机制。
当程序运行时需要操作类中某个的组成部分时,可以使用反射。
把类和类的各部分之间解耦,可以分别操作这些封装后的对象。
3.获取 Class对象有几种方式?他们的用途都在哪?
Class.forName("全类名"),多用于配置文件,将类名定义在配置文件中。
类名.class 多用于参数的传递
对象.getClass()多用于对象的获取字节码的方式
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
t通过暴力反射 setAccessible(true)
5.注解在程序中都有哪些用途?
编写文档 如生成doc文档
代码分析 如使用反射
编译检查 如Override
6.什么是元注解?
描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
SOURCE->CLASS->RUNTIME
8.思考:想让一个类加载进内存,有几种方式?
通过反射
通过创建类的对象
类加载器
作者: 陈锦祥 时间: 2018-8-30 21:33
1.黑盒测试和白盒测试的区别?黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
白盒测试:需要写代码的。关注程序具体的执行流程。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射:将类的各个组成部分封装为其他对象,这就是反射机制
与注解相结合的框架
单纯的反射机制应用框架
动态生成类框架
好处:1. 可以在程序运行过程中,操作这些对象。
2. 可以解耦,提高程序的可扩展性。
3.获取 Class对象有几种方式?他们的用途都在哪?
3种:
1.Class.forName("全类名"):将字节码文件加载进内存,返回Class对象 多用于配置文件,将类名定义在配置文件中。读取文件,加载类
2.类名.class:通过类名的属性class获取 多用于参数的传递
3.对象.getClass():getClass()方法在Object类中定义着 多用于对象的获取字节码的方式
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
Field getDeclaredField(String name)
Method getDeclaredMethod(String name, 类<?>... parameterTypes)
5.注解在程序中都有哪些用途?
编写文档:通过代码里标识的注解生成文档【生成文档doc文档】
代码分析:通过代码里标识的注解对代码进行分析【使用反射】
编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override】
6.什么是元注解?
注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释
7.文件从编译到运行可以分为哪三个时期?
SOURCE CLASS RUNTIME
8.思考:想让一个类加载进内存,有几种方式?
1.直接new 创建对象
2.使用反射机制
3.类加载器
作者: 黄伟佳 时间: 2018-8-30 21:34
1.黑盒测试和白盒测试的区别?
白盒需要写程序,黑河不需要写
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
把类方法,变量封装为对象
就是程序执行过程,我们需要对起进行操作
3.获取 Class对象有几种方式?他们的用途都在哪?
三种类名.class 类的实例.class class.forname("全类名")
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
setAccessible(true/false)
5.注解在程序中都有哪些用途?
检测, 标记,压制等
6.什么是元注解?
就是对注解进行注解
7.文件从编译到运行可以分为哪三个时期?
SOURCE,CLASS,RUNTIME
8.思考:想让一个类加载进内存,有几种方式?
new,反射
作者: Michcale 时间: 2018-8-30 21:34
=============吴齐宾==========================
1.黑盒测试和白盒测试的区别?
黑盒测试比较简单,不需要写代码.白盒测试
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
将类的各个组成部分封装成对像,使用反射,我们可以在程序运行过程中,操作这些对像.
在我们需要在程序运行中进行修改的时候,.要用到反射
3.获取 Class对象有几种方式?他们的用途都在哪?
有三种!Class.forName 用在源文件还没有加载的时候.
类名称.class.用于参数的传递
对像名.getclass().当程序进入虚拟机加载的时候
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
用 Field[] getDeclaredFields() .
5.注解在程序中都有哪些用途?
①编写文档:通过代码里标识的注解生成文档【生成文档doc文档】
②代码分析:通过代码里标识的注解对代码进行分析【使用反射】
③编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override】
6.什么是元注解?
用于描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
源代码-类对象-运行时
8.思考:想让一个类加载进内存,有几种方式?
1.通过创建对像
2.用Class.forName调用
3.对像名.class
作者: 林嘉志 时间: 2018-8-30 21:38
1.黑盒测试和白盒测试的区别?
黑盒测试只是简单的输入参数,运行程序,看结果是否和期望的结果相同
白盒测试是关注程序具体的执行过程
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射是将类中的变量,方法封装成其他对象,
why use 反射:可以在程序运行中操作,降低代码的关联,也就是解耦
3.获取 Class对象有几种方式?他们的用途都在哪?
三种
1、Class.forName("全类名"):将字节码文件加载进内存,返回Class对象,多用于配置文件,将类名定义在配置文件中。读取文件,加载类(啥意思)
2、类名.class:通过类名的属性class获取,多用于参数的传递
3. 对象.getClass():getClass()方法在Object类中定义着。多用于对象的获取字节码的方式
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
Field[] getDeclaredFields() 获取所有的成员变量,不考虑修饰符
Method[] getDeclaredMethods()获取所有的成员方法,不考虑修饰符
5.注解在程序中都有哪些用途?
代替配置文件
Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。
注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用
6.什么是元注解?
注解的注解
7.文件从编译到运行可以分为哪三个时期?
sources class runtime
8.思考:想让一个类加载进内存,有几种方式?
1、由new关键字创建一个类的实例
在由运行时刻用 new 方法载入
2、使用Class.forName()
通过反射加载类型,并创建对象实例
3、使用某个ClassLoader实例的loadClass()方法
通过该 ClassLoader 实例的 loadClass() 方法载入。应用程序可以通过继承 ClassLoader 实现自己的类装载器
作者: 林靖 时间: 2018-8-30 21:39
本帖最后由 林靖 于 2018-8-30 21:41 编辑
1.黑盒测试和白盒测试的区别?
黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
白盒测试:需要写代码的。关注程序具体的执行流程。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
将类的每一个属性封装成对象叫做反射
使用反射可以使我们在运行过程中操作方法,变量等,更加灵活.可以解耦,提高程序扩展
3.获取 Class对象有几种方式?他们的用途都在哪?
类名.class 多用于参数的传递
对象名.getclass 多用于对象的获取字节码的方式
Class.forName(类名称) 多用于加载配置文件
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
.getDeclaredFileds
.getDeclaredMethods
setAccessible(true) 暴力反射
5.注解在程序中都有哪些用途?
编写文档
代码分析
编译检查
6.什么是元注解?
作用于注解的注解
7.文件从编译到运行可以分为哪三个时期?
Source代码阶段 Class类对象阶段 Runtime运行时阶段
8.思考:想让一个类加载进内存,有几种方式?
创建对象
反射
反序列化
作者: yangshixian 时间: 2018-8-30 21:40
1.黑盒测试和白盒测试的区别?黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。白盒测试:需要写代码的。关注程序具体的执行流程。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射是将类的各个组成部分封装为其他对象
因为反射可以在程序运行过程中,操作这些对象。
反射还可以进行解耦,提高程序的可扩展性。
3.获取 Class对象有几种方式?他们的用途都在哪?
三种
1、Class.forName("全类名") 该方式多用于配置文件,将类名定义在配置文件中,读取文件,加载类
2、类名.Class 多用于参数的传递
3、对象.getClass() 多用于对象获取字节码文件
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
getDeclaredFields()、getDeclaredField(String name)、getDeclaredMethods()、getDeclaredMethod(String name,类<?>... parameterTypes)
5.注解在程序中都有哪些用途?
一、编写文档:通过代码里标识的注解生成文档【生成文档doc文档】
二、代码分析:通过代码里标识的注解对代码进行分析【使用反射】
三、编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查
6.什么是元注解?
用于描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
SOURCE、CLASS、RUNTIME
8.思考:想让一个类加载进内存,有几种方式?
一、通过new关键字
二、Class.forName("全类名")
三、类名.Class
四、对象.getClass()
杨式贤
作者: liebstch 时间: 2018-8-30 21:42
陈建秋
1.黑盒测试和白盒测试的区别? 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值,从人性化角度提出建议意见。
白盒测试:需要写代码的。关注程序具体的执行流程,执行效率效率高。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射:将类的各个组成部分封装为其他对象。
反射使用场景:有些信息在source阶段是不清晰的,需要在runtime阶段临时加载这种场景,就需要反射机制。
使用反射的好处:(1)可以在程序执行阶段操作对象(2)可以提高解耦性,从而提高程序的扩展性。
3.获取 Class对象有几种方式?他们的用途都在哪?
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
1.Class.forName() 多用于配置文件,将类名定义在配置文件中。读取文件,加载类
2. 类名.class:通过类名的属性class获取 多用于参数的传递
3. 对象.getClass():getClass()方法在Object类中定义着。 多用于对象的获取字节码的方式
5.注解在程序中都有哪些用途?
(1)编写文档
(2)代码分析
(3)编译检查
6.什么是元注解?
元注解是用来描述注解的注解。
7.文件从编译到运行可以分为哪三个时期?
Source,Claaa,RunTime
8.思考:想让一个类加载进内存,有几种方式?
(1)通过new类对象实例,让类加载进内存。
(2)通过反射机制。
(3)通过类加载器。
作者: 张剑猛 时间: 2018-8-30 21:43
1.黑盒测试和白盒测试的区别?
黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
白盒测试:需要写代码的。关注程序具体的执行流程。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
将类的各个组成部分(成员变量Method、成员方法Field、构造器Constructor)封装为其他对象,通过这些对象可以对运行中的程序进行操作,可以解耦,提升程序的可扩展性
3.获取 Class对象有几种方式?他们的用途都在哪?
三种,一是通过字节码文件Class.forName()方法;二是通过加载字节码文件类名.class();三是创建该类对象调用getClass().
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
通过Class对象调用getDeclaredFields()和getDeclaredMethods()获取
5.注解在程序中都有哪些用途?
①编写文档:通过代码里标识的注解生成文档【生成文档doc文档】
②代码分析:通过代码里标识的注解对代码进行分析【使用反射】
③编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查
6.什么是元注解?
用于描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
SOURCE源码时期、CLASS字节码时期、RUNTIME运行时期
8.思考:想让一个类加载进内存,有几种方式?
一、直接创建类对象调用方法;二、使用类加载器;三、使用反射机制;四、使用I/O流传入内存
作者: 仰望`星空 时间: 2018-8-30 21:45
郭林源
1.黑盒测试和白盒测试的区别?-->黑盒测试可以反馈人真实体验,但输入数据量少,效率低,不用写代码;白盒测试测试数据量大,效率高,需要写代码
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?-->将类的各个组成部分封装为其他对象,这样我们可以在程序运行时,直接操作类中各个对象
3.获取 Class对象有几种方式?他们的用途都在哪?-->3种,第一种:类名.class,多用于参数的传递 第二种:Class.forName("全类名"),多用于读取文件,加载类 第三种:对象.getClass(),多用于对象的获取字节码
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?-->获取成员变量,getFields() ;获取成员方法,getMethods()
5.注解在程序中都有哪些用途?-->1:编写文档:通过代码里标识的注解生成DOC文档 2:代码分析:通过代码里标识的注解对代码进行分析
3:编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查
6.什么是元注解?-->元注解:用于描述注解的注解
7.文件从编译到运行可以分为哪三个时期?-->源码source 、类对象 class 、运行时期runtime
8.思考:想让一个类加载进内存,有几种方式?-->1、new关键字创建一个类的实例 2、Class.forName()方法
作者: spik 时间: 2018-8-30 21:46
1.黑盒测试和白盒测试的区别?
黑盒测试是指不看代码的情况下进行测试,直接输入值,看程序是否能够输出期望值;白盒测试是值在代码环境下测试,关注程序的具体执行流程。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
将类的各个组成部分封装为其他对象;反射的好处有:可以在程序运行过程中,操作这些对象;可以解耦,提高程序的可扩展性。
3.获取 Class对象有几种方式?他们的用途都在哪?
1.Class.forName("全类名"):将字节码文件加载进内存,返回Class对象。(用于配置文件,将类名定义在配置文件中 读取文件 加载类)
2.类名.Class: 通过类名的属性获.class获取(用于参数的传递)
3.对象.getClass(): getClass() 方法在object类中定义着。(用于对象获取字节码的方式)
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
1. 获取成员变量们
* Field[] getFields() :获取所有public修饰的成员变量
* Field getField(String name) 获取指定名称的 public修饰的成员变量
* Field[] getDeclaredFields() 获取所有的成员变量,不考虑修饰符
* Field getDeclaredField(String name)
2. 获取构造方法们
* Constructor<?>[] getConstructors()
* Constructor<T> getConstructor(类<?>... parameterTypes)
* Constructor<T> getDeclaredConstructor(类<?>... parameterTypes)
* Constructor<?>[] getDeclaredConstructors()
3. 获取成员方法们:
* Method[] getMethods()
* Method getMethod(String name, 类<?>... parameterTypes)
* Method[] getDeclaredMethods()
* Method getDeclaredMethod(String name, 类<?>... parameterTypes)
5.注解在程序中都有哪些用途?
1、编写文档 通过代码里标识的注解生成文档
2、代码分析 通便代码里标识的注解对代码进行分析(使用反射)
3、编译检查 通过代码里标识的注解让编译器能够实现基本的编译检查(例如:Override)
6.什么是元注解?
元注解:用于描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
SOUTRCE 、CLASS、RUNTIME
8.思考:想让一个类加载进内存,有几种方式?
正常创建对象时(new)、通过反射(三种方式)、类加载器(ClassLoader)
lijionghua
作者: spik 时间: 2018-8-30 21:47
1.黑盒测试和白盒测试的区别?
黑盒测试是指不看代码的情况下进行测试,直接输入值,看程序是否能够输出期望值;白盒测试是值在代码环境下测试,关注程序的具体执行流程。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
将类的各个组成部分封装为其他对象;反射的好处有:可以在程序运行过程中,操作这些对象;可以解耦,提高程序的可扩展性。
3.获取 Class对象有几种方式?他们的用途都在哪?
1.Class.forName("全类名"):将字节码文件加载进内存,返回Class对象。(用于配置文件,将类名定义在配置文件中 读取文件 加载类)
2.类名.Class: 通过类名的属性获.class获取(用于参数的传递)
3.对象.getClass(): getClass() 方法在object类中定义着。(用于对象获取字节码的方式)
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
1. 获取成员变量们
* Field[] getFields() :获取所有public修饰的成员变量
* Field getField(String name) 获取指定名称的 public修饰的成员变量
* Field[] getDeclaredFields() 获取所有的成员变量,不考虑修饰符
* Field getDeclaredField(String name)
2. 获取构造方法们
* Constructor<?>[] getConstructors()
* Constructor<T> getConstructor(类<?>... parameterTypes)
* Constructor<T> getDeclaredConstructor(类<?>... parameterTypes)
* Constructor<?>[] getDeclaredConstructors()
3. 获取成员方法们:
* Method[] getMethods()
* Method getMethod(String name, 类<?>... parameterTypes)
* Method[] getDeclaredMethods()
* Method getDeclaredMethod(String name, 类<?>... parameterTypes)
5.注解在程序中都有哪些用途?
1、编写文档 通过代码里标识的注解生成文档
2、代码分析 通便代码里标识的注解对代码进行分析(使用反射)
3、编译检查 通过代码里标识的注解让编译器能够实现基本的编译检查(例如:Override)
6.什么是元注解?
元注解:用于描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
SOUTRCE 、CLASS、RUNTIME
8.思考:想让一个类加载进内存,有几种方式?
正常创建对象时(new)、通过反射(三种方式)、类加载器(ClassLoader)、
作者: 郑颖锋 时间: 2018-8-30 21:47
1.黑盒测试和白盒测试的区别?
1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
2. 白盒测试:需要写代码的。关注程序具体的执行流程。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射:将类的各个组成部分封装为其他对象,这就是反射机制
* 为什么使用反射,因为:
1. 可以在程序运行过程中,操作这些对象。
2. 可以解耦,提高程序的可扩展性。
3.获取 Class对象有几种方式?他们的用途都在哪?
1. Class.forName("全类名"):将字节码文件加载进内存,返回Class对象
* 多用于配置文件,将类名定义在配置文件中。读取文件,加载类
2. 类名.class:通过类名的属性class获取
* 多用于参数的传递
3. 对象.getClass():getClass()方法在Object类中定义着。
* 多用于对象的获取字节码的方式
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
暴力反射 setAccessible(true/false) 暴力反射
5.注解在程序中都有哪些用途?
注解的用途:
①编写文档:通过代码里标识的注解生成文档【生成文档doc文档】
②代码分析:通过代码里标识的注解对代码进行分析【使用反射】
③编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override】
6.什么是元注解?
元注解:用于描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
文件从编译到运行可以分为RESOURCE、CLASS、RUNTIME三个时期。
8.思考:想让一个类加载进内存,有几种方式?
三种方式:
1.类加载器
2.main方法里面创建类的对象调用类的方法
3.反射
作者: 丶黑白 时间: 2018-8-30 21:49
1.黑盒测试和白盒测试的区别?
黑盒重效果(从用户角度),白盒重过程(程序员角度)
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射指将标准类各个部分对象化封装,使代码可以在运行期更改
3.获取 Class对象有几种方式?他们的用途都在哪?
3种,获取字节码文件,调用方法获得类的各个部分
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
getDeclaredFiled getDeclaredMethod
5.注解在程序中都有哪些用途?
编译检查,代码分析
6.什么是元注解?
用来注释注释的注释
7.文件从编译到运行可以分为哪三个时期?
SOURCE,CLASS,RUNTIME
8.思考:想让一个类加载进内存,有几种方式?
new ,反射,反序列化
作者: 罗荣贵 时间: 2018-8-30 21:50
1.黑盒测试不用写代码,更加人性化,白盒测试要写代码,但是效率更高
2.发射是在运行期间可以动态的获取类的对象和修改数据,当我们只有字节码文件或者一个复杂的类,想要迅速获取这个类的成员变量,成员方法,构造方法时,使用可以反射,可以运行期间修改类中数据,解耦,增加程序扩展性
3.三种方式获取,Class中的静态方法forName方法,类名调用.class方法,类的对象调用getClass方法
当我们只知道全类名时使用第一种,当我们知道类名时可以使用第二和第三种
4.可以对应使用带有Declared的方法获取
5.编写文档,代码分析,编译检测
6.用来对注解进行说明描述
7.源文件,字节码,运行期
8.创建对象,反射获取类信息得对象
作者: weimengchao 时间: 2018-8-30 21:52
1.黑盒测试和白盒测试的区别?
不需写代码,输入一个值看是否能够输出期望的值
需要写代码
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
将类的各个组成部分封装为其他对象,这样我们可以在程序运行时,直接操作类中各个对象
3.获取 Class对象有几种方式?他们的用途都在哪?
3种
类.class
Class.forname(全包名)
对象.getClass()
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
getDeclaredFields() getDeclaredMethod()
5.注解在程序中都有哪些用途?
编写文档
代码分析:通过代码里标识的注解对代码进行分析【使用反射】
编译检查
6.什么是元注解?
注解得注解
7.文件从编译到运行可以分为哪三个时期?
源码阶段 class编译成功阶段 runtime运行阶段
8.思考:想让一个类加载进内存,有几种方式?
类加载器
创建对象调用方法
作者: 冰是睡着的水 时间: 2018-8-30 21:53
1.黑盒测试和白盒测试的区别?
答:黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
白盒测试:需要写代码的。关注程序具体的执行流程。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
答:将类的各个组成部分封装为其他对象,这就是反射机制。
可以在程序运行过程中,操作对象、成员方法、方法等,
其次,可以解耦,提高程序的可扩展性。
3.获取 Class对象有几种方式?他们的用途都在哪?
答:有三种。
第一,将字节码文件加载进内存,返回Class对象
* 多用于配置文件,将类名定义在配置文件中。读取文件,加载类
第二,类名.class:通过类名的属性class获取
* 多用于参数的传递
第三,对象.getClass():getClass()方法在Object类中定义着。
* 多用于对象的获取字节码的方式
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
答:1. 获取成员变量可用以下几种方法
* Field[] getFields() :获取所有public修饰的成员变量
* Field getField(String name) 获取指定名称的 public修饰的成员变量
* Field[] getDeclaredFields() 获取所有的成员变量,不考虑修饰符
* Field getDeclaredField(String name)
2. 获取成员方法可用以下几种方法
* Method[] getMethods()
* Method getMethod(String name, 类<?>... parameterTypes)
* Method[] getDeclaredMethods()
* Method getDeclaredMethod(String name, 类<?>... parameterTypes)
5.注解在程序中都有哪些用途?
答:说明程序,用文字描述程序的。给程序员看,方便理解代码。
具体用途有下列几种:
①编写文档:通过代码里标识的注解生成文档【生成文档doc文档】
②代码分析:通过代码里标识的注解对代码进行分析【使用反射】
③编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override】
6.什么是元注解?
答:用于描述注解的注解。
7.文件从编译到运行可以分为哪三个时期?
答:SOURCE、CLASS、RUNTIME
8.思考:想让一个类加载进内存,有几种方式?
答:创建类的对象、通过注解、通过配置文件加载。
(黄嘉欣)
作者: 谢君昇 时间: 2018-8-30 21:53
1.黑盒测试和白盒测试的区别? 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
白盒测试:需要写代码的。关注程序具体的执行流程。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射:将类的各个组成部分封装为其他对象;在代码运行中操作类中的对象;提高程序的拓展性;
3.获取 Class对象有几种方式?他们的用途都在哪?
3种,Class.forName("全类名");类名.class;对象.class
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
getDeclaredFields() ;getDeclaredMethods() ;并且使用暴力反射;
5.注解在程序中都有哪些用途?
①编写文档:②代码分析:③编译检查
6.什么是元注解?
给注解写的注解;
7.文件从编译到运行可以分为哪三个时期?
resource;class;runtime;
8.思考:想让一个类加载进内存,有几种方式?
new,类加载器,反射;
作者: 舟sir 时间: 2018-8-30 21:53
1.黑盒测试和白盒测试的区别?白盒测试需要代码逻辑,效率快,注重程序的逻辑与结果;
黑盒测试效率慢手动测试,效率低,注重人性化的测试,是白盒测试做不到的
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射:是一种机制,将类的各个部分封装为其他对象
应用场景:当在程序运行过程中需要在不操作代码就实现修改
3.获取 Class对象有几种方式?他们的用途都在哪?
三种:Class.forName(); 类的对象名.getClass, 类名.class;
第一中方式可以直接通过全类名获取,可以读取配置文件和通过注解的使用
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
1、 getDeclaredFields/Methods();
2、getDeclaredField/Method();
5.注解在程序中都有哪些用途?
标签,给程序看的,将运行期的错误提升至编译期。
6.什么是元注解?
元注解是给注解做注解的
7.文件从编译到运行可以分为哪三个时期?
source、class 、runTime
8.思考:想让一个类加载进内存,有几种方式?
编译之后虚拟机运行
反射
周家乾
作者: 陈捷 时间: 2018-8-30 21:54
1.黑盒测试和白盒测试的区别?
黑盒测试测试过程代码不可见。
白盒可见,可更改技术要求高。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射提供的是runtime阶段获取类的class实例、方法、属性、注解,并且能够调用类的方法的途径,这种动态获取类信息和调用类方法的机制被称之为反射
在runtime阶段动态临时加载或者需要临时访问类的某个私有属性这种场景,反射就可以派上用场了。
3.获取 Class对象有几种方式?他们的用途都在哪?
1.使用ciass.forname(全类名)对应源代码阶段
2.类名.class,对应类对象阶段
3.对象.getclass(),对应运行阶段
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
暴力反射
Constructor<T> getDeclaredConstructor(类<?>... parameterTypes)
Constructor<?>[] getDeclaredConstructors()
5.注解在程序中都有哪些用途?
编写文档,代码分析,编译检查。
6.什么是元注解?
是给注解标识的注解
7.文件从编译到运行可以分为哪三个时期?
正常场景下,java从源码到运行有3个阶段:
source class runtime
8.思考:想让一个类加载进内存,有几种方式?
加载方式:
1、由new关键字创建一个类的实例
在由运行时刻用 new 方法载入
例:Person person = new Person();
2、使用Class.forName()
通过反射加载类型,并创建对象实例
例:Class clazz = Class.forName("Person");
Object person =clazz.newInstance();
3、使用某个ClassLoader实例的loadClass()方法
通过该 ClassLoader 实例的 loadClass() 方法载入。应用程序可以通过继承 ClassLoader 实现自己的类装载器。
例:Class clazz = classLoader.loadClass("Person");
Object person =clazz.newInstance();
区别:
1和2使用的类加载器是相同的,都是当前类加载器(即:this.getClass.getClassLoader)。
3由用户指定类加载器。如果需要在当前类路径以外寻找类,则只能采用第3种方式。即第3种方式加载的类与当前类分属不同的命名空间。
1是静态加载,2、3是动态加载1.黑盒测试和白盒测试的区别?
黑盒测试测试过程代码不可见。
白盒可见,可更改技术要求高。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射提供的是runtime阶段获取类的class实例、方法、属性、注解,并且能够调用类的方法的途径,这种动态获取类信息和调用类方法的机制被称之为反射
在runtime阶段动态临时加载或者需要临时访问类的某个私有属性这种场景,反射就可以派上用场了。
3.获取 Class对象有几种方式?他们的用途都在哪?
1.使用ciass.forname(全类名)对应源代码阶段
2.类名.class,对应类对象阶段
3.对象.getclass(),对应运行阶段
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
暴力反射
Constructor<T> getDeclaredConstructor(类<?>... parameterTypes)
Constructor<?>[] getDeclaredConstructors()
5.注解在程序中都有哪些用途?
编写文档,代码分析,编译检查。
6.什么是元注解?
是给注解标识的注解
7.文件从编译到运行可以分为哪三个时期?
正常场景下,java从源码到运行有3个阶段:
source class runtime
8.思考:想让一个类加载进内存,有几种方式?
加载方式:
1、由new关键字创建一个类的实例
在由运行时刻用 new 方法载入
例:Person person = new Person();
2、使用Class.forName()
通过反射加载类型,并创建对象实例
例:Class clazz = Class.forName("Person");
Object person =clazz.newInstance();
3、使用某个ClassLoader实例的loadClass()方法
通过该 ClassLoader 实例的 loadClass() 方法载入。应用程序可以通过继承 ClassLoader 实现自己的类装载器。
例:Class clazz = classLoader.loadClass("Person");
Object person =clazz.newInstance();
区别:
1和2使用的类加载器是相同的,都是当前类加载器(即:this.getClass.getClassLoader)。
3由用户指定类加载器。如果需要在当前类路径以外寻找类,则只能采用第3种方式。即第3种方式加载的类与当前类分属不同的命名空间。
1是静态加载,2、3是动态加载
作者: 冰是睡着的水 时间: 2018-8-30 21:54
1.黑盒测试和白盒测试的区别?
答:黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
白盒测试:需要写代码的。关注程序具体的执行流程。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
答:将类的各个组成部分封装为其他对象,这就是反射机制。
可以在程序运行过程中,操作对象、成员方法、方法等,
其次,可以解耦,提高程序的可扩展性。
3.获取 Class对象有几种方式?他们的用途都在哪?
答:有三种。
第一,将字节码文件加载进内存,返回Class对象
* 多用于配置文件,将类名定义在配置文件中。读取文件,加载类
第二,类名.class:通过类名的属性class获取
* 多用于参数的传递
第三,对象.getClass():getClass()方法在Object类中定义着。
* 多用于对象的获取字节码的方式
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
答:1. 获取成员变量可用以下几种方法
* Field[] getFields() :获取所有public修饰的成员变量
* Field getField(String name) 获取指定名称的 public修饰的成员变量
* Field[] getDeclaredFields() 获取所有的成员变量,不考虑修饰符
* Field getDeclaredField(String name)
2. 获取成员方法可用以下几种方法
* Method[] getMethods()
* Method getMethod(String name, 类<?>... parameterTypes)
* Method[] getDeclaredMethods()
* Method getDeclaredMethod(String name, 类<?>... parameterTypes)
5.注解在程序中都有哪些用途?
答:说明程序,用文字描述程序的。给程序员看,方便理解代码。
具体用途有下列几种:
①编写文档:通过代码里标识的注解生成文档【生成文档doc文档】
②代码分析:通过代码里标识的注解对代码进行分析【使用反射】
③编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override】
6.什么是元注解?
答:用于描述注解的注解。
7.文件从编译到运行可以分为哪三个时期?
答:SOURCE、CLASS、RUNTIME
8.思考:想让一个类加载进内存,有几种方式?
答:创建类的对象、通过注解、通过流。
(黄嘉欣)
作者: 小鱼七 时间: 2018-8-30 21:55
1.黑盒测试和白盒测试的区别?
黑盒测试,不需要写代码,给一个值,看成熟能不能输出期望的值
白盒测试,需要写代码
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
在Class阶段将类的成员变量,成员方法、构造方法封装成对象,,可以在程序运行过程中,操作这些对象,可以解耦
3.获取 Class对象有几种方式?他们的用途都在哪?
三种,Class.orName(“全类名”),一般用于配置文件
类名.class用于参数传递
对象.getClass,用于对象获取字节码文件
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
用带有Declared的那个方法,或者暴力反射
5.注解在程序中都有哪些用途?
可以用来检测书写是否正确,对包、类、字段、方法、局部变量、方法参数进行说明,注释
6.什么是元注解?
用来描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
源代码时期,Class对象时期,运行时期
8.思考:想让一个类加载进内存,有几种方式?
运行程序
Class.forName("全类名")
|
|
作者: 吴鑫佳 时间: 2018-8-30 21:56
1.黑盒测试和白盒测试的区别?
黑盒测试不需要写代码,可以进行人性化操作,而白盒从操作只是按照代码进行效率高,关注的是程序的具体执行流程,不能穷举到所有的情况。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
将类中的各个组成部分,比如成员方法,成员变量,构造方法等封装成其他对象。使用反射使得在程序运行的时候我们可以对封装的对象进行操作,可以解耦,提高程序的扩展性。
3.获取 Class对象有几种方式?他们的用途都在哪?
三种方式,Class.forName,多用于配置文件,类名.class多用于参数的传递,对象.getclass多用于对象的获取字节码的方式。
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
调用对象名.getDeclaredField和对象名.getDeclaredMethod
5.注解在程序中都有哪些用途?
说明程序,给计算机看的,可以进行编写文档,代码分析以及编译检查等
6.什么是元注解?
用于描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
SOURCE初始化资源时期,,CLASS生成class字节码文件时期,RUNTIME运行字节码文件时期
8.思考:想让一个类加载进内存,有几种方式?
创建类的对象,创建类的字节码文件,配置文件的方式,或则注解的方式,序列化以及反序列划对象
作者: 苏华琛 时间: 2018-8-30 21:57
1.黑盒测试和白盒测试的区别?
1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
2. 白盒测试:需要写代码的。关注程序具体的执行流程。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射就是把各个组成部分封装成其他对象,应用在框架上,反射可以让我们在软件运行过程中操作这些对象
3.获取 Class对象有几种方式?他们的用途都在哪?
三种方式:类名.class;对象.getclass;Class.forName("全类名");
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
通过Class对象调用getDeclaredFields()和getDeclaredMethods()获取
5.注解在程序中都有哪些用途?
给计算机说明程序的
6.什么是元注解?
对注解进行注解的注解
7.文件从编译到运行可以分为哪三个时期?
源码source 、类对象 class 、运行时期runtime
8.思考:想让一个类加载进内存,有几种方式?
new 创建
;Class.forName("全类名")
作者: 赵烈刚 时间: 2018-8-30 22:00
1.黑盒测试和白盒测试的区别?
黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
白盒测试:需要写代码的。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
将类的各个组成部分(成员方法,成员变量,构造器)封装为其他对象,这就是反射机制;1.可以在程序运行过程中,操作这些对象(字节码文件)2.可以解耦,提高程序的可扩展性。
3.获取Class对象有几种方式?他们的用途都在哪?
3种,一般用在反射中,可以通过class字节码对象进行get成员方法、构造器、成员变量
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
Field[] getDeclaredFields();getMethods()
5.注解在程序中都有哪些用途?
检测,标注,压制警告。
6.什么是元注解?
用于描述注解的注解。
7.文件从编译到运行可以分为哪三个时期?
源代码->编译->运行
8.思考:想让一个类加载进内存,有几种方式?
反射,main方法里面new,类加载器
作者: shenxiaogan 时间: 2018-8-30 22:00
1.黑盒测试和白盒测试的区别?
黑盒不可视
白盒是可视可更改的更适合程序员使用
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射是框架的灵魂核心,作用是在不更改类的情况下更改一定的内容
3.获取 Class对象有几种方式?他们的用途都在哪?
三种
1.使用ciass.forname(全类名)对应源代码阶段
2.类名.class,对应类对象阶段
3.对象.getclass(),对应运行阶段
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
暴力反射 对象.setAccessible方法
5.注解在程序中都有哪些用途?
标准各种问题,如标签一般
6.什么是元注解?
是给注解标识的注解
7.文件从编译到运行可以分为哪三个时期?
源代码--->类对象--->运行时
8.思考:想让一个类加载进内存,有几种方式?
作者: zouyitao 时间: 2018-8-30 22:01
1.黑盒测试和白盒测试的区别?
黑盒测试是通过输入数据和获取的结果来测试。
白盒测试通过代码和逻辑进行测试
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射是将类中的各个部分封装成对象。使用放射可以不通过改变代码来实现某些需求。
3.获取 Class对象有几种方式?他们的用途都在哪?
获取 Class对象有三种方式:1.类名.class 创建对象2.对象.getClass 3.Class.forName(全类名)
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
getDeclaredFields 和getDeclaredMethods、setAccessible(true)
5.注解在程序中都有哪些用途?
1.编译检查 2.代码分析 3.编写文档
6.什么是元注解?
用于描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
SOURCE CLASS RUNTIME
8.思考:想让一个类加载进内存,有几种方式?
在main方法中 new ,反射,类加载器
作者: 沈智桂 时间: 2018-8-30 22:02
黑盒测试和白盒测试的区别?
黑盒测试可以反馈人的真实体验,不需要写代码,看程序能否输出期望的值,白盒测试需要写代码
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射是指标准类的各个对象封装成对象,使我们可以在运行期更改
3.获取 Class对象有几种方式?他们的用途都在哪?
1用class.forname(全类名),2用类名。class() 3对象名。getclass()
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
GetDeclaredFiled getDeclaredMethod
5.注解在程序中都有哪些用途?
编译检查,代码分析
6.什么是元注解?
new 反射
描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
SOURCE ,CLASS,RUNTIME
8.思考:想让一个类加载进内存,有几种方式?
new 反射
作者: ZNBran 时间: 2018-9-1 08:50
1.黑盒测试:不需要写测试框架,直接输入值看程序是否给出期望值。白盒测试:需要写测试框架,看程序是否执行成功。
2.反射就是程序修改自身属性和方法的应用,反射就将类中的各个方法封装为对象,使用反射可以在程序执行过程中操作这些对象,可以解耦,提高程序扩展性。
3第一种Class.forName("全类名")获取Class对象,一般用于配置文件中类的解析。
第二种类名.class获取Class对象,一般用于参数传递class对象。
第三种由类对象.getClass()获取Class对象,一般用于对象的获取字节码方式。
4.通过调用Method[] getDeclaredMethods()方法获取Class对象中被私有的成员变量对象和成员方法对象
5.注解用来对包、类、字段、方法、局部变量、方法参数等进行说明,注释。
6.元注解是指注解的注解。
7.文件从编译到运行分为source,class,runtime三个时期。
8. new关键字创建一个类的实例,使用Class.forName() 通过反射加载类型,并创建对象实例
==================================================周楠
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |