V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
arjen
V2EX  ›  Java

StackOverflow 上刚提问的问题就被关闭了..

  •  
  •   arjen ·
    arjenzhou · 2019-12-04 16:18:36 +08:00 · 5349 次点击
    这是一个创建于 1595 天前的主题,其中的信息可能已经有所发展或是发生改变。

    上午在 StackOverflow 上提了个问题,过了三个小时就被关闭了...

    How does Java reflection works? [closed]

    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.

    没有给出关闭的理由,有点好奇是提问的方式不对吗?同时这个问题想听听大手子的回答。

    21 条回复    2019-12-09 16:12:36 +08:00
    arjen
        1
    arjen  
    OP
       2019-12-04 16:19:17 +08:00
    其中有一个回复

    > 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
    Yuicon
        2
    Yuicon  
       2019-12-04 16:21:27 +08:00
    重复了吧这么常见的问题
    google54321
        3
    google54321  
       2019-12-04 16:23:47 +08:00
    问题不够具体 @arjen
    Seney
        4
    Seney  
       2019-12-04 16:25:00 +08:00
    这种问题太多了吧 冗余问题 有权限的大佬肯定是会关闭的
    maomaomao001
        5
    maomaomao001  
       2019-12-04 16:25:16 +08:00
    How does Java reflection works ?


    你这个???? 难道要把书的反射相关的章节都贴出来?

    问的过于宽泛了应该是
    arjen
        6
    arjen  
    OP
       2019-12-04 16:25:56 +08:00
    @Yuicon 应该是重复了,不过按照我的标题搜不到
    要换种姿势,把 works 换成 implements 能找到一个答案...
    https://stackoverflow.com/questions/20461851/how-is-reflection-implemented-in-java
    dreamerlv3ex
        7
    dreamerlv3ex  
       2019-12-04 16:26:52 +08:00
    握手,英文差的可怜.
    arjen
        8
    arjen  
    OP
       2019-12-04 16:27:40 +08:00
    @google54321 我以为已经够具体了,看来还是想当然了。
    @Seney 我也以为这样的问题会很多,不过还真的没找到,后来换了个词找到了
    @maomaomao001 应该是我问的方式不对,本来是想了解一下底层的实现
    arjen
        9
    arjen  
    OP
       2019-12-04 16:28:05 +08:00
    @dreamerlv3ex 哈哈,看都能看懂,一出手就词穷了。
    ashong
        10
    ashong  
       2019-12-04 16:30:27 +08:00 via iPhone
    这个知乎体提问方式更适合 quora
    arjen
        11
    arjen  
    OP
       2019-12-04 16:33:04 +08:00
    @ashong 确实有点写文章的感觉🤣
    TtiGeR
        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?
    rogwan
        13
    rogwan  
       2019-12-04 16:50:51 +08:00 via iPhone
    so 一般不欢迎原理性、泛问题,比较适宜直接贴问题代码,展示 bug 或 error 类的情况
    KentY
        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.
    hehheh
        15
    hehheh  
       2019-12-04 17:16:48 +08:00
    楼上最好的回答是 so 不欢迎原理性,泛问题。除非是很特殊的应用场景
    arrow8899
        16
    arrow8899  
       2019-12-04 17:23:36 +08:00
    问题太宽泛了,建议先读一下 jvm 相关书籍
    arjen
        17
    arjen  
    OP
       2019-12-04 17:58:13 +08:00
    Iamnotfish
        18
    Iamnotfish  
       2019-12-06 05:41:57 +08:00
    讲个故事:因为我问的垃圾问题太多(自己太菜),SO 把我的号都给封了。
    arjen
        19
    arjen  
    OP
       2019-12-06 06:19:07 +08:00 via Android
    @Iamnotfish 哈哈哈惨
    waterlaw
        20
    waterlaw  
       2019-12-08 10:52:35 +08:00 via Android
    看 jvm 源码, 还有 javac 本身就是反编译利器
    PoetAndPoem
        21
    PoetAndPoem  
       2019-12-09 16:12:36 +08:00
    so 是啥
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3250 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 13:28 · PVG 21:28 · LAX 06:28 · JFK 09:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.