
上午在 StackOverflow 上提了个问题,过了三个小时就被关闭了...
As we know, we can use Java API to get class, method, parameters, etc.
Through the package java.lang.reflect I found some native method about reflection, I really wonder what does Java do for implementing it?
One of my conjectures was: When JVM loading a class, it will create an instance for this Class and, it can be reached when the reflection is invoked.
没有给出关闭的理由,有点好奇是提问的方式不对吗?同时这个问题想听听大手子的回答。
1 arjen OP 其中有一个回复 > When the JVM is executing byte code, it basically uses the same mechanism that reflection uses. References are dereferenced and methods are invoked using virtual machine op-codes. Elliott Frisch 3 hours ago |
2 Yuicon Dec 4, 2019 重复了吧这么常见的问题 |
3 google54321 Dec 4, 2019 问题不够具体 @arjen |
4 Seney Dec 4, 2019 这种问题太多了吧 冗余问题 有权限的大佬肯定是会关闭的 |
5 maomaomao001 Dec 4, 2019 How does Java reflection works ? 你这个???? 难道要把书的反射相关的章节都贴出来? 问的过于宽泛了应该是 |
6 arjen OP @Yuicon 应该是重复了,不过按照我的标题搜不到 要换种姿势,把 works 换成 implements 能找到一个答案... https://stackoverflow.com/questions/20461851/how-is-reflection-implemented-in-java |
7 dreamerlv3ex Dec 4, 2019 握手,英文差的可怜. |
8 arjen OP @google54321 我以为已经够具体了,看来还是想当然了。 @Seney 我也以为这样的问题会很多,不过还真的没找到,后来换了个词找到了 @maomaomao001 应该是我问的方式不对,本来是想了解一下底层的实现 |
9 arjen OP @dreamerlv3ex 哈哈,看都能看懂,一出手就词穷了。 |
10 ashong Dec 4, 2019 via iPhone 这个知乎体提问方式更适合 quora |
12 TtiGeR Dec 4, 2019 via iPhone 主题不够具体,而且标题里的主谓不一致,正文里的语法尤其是时态比较乱,想看懂得先逐段翻译回中文才能理解。 下次可以问具一些,比如: How does reflection read class metadata in Java at runtime? 另外像正文第一段的话就多余了,能回答你问题的人并不需。另外,要把你的推断写成问题,比如: Does JVM share metadata of class instances through a private API? |
13 rogwan Dec 4, 2019 via iPhone so 一般不欢迎原理性、泛问题,比较适宜直接贴问题代码,展示 bug 或 error 类的情况 |
14 KentY Dec 4, 2019 SO 都有关闭理由, 每个 closing vote 都会选择一个. 我看到你的问题, 也会 vote to close, 应该是 Needs more focus. 你应该读 SO 一篇怎么问问题, 问什么问题的问. stackoverflow 是解决具体问题的, 不是这种大的. 就像, 我问"how does jvm work; how does java time api work...." 其实你可以变通, 弄一个小例子... 然后把你要知道的问题通过这个例子引申过去, 这样从这个具体例子出发, 人们就会解答你的实际问题. 这样还一个好处就是, 可以屏蔽那些非常浅显的解答, 因为当人们读了你的问题了解你的真正疑惑, 再单纯解答你的例子问题就没意义了. 虽然大部分时间都在答题, 问的很少, 但是看的问题多了, 也有点"经验", 希望对你游泳. my 2cents. |
15 hehheh Dec 4, 2019 楼上最好的回答是 so 不欢迎原理性,泛问题。除非是很特殊的应用场景 |
16 arrow8899 Dec 4, 2019 问题太宽泛了,建议先读一下 jvm 相关书籍 |
18 Iamnotfish Dec 6, 2019 讲个故事:因为我问的垃圾问题太多(自己太菜),SO 把我的号都给封了。 |
19 arjen OP @Iamnotfish 哈哈哈惨 |
20 waterlaw Dec 8, 2019 via Android 看 jvm 源码, 还有 javac 本身就是反编译利器 |
21 PoetAndPoem Dec 9, 2019 so 是啥 |