程序员必备的 Java 技巧和窍门

javaserver side programmingprogramming

Java 是一种功能强大且用途广泛的编程语言。它用于各种应用程序。它以可靠性、可移植性和安全性而闻名,这使其成为开发人员的热门选择。Java 也非常容易学习,这使其成为初学者的热门选择。

但是,重要的是要记住,简单性可能是一个障碍。如果您不小心,您可能会被 Java 的易用性所困扰,而忽略了探索该语言提供的独特机会。

让我们来看看一些技巧,以帮助您成长为 Java 开发人员并提高您的语言能力。

技巧 1:永远不要忽视基础知识

要成为一名优秀的 Java 开发人员,您必须首先精通基础知识。许多概念,例如"语法"、"数据类型"、"运算符"、"控制流"和"面向对象编程概念",都应该列在您的学习计划中。在哪里学习?市场上有许多资源,无论是书籍、在线课程还是教程。所有这些资源都将帮助您了解基础知识。

您不仅要了解语法,还要提高解决问题的能力。这样,您可能会成为一名进步的开发人员。

提示 2:了解源代码和算法

理解您正在开发的任何程序的源代码和算法至关重要。只有一个"if else"语句的简单程序将证明这一点。如果您熟悉源代码,您将更好地理解程序的功能并解决出现的任何问题。

如果您是初学者,在纸上列出源代码会很有帮助。那是在开始编码之前。这样可以更轻松地了解程序的流程并发现任何可能的问题。

您可以开始将程序分解为更小的组件。那是在您掌握源代码的时候。这可以帮助您了解程序的运行方式并更轻松地解决任何潜在问题。

提示 3:始终记住分配内存

在 Java 中,内存是在运行时分配的。

在为对象分配内存时必须使用 new 关键字,如果不使用 new 关键字,您将收到 NullPointerException。这样做的原因是,由于尚未创建对象,因此不会为该对象预留任何内存。

让我们举一个例子来更好地理解这一点。以下代码不起作用:

int[] array = {1, 2, 3};

此示例不存在编译问题。但在运行时,它仍会引发 NullPointerException。没有为数组留出任何内存。这是因为尚未创建内存。

要修复此代码,您需要使用 new 关键字:

int[] array = new int[3];

此代码将在运行时为数组分配内存,从而避免 NullPointerException。

提示 4:避免创建不需要的对象

在 Java 中创建对象时,您会在计算机内存中为该对象保留空间。这些空间用于存储对象的数据和方法。

创建的对象越多,使用的内存就越多。这将导致程序运行缓慢。甚至会导致内存不足错误。

为避免内存泄漏,您应该注意在 Java 代码中创建的对象数量。

提示 5:应选择原始类而不是包装类

表示原始数据类型的对象称为包装类。它们经常用于为原始数据类型提供更多功能,包括存储空值的能力。包装器类比原始数据类型需要更多的内存和处理能力,因此它们可能比后者更慢。

示例

给定的 Java 代码定义了一个类,其中有一个 main 方法,用于比较两组整数:原始变量 num_1 和 num_2,它们的值相同,均为 10,因此第一个打印语句显示"true"。

类似地,Integer 包装器对象 wrapnum_1 和 wrapnum_2 自动装箱为相同的值,因此第二个打印语句也显示"true",因为使用 equals 方法比较它们的值。

算法

  • 步骤 1:声明两个 int 变量,num_1 和 num_2。然后,将它们初始化为 10。

  • 步骤 2:声明两个整数变量,wrapnum_1 和 wrapnum_2。然后,将它们初始化为 10。

  • 步骤 3:使用 == 运算符比较 num_1 和 num_2。这将比较两个变量的引用值。由于两个变量引用同一个对象,因此输出为 true。

  • 步骤 4:使用 equals() 方法比较 wrapnum_1 和 wrapnum_2。注意:它将比较两个变量的值。由于两个变量具有相同的值,因此输出为 true。

示例

public class WrapperComparison {
    public static void main(String[] args) {
        int num_1 = 10;
        int num_2 = 10;
        Integer wrapnum_1 = 10;
        Integer wrapnum_2 = 10;

        System.out.println(num_1 == num_2);      // Output: true
        System.out.println(wrapnum_1.equals(wrapnum_2)); // Output: true
    }
}

输出

true
true

提示 6:字符串管理

字符串是 Java 中无法更改的对象。因此,一旦生成它们,就无法更改。每当您连接两个字符串时,Java 都会创建一个新的字符串对象。新的字符串对象包含两个原始字符串的连接。这可能会导致大量的内存开销。(特别是如果您经常连接字符串。)

如何防止这种情况?您可以通过使用字符串文字语法立即创建一个字符串对象。

例如,以下代码将创建一个字符串对象而不创建新对象:

语法

String fast = "This string is better"

for()

代码首先创建两个字符串,slow 和 fast。然后,它启动一个计时器,并将数字 0 附加到 slow 10000 次的末尾。然后它停止计时器并打印执行此操作所花费的时间。最后,它对 fast 重复相同的操作并打印所用的时间。

算法

  • 步骤 1:创建两个字符串,slow 和 fast。

  • 步骤 2:将变量 start 初始化为当前时间(以毫秒为单位)。

  • 步骤 3:迭代 10000 次:将字符串 slow 与字符串" "和 i 的值连接起来。

  • 步骤 4:将变量 slowEndTime 设置为当前时间(以毫秒为单位)。

  • 步骤 5:迭代 10000 次:将字符串 fast 与字符串" "和 i 的值连接起来。

  • 步骤 6:将变量 fastEndTime 设置为当前时间(以毫秒为单位)。毫秒。

  • 步骤 7:打印执行慢速字符串所用的时间。

  • 步骤 8:打印执行快速字符串所用的时间。

示例

public class StringPerformance {

    public static void main(String[] args) {
        String slow = "This is a slow string.";
        String fast = "This is a fast string.";

        long start = System.currentTimeMillis();

        for (int i = 0; i < 10000; i++) {
            slow += " " + i;
        }

        long slowEndTime = System.currentTimeMillis();

        for (int i = 0; i < 10000; i++) {
            fast += " " + i;
        }

        long fastEndTime = System.currentTimeMillis();

        System.out.println("Time taken to execute slow string: " + (slowEndTime - start) + " milliseconds");
        System.out.println("Time taken to execute fast string: " + (fastEndTime - slowEndTime) + " milliseconds");
    }
}

输出

Time taken to execute slow string: 140 milliseconds
Time taken to execute fast string: 23 milliseconds

提示 7:坚持编码

Java 不断发展。Java 熟练程度需要热爱学习并不断致力于改进。掌握该语言所需的时间和精力也必须心甘情愿地付出。随着练习的增多,你会进步的。

结论

要成为一名熟练的 Java 程序员,请记住上述建议。它们将帮助你提高 Java 熟练程度和技能,从而提高你的就业能力。


相关文章