找到 34423 篇文章,关于编程

在 Java 中重写 finalize() 方法的目的是什么?

raja
更新于 2020-07-02 07:25:16

1K+ 阅读量

finalize() 方法是 Object 类中的一个预定义方法,并且它是受保护的。可以重写 finalize() 方法,以便在对象被垃圾回收之前包含清理代码或释放系统资源。如果我们重写 finalize() 方法,那么我们有责任显式调用 finalize() 方法。JVM 或任何给定对象只能调用一次 finalize() 方法。语法protected void finalize() throws Throwable示例public class FinalizeMethodTest {    protected void finalize() throws Throwable {       try {          System.out.println("调用 finalize() 方法 ... 阅读更多

如何在 Java 中为 JButton 实现翻转效果?

raja
更新于 2020-07-02 07:04:18

1K+ 阅读量

JButton 是 AbstractButton 的子类,可用于向 GUI 应用程序添加平台无关的按钮。当按下或单击按钮时,JButton 可以生成 ActionListener 接口,它还可以生成 MouseListener 和 KeyListener 接口。我们可以通过重写 MouseListener 接口的 mouseEntered() 方法来实现鼠标悬停在 JButton 上时的翻转效果。语法void mouseEntered(MouseEvent e)示例import java.awt.*; import java.awt.event.*; import javax.swing.*; public class RollOverButtonTest extends JFrame {    private JButton button;    public RollOverButtonTest() {       setTitle("RollOverButton 测试");       button = new JButton("翻转按钮");       button.addMouseListener(new MouseAdapter() {     ... 阅读更多

我们如何在 Java 中避免死锁?

raja
更新于 2023-11-24 10:33:17

5K+ 阅读量

在 Java 中,死锁是指两个或多个线程永远阻塞的情况。死锁条件至少需要两个线程和两个或多个资源。如何避免死锁避免嵌套锁 - 死锁主要发生在我们将锁赋予多个线程时。如果我们已经将锁赋予了一个线程,则避免将其赋予多个线程。避免不必要的锁 - 我们只需要锁定那些必需的成员。不必要地锁定可能会导致死锁。使用 Thread.join() - 当一个线程等待另一个线程完成时,会出现死锁条件。如果 ... 阅读更多

在 C 程序中使用 pthread 进行二分查找?

Arnab Chakraborty
更新于 2019-08-20 13:18:47

469 阅读量

我们知道二分查找方法是最合适和有效的排序算法之一。它适用于已排序的序列。该算法很简单,它只是从中间找到元素,然后将列表分成两部分,并向左子列表或右子列表移动。我们知道它的算法。现在我们将了解如何在多线程环境中使用二分查找技术。线程的数量取决于系统中存在的内核数量。让我们看看代码以了解其思想。示例#include #define MAX 16 #define MAX_THREAD 4 using namespace ... 阅读更多

在 C 程序中获取具有相同 1 和 0 数量的下一个较大数字的二进制表示?

Arnab Chakraborty
更新于 2019-08-20 13:15:25

240 阅读量

假设我们有一个二进制数,它是数字 n 的表示。我们必须找到一个比 n 大但最小的二进制数的表示,并且它也具有相同数量的 0 和 1。因此,如果数字是 1011(十进制为 11),则输出将是 1101(13)。此问题可以使用下一个排列计算来解决。让我们看看算法以了解其思想。算法nextBin(bin) -开始    len := bin 的长度    for i in range len-2, down to 1, do       if bin[i] is 0 and bin[i+1] ... 阅读更多

在 C 程序中根据 CLRS 算法使用向量和队列进行 BFS?

Arnab Chakraborty
更新于 2019-08-20 13:10:19

274 阅读量

在 CLRS 书中,BFS 算法使用向量和队列进行了描述。我们必须使用 C++ STL 实现该算法。让我们首先看看该算法。算法BFS(G, s) -开始    for each vertex u in G.V - {s}, do       u.color := white       u.d := infinity       u.p := NIL    done    s.color := green    s.d := 0    s.p := NIL    Q := NULL    insert s into Q    while Q is not null, do       u = delete from Q       for ... 阅读更多

在 C 程序中实现情侣数?

Arnab Chakraborty
更新于 2019-08-20 13:06:54

484 阅读量

这里我们将了解情侣数。这是一对数字,其中一个数字的真因数之和比另一个数字大 1。我们必须找到这些对例如,这对数字是 (48, 75)。因此 48 的因数是 {1, 2, 3, 4, 6, 8, 12, 16, 24},其和为 76。类似地,75 的因数是 {1, 3, 5, 15, 25},其和为 49。算法BetrothedPairs (n) -开始    for num in range 1 to n, do       sum := 1       for ... 阅读更多

在 C 程序中实现鲍姆-斯威特序列?

Arnab Chakraborty
更新于 2019-08-20 14:00:18

129 阅读量

这里我们将了解鲍姆-斯威特序列。此序列是一个二进制序列。如果数字 n 具有奇数个连续的 0,则第 n 位将为 0,否则第 n 位将为 1。我们有一个自然数 n。我们的任务是找到鲍姆-斯威特序列的第 n 项。因此,我们必须检查它是否具有任何长度为奇数的连续零块。如果数字是 4,则该项将为 1,因为 4 是 100。因此它有两个(偶数)零。算法BaumSweetSeqTerm (G, s) -开始    定义位序列 seq ... 阅读更多

在 C 程序中使用递归函数的辅助空间?

Arnab Chakraborty
更新于 2019-08-20 13:00:00

301 阅读量

这里我们将了解递归函数调用需要多少辅助空间。以及它与普通函数调用有何不同?假设我们有一个如下所示的函数 -long fact(int n){    if(n == 0 || n == 1)       return 1;    return n * fact(n-1); }此函数是递归函数。当我们像 fact(5) 这样调用它时,它将在堆栈中存储如下地址 -fact(5) ---> fact(4) ---> fact(3) ---> fact(2) ---> fact(1)由于递归函数反复调用自身,因此地址被添加到堆栈中。因此,如果函数是 ... 阅读更多

在 C 程序中对频率与值相同的元素进行数组范围查询?

Arnab Chakraborty
更新于 2020-07-02 06:56:57

218 阅读量

这里我们将看到一个有趣的问题。我们有一个包含 N 个元素的数组。我们必须执行一个如下所示的查询 Q -Q(start, end) 表示从开始到结束,数字 'p' 恰好出现 'p' 次的次数。因此,如果数组如下所示:{1, 5, 2, 3, 1, 3, 5, 7, 3, 9, 8},并且查询为 -Q(1, 8) - 这里 1 出现一次,3 出现 3 次。因此答案是 2Q(0, 2) - 这里 1 出现一次。因此答案是 1算法query(s, e) -开始   ... 阅读更多

广告

© . All rights reserved.