gpt4 book ai didi

java - 如果在java中编译时替换Getter/Setter;如何才能实现他们的目的呢?

转载 作者:行者123 更新时间:2023-12-02 09:07:16 24 4
gpt4 key购买 nike

我是java新手。我一直在阅读有关 Getter/Setter 的内容( Why to use getter/settergetter/setter poor design )。当我读到 Oracle Understanding JIT 时。我有两个问题如下:

我的问题是,如果 JIT 在编译代码时用实际值替换一些 getter/setter,如何实现 getter/setter 的目的?

我们如何实现封装?

最佳答案

if JIT replaces some getters/setters with actual value while compiling a code how purpose of getter/setter is fulfilled in java particular ?

因为这只是一种优化。 getter 和 setter 仍然按照预期工作 - 如果您稍后更改实现以使用不同的字段或其他机制,JIT 编译器也必须更改它转换代码的方式。

在大多数情况下,您对程序设计的推理根本不应该关心 JIT 编译器 - 这是关于您的程序如何执行的实现细节。您可能很想偶尔关心它以获得更好的性能,但是无论您的程序设计是否仍然有效,它都不会改变。

仅仅因为 JIT可能编译使用 getter 直接有效地获取字段的代码,并不意味着您自己公开公开该字段是合适的 - 这会公开实现细节,使其成为可能以后很难改变。如果您稍后更改使 JIT 编译的代码无效的内容也没关系,因为当您运行新代码时,JIT 编译器无论如何都不会知道它对旧代码做了什么。

关于java - 如果在java中编译时替换Getter/Setter;如何才能实现他们的目的呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37109924/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com