在Java开发中,程序员应避免尽可能多地创建相同的功能,因为这不仅会消耗内存并影响程序操作速度。在这种情况下,您可以考虑重复对象。
接下来,我们将反复给我一个场景,以查看我们是否有窍门。如果我们快点悄悄地更改它,发现它会被禁用!
似乎没有以下两种方式没有区别,但是如果您了解JVM的底层,我们可以使用JVM的特征来运行频率池,以避免创建具有相同功能的字符串对象(尤其是在循环)。绩效优化和内存。
错误
正确写作
此外,只编写Java代码的程序员还需要选择字符串,StringBuilder和StringBuffer的使用。String是一个非特征的对象,通常用于定义常数字符串;StringBuilder和StringBuffer用于可变字符串操作方案,例如字符串缝合;在StringBuffer为螺纹的情况下,它可以通过同步关键字实现线程同步。
布尔是一种常见的类型。在开发中,还应使用boolean.valueof()代替新的boolean()。从布尔值的源代码中可以看出,布尔类别定义了两个最后一个站的属性和布尔值。valueof()直接。回到这两个属性,new boolean()将创建新对象。
Java提供了基本数据类型的自动拳击和拳击功能。这是否意味着我们可以在代码中使用这两种类型?实际上,代码级别没有问题,但是在特定性能中仍然存在优化的空间!
让我们测试性能
使用整数需要3毫秒
使用int服用0毫秒
因此,我们实际上可以考虑使用自动拳击和加载。毕竟,有时代码性能会稍微挤出一点!
我们经常使用该字符串是否合法的验证。让我们首先看一个简单的代码(您一目了然地看到问题吗?我认为您必须看到它!!!):
执行此代码的时间总共消耗了71毫秒,似乎很快!
但是我们进行了非常简单的优化。优化代码如下所示:
再次执行代码,总共消耗1毫秒,更快地消耗70倍!
这是因为当String.Matches()方法是在周期中创建的时进入有限的状态(有限有限的(有限的机器)。我们通常会忽略性能,因为Java API提供了更方便的方法调用,并且通常不容易找到。咬文本“!