当前位置: 首页 > 知识库问答 >
问题:

在方法中局部指定对象成员变量是否有好处?[重复]

卢黎昕
2023-03-14

在Netty中,我经常看到在类方法中本地分配对象成员变量。这是一个风格问题还是有计划性的好处?

我在下面包含了一个代码片段:

public ChannelFuture bind() {
    validate();
    SocketAddress localAddress = this.localAddress;
    if (localAddress == null) {
        throw new IllegalStateException("localAddress not set");
    }
    return doBind(localAddress);
}

共有1个答案

傅英喆
2023-03-14

当多线程是一个问题时,我通常会看到这种模式。例如,如果另一个线程可能在空值检查后更改成员值或为空,但它仍然是在该点发生成员访问的有效用例。或者代码试图避免锁定/同步。因此,将成员复制到本地,并使用本地副本执行所有后续操作,以防止空访问。

 类似资料:
  • 本文向大家介绍成员变量与局部变量的区别有哪些?相关面试题,主要包含被问及成员变量与局部变量的区别有哪些?时的应答技巧和注意事项,需要的朋友参考一下 从语法形式上看:成员变量是属于类的,而局部变量是在方法中定义的变量或是方法的参数;成员变量可以被 public,private,static 等修饰符所修饰,而局部变量不能被访问控制修饰符及 static 所修饰;但是,成员变量和局部变量都能被 fin

  • 问题内容: 我正在寻找类似于ThreadLocal的类,该类将在线程组而不是线程上工作。 如果没有这样的类(在某些开源库中),您将如何实现它?比在WeakHashMap中拥有线程组更好的主意? 我正在使用全局,每个线程和每个线程组上下文中的各种参数在运行时实现可调试的调试框架。作为一个非常简单的示例,您可以有一个报告语句: 并指定只有当服务网络请求的线程组中的某个线程调用该线程时,才会显示具有该特

  • 本文向大家介绍java中成员变量与局部变量区别分析,包括了java中成员变量与局部变量区别分析的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了java中成员变量与局部变量区别。分享给大家供大家参考。具体分析如下: 成员变量:在这个类里定义的私有变量,属于这个类。 创建以及使用成员变量 成员变量初始化过程 一、类的初始化 对于类的初始化:类的初始化一般只初始化一次,类的初始化主要是初始化静态

  • 问题内容: 好的,我知道标题不能完全解释这个问题。因此,我正在编写一个执行大量计算的程序,并尝试对其进行优化,以使其运行不会太慢。我有一个函数,该函数是一个类的成员,该函数被调用约500万次。这是功能: 我想知道在类中声明变量vpPointx和vpPointy是否比每次调用函数时声明它们更好/更快。这将是一个很好的优化还是效果不大? 通常,如果这里有任何可以优化的内容,请告诉我。 问题答案: 通过

  • 本文向大家介绍Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析,包括了Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python面向对象程序设计类变量与成员变量、类方法与成员方法用法。分享给大家供大家参考,具体如下: 类变量与成员变量 在类中声明的变量我们称之为类变量[静态成员变量], 在init

  • 问题内容: 也许这比技术问题更像是一种样式问题,但是我有一个包含多个成员变量的类,并且我想让它起作用,以便在用户第一次创建该类的实例时初始化一些成员变量(即在该功能),我想其他的成员变量从成员函数参数,将稍后被称为定义。所以我的问题是我应该初始化函数中的所有成员变量(并将稍后定义的变量设置为虚拟值)还是初始化函数中的某些成员以及后续函数中的某些成员变量。我意识到这可能很难理解,因此这里有一些示例。