`
BUYAOZAIBEIDAOLE
  • 浏览: 29868 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

JAVA-性能调优-有条件地使用final 关键字

 
阅读更多
在Java 中,final 关键字可以被用来修饰类、方法和变量(包括成员变量和局部变量)。我们
在使用匿名内部类的时候可能会经常用到final 关键字,例如Java 中的String 类就是一个final 类。
如代码清单3-9 所示,由于final 关键字会告诉编译器,这个方法不会被重载,所以我们可以
让访问实例内变量的getter/setter 方法变成“final”。
代码清单3-9 非final 类
public void setsize (int size) {
_size = size;
}
private int _size;

代码清单3-10 final 类
//告诉编译器该方法不会被重载
final public void setsize (int size) {
_size = size;
}
private int _size;

总的来说,使用final 方法的原因有两个2。第1 个原因是把方法锁定,以防任何继承类修改它
的含义。第2 个原因是提高效率。在早期的Java 实现版本中,会将final 方法转为内嵌调用。但是
如果方法过于庞大,可能看不到内嵌调用带来的任何性能提升。JDK6 以后的Java 版本已经不再
需要使用final 方法进行这些优化了。
分享到:
评论

相关推荐

    Java性能调优PPT

    ### Java性能调优知识点概述 #### 一、高性能Java代码编写原则 - **算法与数据结构**:选择合适的数据结构可以极大地提升程序运行效率。例如,对于查找操作频繁的场景,哈希表(如`HashMap`)比链表或数组更高效。...

    最新Java程序性能优化.zip

    - 使用`final`关键字优化匿名内部类和方法引用,提高编译器优化的机会。 5. **并发与多线程优化**: - 使用线程池(ExecutorService)管理线程,避免大量创建销毁线程。 - 合理使用锁,如synchronized、...

    Java面试八股文十万字总结.docx

    final有哪些用法** - 修饰类:表示该类不可被继承。 - 修饰方法:表示该方法不可被重写。 - 修饰变量:表示该变量的值不可改变。 **20. static都有哪些用法** - 修饰成员变量和方法:类级别共享,不属于任何实例...

    JAVA面试核心知识点

    - 调优工具:知道如何使用JConsole, JVisualVM等工具进行JVM性能监控和调优。 以上只是Java面试核心知识点的一部分,实际面试中还可能涉及反射、注解、设计模式、Spring框架、数据库连接池、JMS消息队列等更深入的...

    Java开发手册 黄山版 2022年2月3号更新

    例如,可能会详细介绍如何正确使用final关键字,何时应该使用try-with-resources语句,以及如何编写可读性强的代码。 3. **并发编程**:Java在并发处理方面有着强大的支持。手册会涵盖线程安全、同步机制(如...

    实战JAVA虚拟机

    volatile、synchronized和final关键字都是JMM的重要概念,理解它们的作用有助于编写正确并发代码。 十、JVM未来发展 随着技术的进步,JVM也在不断演进,如引入G1垃圾收集器、Project Panama等,以适应更大规模、更...

    良葛格Java学习笔记

    - **变量与常量**:定义变量的规则,以及常量的声明(final关键字)。 - **运算符与表达式**:涵盖算术、比较、逻辑、位和三元运算符。 - **控制流**:条件语句(if-else)、循环(for、while、do-while)、跳转...

    java笔试题大集合及答案(另附各大公司笔试题).rar

    - **变量与常量**:了解如何声明、初始化和使用变量,以及定义常量(final关键字)。 - **运算符**:掌握算术、比较、逻辑、位和赋值运算符的用法。 - **流程控制**:包括if条件语句、switch选择语句、for、while...

    java编程规范编程规范编程规范

    - **避免使用**:`static final` 变量在类名前加上前缀(如 `ThisIsAClassName`)。 #### 2. 包命名与组织 - 使用小写字母,如 `com.org.net.edu`。 - 应该符合域名反向约定。 - 组织结构清晰,便于管理和查找。 #...

    JAVA程序员面试高频题

    - **变量与常量**:理解如何声明、初始化和使用变量,以及定义常量(final关键字)。 - **运算符**:掌握算术、关系、逻辑、位、赋值等不同类型的运算符。 - **流程控制**:包括条件语句(if-else, switch-case)...

    Java2023面试突击八股文-(八股文)

    - **变量与常量**:变量用于存储数据,常量则是不可更改的值,可以用final关键字定义。 - **流程控制**:包括条件语句(if-else, switch-case)和循环语句(for, while, do-while)。 - **方法**:Java中函数被...

    Java并发编程实践

    书中介绍了各种线程安全的实现方式,如synchronized关键字、volatile变量、final字段以及java.util.concurrent包中的工具类。 2. **并发工具类**:Java 5及以后版本引入了许多强大的并发工具,如ExecutorService、...

    ( java并发编程.zip )文字版 电子书 高清版

    10. **并发性能调优**:分析和监控并发程序的性能,使用JMX、JConsole、VisualVM等工具进行性能分析,以及如何调整线程池大小、内存设置等,都是提高并发程序性能的关键。 《Java并发编程》一书深入浅出地讲解了...

    Java基础知识点总结.docx

    Java的关键字有特定用途,如public、private、protected、static、final、abstract、void等,它们在程序中扮演重要角色。 五、异常处理(★★★★): Java通过try-catch-finally结构处理异常,提供了一种优雅的...

    java 面试葵花宝典

    - **变量与常量**:理解变量的声明、初始化和作用域,以及final关键字定义常量。 - **运算符**:掌握算术、关系、逻辑、位和赋值运算符的用法。 - **流程控制**:包括if条件语句、switch选择语句、for、while和do...

    Java 面试宝典 2010版

    2. **变量与常量**:理解如何声明、初始化和使用变量,以及常量的概念,如final关键字的用法。 3. **运算符**:掌握算术、关系、逻辑、位、赋值等运算符的使用规则。 4. **流程控制**:包括条件语句(if-else, ...

    java笔试题大集合及答案(另附各大公司笔试题).zip

    - **变量与常量**:了解如何声明和初始化变量,以及如何定义常量(final关键字)。 - **运算符**:掌握算术、比较、逻辑、位和赋值运算符的用法。 - **流程控制**:包括条件语句(if-else, switch-case)和循环...

    java互联网架构技术点+中大型项目实战(一)(csdn)————程序.pdf

    重点掌握volatile、final关键字的作用,了解happens-before原则,以及线程间的内存屏障。此外,还需理解内存泄漏和垃圾回收机制,确保程序的内存效率。 3、JVM调优案例式实战化指导 JVM作为Java程序的运行平台,其...

    Java面试题大全,一些常用的题目

    理解JVM的工作原理,包括类加载机制、内存模型、垃圾回收策略等,有助于进行性能调优。面试时,面试官可能会提问关于JVM参数设置、内存溢出分析、GC日志解读等内容。 十一、框架与库 常见的Java开发框架如Spring、...

    java JVM standard

    volatile、synchronized、final等关键字都是为了保证内存可见性和有序性。 6. **多线程**:JVM原生支持多线程,每个线程都有自己的程序计数器和虚拟机栈。线程间的通信和同步通过锁、条件变量、原子变量等方式实现...

Global site tag (gtag.js) - Google Analytics