`
EalayKing
  • 浏览: 8782 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Java优化编程笔记——Java中的保留字

阅读更多
· final
final的应用范围:
1) 声明类的常量
2) 声明方法的常量参数
3) 声明不可覆盖的方法
4) 声明不可继承的类

针对2) 声明方法的常量参数:
  在声明一些方法时,为防止其参数被方法体中的语句更改,常将参数声明为final,但对于元数据类型是不需要的。
  
针对3) 声明不可覆盖的方法:
  使用final保留字不但可防止父类中的方法不被子类覆盖,还能加快应用的运行速度,提高系统性能(以类似C++中的内联函数(inline)的方式),
  方法被声明为final后,在编译应用程序时就能确定该方法的代码,并且编译器可以将该方法的代码插入到调用者代码处,因此提高了应用的运行速度,提高了系统效率。但内联也有一定的局限性,就是若方法体过大,一般的编译器会放弃内联方式,而采用普通的方式调用。
  
· for
  在for循环中,应尽量使用int作为步进因子变量的类型,使用int比使用byte或short更高效,因为采用它们,系统会隐式地把它们转化为int,耗费循环的执行时间,降低系统性能。
  
使用循环语句的几个建议:
1) 拷贝数组时,使用System.arraycopy()
2) 尽量避免在循环体中调用方法,因为方法调用是比较昂贵的
3) 最好避免在循环体内存取数组元素,比较好的方法是在循环体内采用临时变量,在循环体外更改数组的值,因为在循环体内使用变量比存取数组元素要快
4) 当没有使用JIT或HotSpot虚拟机时,尽量使用0值作为终结条件的比较元素,以提高循环语句的性能,如:
  for (int i = N - 1; i >= 0; i--) {...}

5) 尽量避免在循环体中使用try-catch块,最好在循环体外使用try-catch块以提高系统性能,如:
  do {
      try {
          ...
      } catch (Exception ex) {
          ...
      }
  } while (condition);

  上面的代码每执行一次循环,都要做try-catch检验,增大系统开销,正确的书写方式如下:
  try {
      do {
      ...
      } while (condition);
  } catch (Exception ex) {
      ...
  }

  这样在整个循环中只做一次try-catch检验,降低了系统开销
6) 在多重循环中,如果有可能,尽量将最长的循环放在最内层,最短的放在最外层,以减少循环层间的切换次数
分享到:
评论

相关推荐

    计算机Java核心编程笔记

    保留字是Java语言预定义的具有特定含义的关键字,如`boolean`、`if`和`for`。 2. **数据类型**:Java有两类数据类型——基本数据类型和引用数据类型。基本数据类型包括8种:`boolean`、`byte`、`short`、`int`、`...

    郝斌Java笔记.pdf

    ### 郝斌Java笔记知识点概览 #### 一、Java 概述 - **起源与发展**:Java 语言起源于 Sun 公司的 ...以上内容涵盖了郝斌 Java 笔记中的核心知识点,通过学习这些基础知识,可以为深入探索 Java 技术栈打下坚实的基础。

    达内JAVA培训笔记重点

    ### 达内JAVA培训笔记重点解析 #### 一、JAVA 语言的特点 1. **纯面向对象**:Java 是一种完全支持面向对象编程的语言。它提供了类、对象、继承、封装、...对于初学者来说,掌握这些基础知识是学习Java编程的第一步。

    Java期末考试复习笔记

    - 标识符不能是Java的关键字或保留字,如`true`、`false`、`null`等。 - `System`不是关键字,而是一个类,可以自定义名为`System`的类,但这不推荐。 - **基本数据类型**: - **逻辑类型**:`boolean`类型用于...

    黑马毕向东笔记

    ### 黑马毕向东笔记——Java基础知识精要 #### 一、Java概述 - **起源与发展**:Java语言起源于1991年的Sun公司,最初由James Gosling等人开发,名为Oak。Oak的设计初衷是为了控制嵌入式设备,如有线电视交换盒和...

    java高级知识-学习笔记

    在Java编程中,`Socket`(套接字)是一种用于网络通信的重要技术,它允许两台计算机之间进行双向数据传输。在计算机网络中,一个Socket可以视为连接两端的一个通道,它提供了应用程序间通信的能力。 ##### 1.2 如何...

    javaBAISC---1.1.docx

    Java基础入门笔记——第一阶段 在深入探讨Java编程之前,我们先来了解一下计算机系统和软件开发的基本概念。系统,这里指的是计算机系统,是由硬件和软件两部分组成的整体,硬件包括处理器、内存、硬盘等物理设备,...

    c#学习笔记.txt

    可以在方法中更改该值,但当控制传递回调用过程时,不会保留更改的值。通过使用方法参数关键字,可以更改这种行为。如果没有ref,out则默认为值传递,虽然可以在方法中修改这个参数的值,但是修改后的值不会还会到调用...

    android 记事本

    开发这样一个应用,你需要熟悉Android Studio的使用,理解Android组件的工作原理,以及Java编程语言的基本语法。此外,了解SQLite数据库操作、AlarmManager的使用以及如何创建自定义广播接收器也非常重要。通过这样...

    推荐一本J2EE颠覆者好书

    - `goto`和`const`为保留字,目前并未使用。 #### 3.2 标识符 - 可以由字母、数字、下划线`_`和美元符号`$`组成。 - 不能以数字开头。 - 不能是Java关键字。 - 大小写敏感。 #### 3.3 命名规则 - **见名知意**:...

    《计算机基础》名词解释.docx

    - **编写**: 使用不同的编程语言编写,如C++、Java等。 #### 34. 指令 - **定义**: 指令是一组二进制代码,由操作码和地址码组成,用于指示计算机执行特定的操作。 - **组成**: 包括操作码(表明要执行什么操作)和...

Global site tag (gtag.js) - Google Analytics