上午在 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 2019-12-04 16:21:27 +08:00
重复了吧这么常见的问题
|
3
google54321 2019-12-04 16:23:47 +08:00
问题不够具体 @arjen
|
4
Seney 2019-12-04 16:25:00 +08:00
这种问题太多了吧 冗余问题 有权限的大佬肯定是会关闭的
|
5
maomaomao001 2019-12-04 16:25:16 +08:00
How does Java reflection works ?
你这个???? 难道要把书的反射相关的章节都贴出来? 问的过于宽泛了应该是 |
6
arjen OP @Yuicon 应该是重复了,不过按照我的标题搜不到
要换种姿势,把 works 换成 implements 能找到一个答案... https://stackoverflow.com/questions/20461851/how-is-reflection-implemented-in-java |
7
dreamerlv3ex 2019-12-04 16:26:52 +08:00
握手,英文差的可怜.
|
8
arjen OP @google54321 我以为已经够具体了,看来还是想当然了。
@Seney 我也以为这样的问题会很多,不过还真的没找到,后来换了个词找到了 @maomaomao001 应该是我问的方式不对,本来是想了解一下底层的实现 |
9
arjen OP @dreamerlv3ex 哈哈,看都能看懂,一出手就词穷了。
|
10
ashong 2019-12-04 16:30:27 +08:00 via iPhone
这个知乎体提问方式更适合 quora
|
12
TtiGeR 2019-12-04 16:43:47 +08:00 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 2019-12-04 16:50:51 +08:00 via iPhone
so 一般不欢迎原理性、泛问题,比较适宜直接贴问题代码,展示 bug 或 error 类的情况
|
14
KentY 2019-12-04 17:01:49 +08:00 1
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 2019-12-04 17:16:48 +08:00
楼上最好的回答是 so 不欢迎原理性,泛问题。除非是很特殊的应用场景
|
16
arrow8899 2019-12-04 17:23:36 +08:00
问题太宽泛了,建议先读一下 jvm 相关书籍
|
18
Iamnotfish 2019-12-06 05:41:57 +08:00
讲个故事:因为我问的垃圾问题太多(自己太菜),SO 把我的号都给封了。
|
19
arjen OP @Iamnotfish 哈哈哈惨
|
20
waterlaw 2019-12-08 10:52:35 +08:00 via Android
看 jvm 源码, 还有 javac 本身就是反编译利器
|
21
PoetAndPoem 2019-12-09 16:12:36 +08:00
so 是啥
|