美文网首页
个人Java编码小技巧

个人Java编码小技巧

作者: atdoking | 来源:发表于2019-12-26 22:04 被阅读0次

1、如果两个字符串在一个循环中使用+操作符进行拼接,那么每次循环都会产生一个新的字符串对象。这不仅浪费内存空间同时还会影响性能。

如果初始化字符串对象,尽量不要使用构造方法,而应该直接初始化,比如:

//比较慢的初始化
String bad = new String("Hello World!");
//比较快速的初始化
String good = "Hello World!"

2、Java编程中创建一个对象的花费是很大的,因此最好在有需要的时候再进行对象的创建或初始化

public class Employees
{
    private List Employees;
    public List getEmployees()
    {
        //当有需要的时候再初始化
        if(null == Employees)
        {
            Employees = new ArrayList();
        }
        return Employees;
    }
 
}

3、数组和ArrayList的区分

数组是定长的,而ArrayList是变长的。由于数组长度是固定的,因此在生命数组时就已经分配好内存了。而数组的操作则会更快一些。另一方面,如果不知道数据的大小,那么过多的数据便会导致ArrayOutofBoundException,而少了又会浪费存储空间
ArrayList在增删元素方面比数组简单
数组可以是多维的,但ArrayList只能是一维的。、
try块的finally块没有被执行
System.exit会挂起所有县城的执行,包括当前县城。即便是try语句后的finally块,只要是执行了exit,就不会再执行
在调用System.exit时,JVM会在关闭前执行两个结束任务:
首先,它会执行完所有通过Runtime.addShutdownHook注册进来的终止的钩子程序。这一点很关键,因为它会释放JVM外部的资源。

接下来的便是Finalizer了。可能是System.runFinalizersOnExit也可能是

Runtime.runFinalizersOnExit。finalizer的使用已经被废弃有很长一段时间了。finalizer可以在存活对象上进行调用,即便是这些对象仍在被其它线程所使用。而这会导致不可预期的结果甚至是死锁。

4、内存泄露会导致软件的性能降级。由于Java是自动管理内存的,因此开发人员并没有太多办法介入。不过还是有一些方法能够用来防止内存泄露的。

查询完数据后立即释放数据库连接
尽可能使用finally块
释放静态变量中的实例
5、某些Java程序是CPU密集型的,但它们会需要大量的内存。这类程序通常运行得很缓慢,因为它们对内存的需求很大。为了能提升这类应用的性能,可得给它们多留点内存。因此,假设我们有一台拥有10G内存的Tomcat服务器。在这台机器上,我们可以用如下的这条命令来分配内存:

export JAVA_OPTS="$JAVA_OPTS -Xms5000m -Xmx6000m -XX:PermSize=1024m -XX:MaxPermSize=2048m"

Xms = 最小内存分配
Xmx = 最大内存分配
XX:PermSize = JVM启动时的初始大小
XX:MaxPermSize = JVM启动后可分配的最大空间

相关文章

  • 个人Java编码小技巧

    1、如果两个字符串在一个循环中使用+操作符进行拼接,那么每次循环都会产生一个新的字符串对象。这不仅浪费内存空间同时...

  • 2019年成为优秀的Java开发人员的10个技巧

    这些建议和技巧将帮助您提高编程和编码技能,这对于成为优秀的Java开发人员至关重要。这些技巧对核心Java开发人员...

  • 89. 格雷编码

    这个题其实有个小技巧(个人一直觉得这种所谓的“技巧”其实并不能真正提高编程能力),就是编码的规律。什么规律呢?通过...

  • 2018-10-16encoding

    encoding 关于中文编码(gb) 这里有几个小技巧:一、在php中,字符编码是按所发送的编码为准的,因此使用...

  • 常用工具类

    待整理 编码习惯之工具类规范Java 编程技巧之数据结构 概述 工具类的选择顺序:语言自带(java)>专用工具类...

  • Java设计模式之09_Adapter(适配器模式)

    更多Java设计模式:Java设计模式-目录 一、模式动机 在软件开发中采用类似于电源适配器的设计和编码技巧被称为...

  • 微信小程序:小技巧系列合辑No.1

    微信小程序小技巧系列《二》show内容展示,上传文件编码问题 : http://www.wxapp-union.c...

  • Base64编码

    在Java 8中,Base64编码已经成为Java类库的标准。 Java 8 内置了 Base64 编码的编码器和...

  • 由@NotNull 注解引出的关于Java空指针的控制(转)

    由@NotNull 注解引出的关于Java空指针的控制(转) Java 小技巧和在java应用避免NullPoni...

  • Java小技巧

    1. 数值转字符串 使用空字符串连接数值会变成字符串 2. 数值太长友好表示 使用_分割数值,值不变 3.随机字符...

网友评论

      本文标题:个人Java编码小技巧

      本文链接:https://www.haomeiwen.com/subject/cyzloctx.html