Java 面试题基础(四)
- 前言
- 1、获取Class对象的构造方法?
- 2、获取Class对象的成员变量?
- 3、获取Class对象的成员方法?
- 4、简述一下你了解的设计模式?
- 5、java中fail-fast和fail-safe的区别说明?
- 6、Jsp的运行原理?
- 7、finally语句总是会执行吗?
- 8、try、catch、finally中包含return的四种情况以及返回结果?
- 9、线程池的线程数量怎么确定?
- 10、Iterator 怎么使用?有什么特点??
- 11、Java 中能创建 volatile 数组吗?
- 12、volatile 能使得一个非原子操作变成原子操作吗?
- 13、String、数组和 List之间的转换?
- 14、volatile 修饰符的有过什么实践?
- 15、设计模式分类?
- 16、什么是多线程环境下的伪共享(false sharing)?
- 17、Java 中怎么获取一份线程 dump 文件?
- 18、生产环境服务器变慢,如何诊断处理?
- 19、什么是线程局部变量?
- 20、mysql用什么类型存储金额或者IP?
- 总结
前言
最新的 Java 面试题,技术栈涉及 Java 基础、集合、多线程、Mysql、分布式、Spring全家桶、MyBatis、Dubbo、缓存、消息队列、Linux…等等,持续更新中。
如果对老铁有帮助,帮忙免费点个赞,谢谢你的发财手!
1、获取Class对象的构造方法?
//获取字节码对象
Class<?> aClass = Class.forName("com.user");
//通过无参构造函数获取用户对象
Object user = aClass.getConstructor().newInstance();
//通过有参构造函数获取用户对象,参数是包装类
Constructor constructor = aClass.getConstructor(String.class, Integer.class);
Object user = constructor.newInstance("张三", 20);
2、获取Class对象的成员变量?
//获取当前类所有的字段
Field[] fields = aClass.getDeclaredFields();
//获取当前类和父类所有pulbic字段
Field[] fields = aClass. getFields();
//获取当前类指定的字段
Field field = aClass.getDeclaredField("name");
//获取当前类和父类指定的pulbic字段
Field field = aClass.getField("name");
//设置私有变量可访问
field.setAccessible(true);
field.set(user, "张三");//表示给对象user的name属性赋值。