Java反射--老先生

Java反射

遇到某个类的某个成员变量、方法或是属性是私有的或是只对系统应用开放,这时候就可以利用Java的反射机制通过反射来获取所需的私有成员或是方法。

https://www.jianshu.com/p/9be58ee20dee

这篇博客讲了反射里面主要的类。和spring4.x书中提到的一样,可以对照阅读。

spring4.x书上提到需要用setAccessible(boolean access)方法来取消java语言检查,否则会抛出IllegalAccessException。如果Jvm安全管理器设置了相应的安全机制,那么调用该方法会抛出SecurityException。

下面是JDK手册,中文翻译都是机翻,这里我能理解意思但后面三行也不知道如何用中文表达清楚所以就暂时放英文了。

public void setAccessible(boolean flag)
                   throws SecurityException

为这个对象设置 accessible 标志指定的布尔值。值true 表明反射的对象应执行Java语言访问检查。值 false表明反射的对象应执行Java语言访问检查。

First, if there is a security manager, its checkPermission method is called with a ReflectPermission("suppressAccessChecks") permission.

A SecurityException is raised if flag is true but accessibility of this object may not be changed (for example, if this element object is a Constructor object for the class Class).

A SecurityException is raised if this object is a Constructor object for the class java.lang.Class, and flag is true.

今日完成

今天上午把所找到的bug都解决了。api的部分也没啥问题了。导师让我下午自己学习,之后再安排新的任务。所以下午看了spring4.x书里面loC容器部分,对于反射的部分仔细了解了一下。今天调bug效率很高,但是看书有点看不进去,很多地方的概念很抽象,读的很累,框架作为生成对象的工厂,里面逐级分层后一些内容中文翻译过来反而不好理解。后续这本书读完不理解的地方还需要找合适的英文文稿来对照。

明日任务

导师如果暂时没有新的任务的话,我就继续上星期自己做着练习的项目了。进行到了IoC容器的操作部分。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值