有哪些高超的Java代码技巧

技巧有:1、尽量使用基本数据类型,避免自动装箱和拆箱;2、尽量使用函数内的基本类型临时变量;3、尽量不要在循环体外定义变量;4、禁止使用JSON转化对象;5、尽量指定类的final修饰符。装箱和拆箱都是需要CPU和内存资源的,应避免使用自动装箱和拆箱。

有哪些高超的Java代码技巧-Worktile社区

1、尽量使用基本数据类型,避免自动装箱和拆箱

Java 中的基本数据类型double、float、long、int、short、char、boolean,分别对应包装类Double、Float、Long、Integer、Short、Character、Boolean。 JVM支持基本类型与对应包装类的自动转换,被称为自动装箱和拆箱。装箱和拆箱都是需要CPU和内存资源的,所以应尽量避免使用自动装箱和拆箱。

2、尽量使用函数内的基本类型临时变量

在函数内,基本类型的参数和临时变量都保存在栈(Stack)中,访问速度较快;对象类型的参数和临时变量的引用都保存在栈(Stack)中,内容都保存在堆(Heap)中,访问速度较慢。在类中,任何类型的成员变量都保存在堆(Heap)中,访问速度较慢。

3、尽量不要在循环体外定义变量

在老版JDK中,建议“尽量不要在循环体内定义变量”,但是在新版的JDK中已经做了优化。通过对编译后的字节码分析,变量定义在循环体外和循环体内没有本质的区别,运行效率基本上是一样的。反而,根据“ 局部变量作用域最小化 ”原则,变量定义在循环体内更科学更便于维护,避免了延长大对象生命周期导致延缓回收问题 。

4、禁止使用JSON转化对象

JSON提供把对象转化为JSON字符串、把JSON字符串转为对象的功能,于是被某些人用来转化对象。这种对象转化方式,虽然在功能上没有问题,但是在性能上却存在问题。

5、尽量指定类的final修饰符

为类指定final修饰符,可以让该类不可以被继承。如果指定了一个类为final,则该类所有的方法都是final的,Java编译器会寻找机会内联所有的final方法。内联对于提升Java运行效率作用重大,具体可参见Java运行期优化,能够使性能平均提高50%。

延伸阅读:

什么是JAVA?

Java programming language具有大部分编程语言所共有的一些特征,被特意设计用于互联网的分布式环境。Java具有类似于C++语言的”形式和感觉”,但它要比C++语言更易于使用,而且在编程时彻底采用了一种”以对象为导向”的方式。使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的服务器端和客户端运行。另外,Java还可以被用来编写容量很小的应用程序模块或者applet,做为网页的一部分使用。applet可使网页使用者和网页之间进行交互式操作。

Java是Sun微系统公司在1995年推出的,推出之后马上给互联网的交互式应用带来了新面貌。最常用的两种互联网浏览器软件中都包括一个Java虚拟机。几乎所有的操作系统中都增添了Java编译程序。

使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的服务器端和客户端运行。另外,Java还可以被用来编写容量很小的应用程序模块或者applet,做为网页的一部分使用。applet可使网页使用者和网页之间进行交互式操作。

文章标题:有哪些高超的Java代码技巧,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37186

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年2月6日 下午10:44
下一篇 2023年2月6日 下午10:46

