Java语言怎么记录自身程序一共被用户运行了多少次

Java语言怎么记录自身程序一共被用户运行了多少次?并且记录的数字不能放在文件里也不能被别的程序读取到的地方应该怎么才能实现的呢

你可以试一试弄一个在线数据库来记录运行次数。程序启动时就往在线数据库发送一个请求,数据库接收到请求后记录一次运行次数,并返回给程序。这样也可以实现记录运行次数,并且不会被其他程序读取到。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

可以使用Java自带的计数器类--AtomicInteger。AtomicInteger是一个线程安全的类,可以用来实现计数器功能。

以下是一个示例代码,演示如何使用AtomicInteger来记录Java程序被用户运行的次数:

import java.util.concurrent.atomic.AtomicInteger;

public class ProgramCounter {
    private static AtomicInteger counter = new AtomicInteger(0);

    public static int getCount() throws Exception {
        return counter.get();
    }

    public static void increment() throws Exception {
        counter.incrementAndGet();
    }

    public static void main(String[] args) throws Exception {
        while (true) {
            System.out.println("Program has been run " + getCount() + " times.");
            increment();
            Thread.sleep(1000); // 等待一秒钟再运行下一次循环
        }
    }
}

在这个示例代码中,定义了一个静态的AtomicInteger对象counter,用来记录程序被用户运行的次数。定义了两个方法getCount()和increment(),分别用于获取计数器的值和增加计数器的值。在主方法中,使用while循环不断地输出计数器的值,并使用Thread.sleep()方法让程序暂停一秒钟,以便计数器的值可以被更新。

由于AtomicInteger类是线程安全的,因此不需要担心多个线程同时访问计数器导致计数器值不正确的问题。同时,由于AtomicInteger类是一个内部类,因此不需要将计数器的值保存到文件或数据库中,也不需要将计数器的值暴露给其他程序。