Java Best Practices Guide

优秀的程序员不仅编写代码,更编写程序。这意味着编写足够独立的、可以在多种方式中重用的代码单元,同时保持其健壮性。

所以让我们开始识别和学习一些 Java 最佳实践,它们可以将任何代码转化为程序。

1. Java 设计最佳实践

以下 Java 最佳实践主要集中在系统设计时期的考虑因素。它们主要对高级开发人员有用。最终,如果你现在不是高级开发人员,将来也会成为。为什么不提前做好准备呢?

8 个糟糕单元测试用例的迹象

糟糕的单元测试是现实,每一个进行代码审查的人,偶尔(甚至经常)都会遇到。那么什么构成一个糟糕的测试用例?如何识别糟糕的测试用例?

5 个类设计原则 [S.O.L.I.D.] 在 Java 中

5 个最推荐的设计原则,您在编写类时应牢记。这些设计原则简称为 SOLID。

单元测试最佳实践

编写价值很小且大幅增加代码更改成本的糟糕单元测试非常容易。学习如何正确编写它们。

异常处理的最佳实践

一种新的方法为每种新的异常情况使用静态内部类。值得阅读的未来软件设计师。

Java 异常处理最佳实践

介绍一些广为人知和鲜为人知的实践,您必须在下一次 Java 编程作业中考虑它们。

Java 执行器框架最佳实践

您在设计下一个多线程应用程序时需要记住的一些最佳实践。

5 个考虑迁移遗留系统的理由

有几个理由从旧的遗留系统迁移到新的高级系统。以下是其中的 5 个。

2. Java 编码最佳实践

以下 Java 最佳实践侧重于您在敲击键盘并开始实际编写程序时需要考虑的事项。它们主要对所有级别的开发人员/程序员有用。

在生产环境中生成安全的密码哈希值(MD5/SHA)

用户提供的密码通常很弱且容易猜到。Java 中有许多哈希算法,可以有效地提高应用程序和用户的密码安全性。

Serializable 接口指南

我们都知道 Serializable 接口的作用。但我们真的知道哪些更改会破坏您的设计吗?

对象初始化最佳实践

创建新对象总是很昂贵的过程。让我们学习 Java 如何使用对象池来解决这个问题。

如何使 Java 类不可变

不可变类是指一旦创建,其状态就无法更改的类。有一些指导原则可以创建不可变类。让我们学习它们。

考虑在运行时重新加载 log4j 级别

学习如何使用 WatchService 在运行时重新加载您的日志配置。使用它们重新加载其他配置。

使用 ToStringBuilder 有效地覆盖 toString()

ToStringBuilder 是 apache commons lang 库提供的一个实用程序类。学习如何使用它来编写高度自定义的 toString() 方法。

在任何循环中使用数组代替 Vector.elementAt()

Vector 在从多个线程访问时不需要额外的同步,但由于相同的原因,它会降低性能。衡量其影响。

3. Java 性能最佳实践

以下 Java 最佳实践可以提升 Java 应用程序的性能并将其提升到下一个层次。努力学习并始终记住它们。

不同遍历 HashMap 方式的性能比较

让我们看看不同的遍历 HashMap 的方法,看看它们在性能方面有什么差异。

不同 Java for 循环的性能比较

让我们比较一下不同 for 循环的性能。它们在任何程序中都无处不在。

提高 JDBC 性能的最佳实践

数据库访问是任何应用程序的主要部分。如果您使用的是简单的 JDBC,那么这个是给您的。

更多内容即将推出...

祝您学习愉快!!