相关推荐

  • 实现看板系统得有哪些功能

    实现看板系统得有以下功能:一、看板环路;二、看板计算;三、看板执行;四、看板图形;五、看板预警;六、质量可追溯性。看板管理系统提供看板环路设置功能。通过指定看板物料、供应源、目的地、看板张数、补货时间、运输时间和看板环路的其他信息。 一、看板环路 看板管理系统提供看板环路设置功能。通过指定看板物料、…

    2023年4月24日
    1100
  • 冒烟测试和回归测试的区别

    冒烟测试和回归测试的区别是:冒烟测试主要是在新版本发布后,对其最基本的功能进行测试,保证最基本流程能走通,以便进行后续的测试回归测试主要是验证之前版本产生的所有缺陷已全部被修复和确认修复这些缺陷没有引发新的缺陷。 冒烟测试 这一术语源自硬件行业。对一个硬件或硬件组件进行更改或修复后,直接给设备加电。…

    2023年1月31日
    18800
  • 为什么要建立知识库

    原因有:一、提高知识管理效率;二、促进知识共享和协作;三、改善员工培训和学习;四、提高客户满意度;五、提高企业竞争力。企业面临着大量的知识资料,这些资料的数量庞大、种类繁多,如果不进行有效的管理和利用,就会造成信息孤岛和信息浪费。 一、提高知识管理效率 企业面临着大量的知识资料,包括各种文档、报告、…

    2023年4月27日
    500
  • C语言中printf函数里转义字符“\\”存在的意义

    反斜杠 \ 是C语言中一个非常重要的转义字符,它的存在使得我们可以方便地在输出中使用各种特殊符号,同时也可以用于转义一些特殊的字符。在C语言中,理解并熟练掌握反斜杠 \ 的用法是非常重要的。 在C语言中,printf函数是非常常用的一个输出函数。我们可以使用printf函数在控制台输出各种各样的信息…

    2023年2月28日
    14500
  • 知识库用什么网站写

    知识库用以下网站写:一、Helpjuice;二、Baklib;三、ProProfs;四、Flowlu;五、KnowledgeOwl。Helpjuice是2011年成立于美国迈阿密的SaaS服务网站,专业提供企业知识库制作服务,目前已有数千家用户,得到亚马逊、TCL、paycor等知名企业的青睐。He…

    2023年3月19日
    2100
  • 怎么设计商标logo

    设计商标logo的方法:1、简化图案作文字商标;2、图文融合的商标;3、使用与品牌关联高的图形;4、考虑所有类型的logo风格等。简化图案作文字商标是指,将商标名称或简称设计为标志,即不做图形,只做字体设计,品牌名即标志、标志即品牌名。 1、简化图案作文字商标 最为直接的做法是将商标名称或简称设计为…

    2023年3月25日
    2900
  • java 根集 哪些

    jav根集有:1、局部变量集合;2、参数集合;3、类变量集合。局部变量是指,在某个语句或者代码块中声明。当该语句或代码块被调用时,每次都创建相关的局部变量。 1、局部变量集合 在某个语句或者代码块中声明。当该语句或代码块被调用时,每次都创建相关的局部变量。在一个局部变量的声明语句中可能包含有用于初始…

    2023年1月9日
    3300
  • 需求评审主要评审什么

    需求评审主要评审:1、范围评审,明确需求范围,难点在于明确不做什么;2、低保真评审,初步明确大致的样式交互及业务逻辑方案,难点在于做好需求和成本间的衡量;3、方案评审,关注粒度更细的方案细节,难点在于逻辑覆盖的全面程度。 需求评审的内容 需求评审的内容主要有范围评审、低保真评审和方案评审。 1、范围…

    2022年11月16日
    75200
  • 大规模敏捷实践怎么从0-1

    大规模敏捷实践从0-1的方法:1、将团队协调放在首位;2、使用架构跑道来管理技术复杂性;3、协调基于特征的开发和系统分解;4、使用质量属性方案来阐明体系结构上重要的要求;5、使用测试驱动开发并持续关注。其中,团队协调是大规模敏捷实践的基础。 1、将团队协调放在首位 Scrum是当今最常用的敏捷项目管…

    2023年1月2日
    4400
  • 什么是非关系型数据库

    非关系型数据库也称为 NoSQL 数据库,请注意,NoSQL 的本意是“Not Only SQL”,指的是非关系型数据库,而不是“No SQL”(没有SQL)的意思。NoSQL 数据库的产生之初并不是要彻底地否定和终结关系型数据库,而是作为传统关系型数据库的一个有效补充。 一、什么是非关系型数据库 …

    2023年6月4日
    200

发表回复

登录后才能评论
联系我们
站长微信
站长微信
分享本页
返回顶部