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

JAVA性能调优-避免对boolean 判断

 
阅读更多
Java 里的boolean 数据类型被定义为存储8 位(1 个字节)的数值形式,但只能是true 或是false。
有些时候我们出于写代码的习惯,经常容易导致习惯性思维,这里指的习惯性思维是想要对
生成的数据进行判别,这样感觉可以在该变量进入业务逻辑之前有一层检查、判定。对于大多数
的数据类型来说,这是正确的做法,但是对于boolean 变量,我们应该尽量避免不必要的等于判定。
如果尝试去掉boolean 与true 的比较判断代码,大体上来说,我们会有两个好处。
 代码执行得更快(生成的字节码少了5 个字节);
 代码整体显得更加干净。
例如代码清单3-3 和3-4 所示,我们针对这个判定进行了代码解释,这两个类只有一个差距,
即是否调用了等号表达式进行了一致性判定,如代码
string.endswith ("a") == true。

56 ■ 大话Java 性能优化
代码清单3-3 boolean 示例1
boolean method (string string) {
return
分享到:
评论

相关推荐

    java基础教程----精华版

    Java是一种广泛使用的面向对象的编程语言,以其平台独立性、安全性、健壮性和高性能而闻名。这个"java基础教程----精华版"显然是一份精心整理的资料,旨在帮助初学者快速掌握Java编程的基础知识。下面将详细介绍Java...

    cxf-xjc-boolean-2.2.12.jar

    cxf-xjc-boolean-2.2.12.jar,发布Webservice所使用辅助jar

    阿里云javasdk源码-aliyun-java-sdk-dysmsapi:阿里云短信接口sdk

    aliyun-java-sdk-dysmsapi 阿里云短信接口sdk 见阿里云地址 由于阿里云不提供业务性质的maven中心库包,因此我将其源码上传到了我个人的maven中心库下。 maven 中心库地址 <groupId>...

    java jvm调优浅谈

    JVM 的调优对于 Java 程序的性能和稳定性至关重要。下面对 JVM 调优的相关知识点进行了详细的解释。 数据类型 在 Java 虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即它代表...

    55.053.JAVA基础教程_Java基本语法-boolean型变量的使用(55).rar

    在Java中,基本数据类型是编程中不可或缺的部分,而`boolean`类型就是其中之一。本教程将深入探讨Java中的`boolean`型变量及其使用。 `boolean`类型在Java中用于存储布尔值,即真(`true`)或假(`false`)。这种...

    深入虚拟机---JVM调优总结(摘自网上网上大牛分享).pdf

    为了解决这些问题,开发者需要对JVM的运行进行细致的监控和分析,比如使用JVM提供的监控工具和参数来进行性能调优。 最后,在JVM调优的过程中,我们还需要关注内存中的内容分布,如何在堆和栈之间合理分配数据,...

    java-1-sample

    Java是一种广泛使用的面向对象的编程语言,以其跨平台、高性能和丰富的类库而著名。"java-1-sample"这个标题可能表示这是一个关于Java编程的基础示例或者教程,它可能涵盖了Java语言的核心概念和常用特性。 在描述...

    Java基础入门--教学课件--PPT

    - **数据类型**:Java有两大类数据类型,基本类型(如int、char、boolean)和引用类型(如类、接口和数组)。 - **变量**:存储数据的地方,声明时需指定数据类型。 - **运算符**:包括算术运算符、比较运算符、...

    javalist数据结构-Java数据结构-------List.pdf

    Java中的List接口是集合框架的重要组成部分,它定义了一组有序的元素序列,允许有重复的元素。ArrayList、Vector和LinkedList都是List接口的实现类,它们各自具有不同的特性和使用场景。 1. ArrayList: ArrayList...

    java-websocket jar包

    在Android环境中,使用`java-websocket`库时,需要注意网络操作需要在后台线程中执行,以避免因主线程阻塞引发的ANR(Application Not Responding)错误。同时,需要确保AndroidManifest.xml中包含了对应的网络权限...

    graphql-java-extended-scalars:graphql-java的扩展标量库

    graphql-java的扩展标量 该库为提供扩展的标量 graphql中的标量是查询的叶节点,无法通过子字段选择进一步查询非复合值。 graphql标准指定在graphql类型的系统中必须存在String , Int , Float , Boolean和ID...

    2d-polygon-boolean:在 2d 中对任意多边形执行布尔运算

    npm install 2d-polygon-boolean 用 签名 var polygons = polygonBoolean(array1, array2, mode) 其中模式是字符串and (相交), or (联合), not (切割) polygons是数组数组的数组 例如 [ [ [ 0 , 0 ] ,...

    精通java集合框架--List,Set..

    - `boolean isEmpty()`:判断集合是否为空。 - `boolean contains(Object element)`:检查集合中是否包含指定元素。 - `Iterator iterator()`:返回一个迭代器,用于遍历集合中的元素。 #### Iterator接口 `...

    Java Methods-Boolean Expressions and if-else Statements.ppt

    Java 方法 - 布尔表达式和 if-else 语句 Java 中的布尔表达式和 if-else 语句是非常重要的编程概念,本节将详细介绍布尔数据类型、if-else 语句、关系运算符、逻辑运算符、De Morgan’s Laws、短路运算符号、嵌套 ...

    java-websocket-1.3.0.jar

    Java WebSocket是一个轻量级、高性能的WebSocket客户端和服务器库,专为Java开发人员设计,用于在Web应用程序中实现低延迟、双向通信。标题中的"java-websocket-1.3.0.jar"指的是这个库的特定版本,即1.3.0版的编译...

    Java-Java中的判断与关系运算教程

    在Java编程语言中,判断与关系运算构成了程序逻辑的基础,它们是控制程序流程的关键元素。在本教程中,我们将深入探讨这些概念,并了解如何在实际编程中应用它们。 首先,让我们了解一下关系运算符。Java提供了以下...

    java-java-lang包.pdf

    Java编程语言中的java.lang包是一个核心包,它提供了Java语言运行时的基础类库,包含了Java程序运行的基本数据类型、异常处理类以及一些用于系统级别的工具类和接口。java.lang包中的类和接口不需要程序员显示地导入...

    Java学习手册-零基础

    以上只是Java学习的基础知识,随着深入学习,还将涉及数据库连接、框架(如Spring、MyBatis)、设计模式、并发编程、性能优化等多个领域。对于初学者,建议从简单的程序开始,逐步理解并掌握这些基础知识,然后通过...

    Java(通过ganymed-ssh2-build210.jar)实现SSH远程连接linux终端

    Java通过ganymed-ssh2-build210.jar库实现SSH远程连接Linux终端是一个常见的应用场景,主要用于自动化运维、系统管理或者开发过程中需要与Linux服务器交互的场景。ganymed-ssh2-build210.jar是Java的一个开源SSH库,...

    用java实现bit-vector的功能

    在这个实现中,`set()`方法通过或运算(|)来设置指定位置的位,`clear()`方法通过按位与操作(&)和补码来清除指定位置的位,而`get()`方法则通过检查该位置的位是否为1来判断其状态。这里的`capacity`参数决定了...

Global site tag (gtag.js) - Google Analytics