发表评论

  1. 你好先生,我叫Sriharsha,经常听到您的名字,所以想向您寻求一点帮助。我是一个初学者,您能通过一些小程序来指导我吗?
    您能发送一些我应该学习的入门级程序给我吗?我的邮箱是 mail-sadhutarun00@gmail.com

    如果有人看到这条评论,您有什么建议吗?请发送到上面的邮箱地址。

  2. 有没有人可以给我一个完整的程序,说明如何用Java编程语言创建一个游戏?最好能长一点... 如果能帮助我解决这个问题,我会很感激的...(除了井字游戏)

  3. 你好,
    你能帮助我吗?请告诉我如何从数据库中提取数据并生成xlsx表格。我已经创建了程序,但是发现了一些错误。请检查我的代码并删除错误。如果我选择“生成xlsx”按钮,则显示包含提取数据的xlsx表格。
    我的代码如下所示:

    package fetch;
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.File;
    import javax.swing.*;
    import java.sql.Connection;
    import java.sql.*;
    import java.io.IOException;
    import java.io.FileOutputStream;
    import java.io.FileNotFoundException;
    import org.apache.poi.xssf.usermodel.XSSFCell;
    import org.apache.poi.xssf.usermodel.XSSFRow;
    import org.apache.poi.xssf.usermodel.XSSFSheet;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;

    public class Fetch extends JFrame implements ActionListener
    {
    JButton Ok,generate_xls;
    JLabel UserName;
    JTextField UNTF;
    JComboBox b1;
    String UN;
    String source;
    Connection conn;
    Statement st;
    ResultSet rs,rs1;
    Fetch()
    {
    super(“Data Fetch”);
    this.setLayout(null);
    this.setSize(400,400);

    try
    {
    Class.forName(“com.mysql.jdbc.Driver”);
    conn=DriverManager.getConnection(“jdbc:mysql://:3306/wiprodev”,”root”,”root”);
    st=conn.createStatement();
    }
    catch(ClassNotFoundException | SQLException e)
    {
    }
    UserName=new JLabel(“UserId”);
    UserName.setBounds(15,48,120,20);
    add(UserName);
    b1=new JComboBox();
    b1.addItem(“-All-“);
    b1.addItem(“spal”);
    b1.addItem(“abkas”);
    b1.setBounds(100,50,100,20);
    add(b1);
    Ok=new JButton(“Ok”);
    Ok.setActionCommand(“Ok”);
    Ok.addActionListener(this);
    Ok.setBounds(150,250,90,40);
    add(Ok);
    generate_xls=new JButton(“Generate xls”);
    generate_xls.setActionCommand(“Generate xls”);
    generate_xls.addActionListener(this);
    generate_xls.setBounds(250,250,120,40);
    add(generate_xls);

    }
    public void actionPerformed(ActionEvent ae)
    {
    if(source.equals(“Generate xls”))
    {

    }
    try
    {
    ResultSet rs= st.executeQuery(“Select a.lead_created_by,b.userid from wp_tra_lead a,wp_mtr_user_login_trace b where a.lead_created_by=b.userid”);
    source=ae.getActionCommand();
    switch(source)
    {
    case “Generate xlsx”
    new Fetch().show();
    break;
    case “OK”
    new Fetch().show();
    }
    }
    catch(Exception e)
    {

    }

    try
    {

    XSSFWorkbook workbook=new XSSFWorkbook();
    XSSFSheet spreadsheet=workbook.createSheet(“Leap”);
    XSSFRow row=spreadsheet.createRow(1);
    XSSFCell cell;
    cell=row.createCell(1);
    cell.setCellValue(“userid”);
    cell=row.createCell(2);
    cell.setCellValue(“lead_created_by”);
    int i=2;
    while(rs.next())
    {
    row=spreadsheet.createRow(i);
    cell=row.createCell(1);
    cell.setCellValue(rs.getString(“userid”));
    cell=row.createCell(2);
    cell.setCellValue(rs.getString(“lead_created_by”));
    i++;
    }
    FileOutputStream out=new FileOutputStream(
    new File(“Data.xlsx”));
    workbook.write(out);
    out.close();
    System.out.println(“Data.xlsx written successfully”);

    }
    catch(Exception e)
    {

    }
    }
    public static void main(String[] args)
    {
    Fetch obj=new Fetch();
    obj.setSize(400,400);
    obj.setVisible(true);
    obj.setDefaultCloseOperation(EXIT_ON_CLOSE);
    }
    }

    谢谢 & 祝好,
    Anil

  4. 你好 Lokesh,

    我有一个非常基础的问题。
    在我们的应用程序中,有很多Java类没有被任何类使用。在应用程序的早期阶段,我们使用所有这些类,但随着时间的推移,这些类变得无用,并且没有在任何地方引用。

    想知道这是否会对应用程序性能或内存或其他因素产生任何影响?

    我看到 ear 文件的大小发生了变化,想知道这是否真的重要?

    谢谢。

  5. HashMap 不接受键和值都为原始类型,但我们可以轻松存储原始类型,例如

    HashMap h=new HashMap();

    h.put(1,1);

    两个值都是原始类型,而不是对象

评论已关闭。

关于我们

HowToDoInJava 提供 Java 和相关技术的教程和操作指南。

它还分享最佳实践、算法和解决方案以及经常被问到的面试题。

我们的博客

REST API 教程

关注我们