小编Bas*_*que的帖子

使用 Java 中的流,按成员字段中集合的大小对对象列表进行排序

我创建一个记录用户:

\n
public record User(String name, int age, List<String> skills, boolean isActive) {\n}\n
Run Code Online (Sandbox Code Playgroud)\n

和用户列表:

\n
    private static List<User> prepareData() {\n        List<User> users = new ArrayList<>();\n\n        users.add(new User("Kamil", 35, List.of("Java", "Python", "JavaScript"), true));\n        users.add(new User("Mariusz", 36, List.of("Java", "C++", "C#"), true));\n        users.add(new User("Dominik", 30, List.of("Java", "Dart", "Python"), false));\n        users.add(new User("Paulina", 36, List.of("PHP", "SQL", "Python"), false));\n        users.add(new User("Rafa\xc5\x82", 40, List.of("C#", "Dart"), true));\n        users.add(new User("Agnieszka", 29, List.of("Java", "Scala", "Kotlin", "Haskell", "Clojure"), false));\n        users.add(new User("Weronika", 43, List.of("Python", "C#", "VBA"), true));\n\n        return users;\n    }\n
Run Code Online (Sandbox Code Playgroud)\n …

java

0
推荐指数
1
解决办法
141
查看次数

为java中的平台线程池创建单独的线程池

我想创建在单独的 Java 线程池上运行的虚拟线程池。

这是我试图创建的架构:

建筑学

这是为了让我能够创建单独的池来在一个 JVM 中运行批处理任务,并利用每个池的 n:m 映射的虚拟线程。因此,如果我有 12 个核心,那么我可以创建 2 个 6 线程的线程池。每个池只会执行一个特定的任务。每个池将有 N 个虚拟线程。因此,这里的映射将是 2 个 {N VirtualThreads -> 6 Platform Threads} 池。

TLDR,我想限制虚拟线程池可以运行的 PlatformThreads 数量。

我能想到的一件事是,创建线程池,当传入可运行对象时,在 run 方法内我可以创建虚拟线程,但不确定它有多实用,以及我是否会得到我想要的池分区。这种方法的另一个问题是,虚拟线程将仅在一个 java 线程中运行,因此没有 N:M 映射

java threadpoolexecutor java-threads virtual-threads java-21

0
推荐指数
1
解决办法
245
查看次数

为什么LocalDateTime可以返回实例?

LocalDateTime抽象类.所以我写不出来:

LocalDateTime value = new LocalDateTime(); //error
Run Code Online (Sandbox Code Playgroud)

如果我想得到它的实例,我必须写:

LocalDateTime value = LocalDateTime.now(); //not error
Run Code Online (Sandbox Code Playgroud)

我有一个问题,为什么LocalDateTime可以返回实例?这是一个抽象类.

我看到了概述,但我找不到它......

java abstract-class abstract java-8 java-time

-1
推荐指数
1
解决办法
451
查看次数

从一系列数字的月份编号获取月份名称

我需要在我的表格中找到平衡月份。我以数字形式填写,但我需要字母形式,例如“一月,二月”。请帮忙

    int lastpaid = Integer.parseInt(s); **//this is i am getting from my database**
    int currentmonth = m; **// this is from georigian Calender**
    int[] arr = new int[12];
    int[] month = new int[12];
    int count = 0;

    for(int j=currentmonth;j>=lastpaid+1;j--)
    {
       arr[count] = j;
       count++;
    }


    for(int k : arr)
    {
        if(k == 0)
            {
                break;
            }

        month[count] = k;

    }
Run Code Online (Sandbox Code Playgroud)

java

-1
推荐指数
1
解决办法
4284
查看次数

Oracle JDK到OpenJDK

所以我目前正在Oracle JDK 8中构建我的所有应用程序.Oracle授权策略更新是否会影响JDK 8的使用,或者仅用于JDK 11 LTS.假设如果我想在不久的将来迁移到JDK 11,我可以在GPL下选择OpenJDK进行生产吗?在GCL下BCL和OpenJDK下的Oracle JDK源代码是否有任何变化?我可以互换使用吗?

java java-8 java-11

-1
推荐指数
1
解决办法
1268
查看次数

我希望在Java中获得当前时间,但没有Internet,也没有系统时间

我想得到确切的当前时间.我不想要系统时间,因为任何人都可以改变它,我想在不访问互联网的情况下这样做,有办法吗?

java time core

-2
推荐指数
1
解决办法
728
查看次数

为什么我会得到NumberFormatException

public static void main(String[] args) {
    Integer f = null;
    try {
        f = Integer.valueOf("12.3"); 
        String s = f.toString(); 
        int i = Integer.parseInt(s);
        System.out.println("i = " + i);
    } catch (Exception e) {
        System.out.println("trouble : " + f + e);
    } 
}
Run Code Online (Sandbox Code Playgroud)

java

-2
推荐指数
1
解决办法
885
查看次数

单圈时间格式代码令人困惑

我有来自学校的这段代码,我似乎无法完全理解它在做什么.我知道它显示了一个单圈时间,就像来自运动的那样,以分钟,秒和毫秒换算,但我不明白2弦变量是什么以及他们做了什么.

这是代码:

public String getTimeFormat(long ms){
    String s1 = ""+ms;
    Date date = null;
    try {
        date = new SimpleDateFormat("SSS").parse(s1);
    } catch (ParseException e){
        e.printStackTrace();
    }
    String s2 = new SimpleDateFormat("mm:ss:SS").format(date);
    return s2;
}
Run Code Online (Sandbox Code Playgroud)

java time-format

-3
推荐指数
1
解决办法
169
查看次数

"yyyy/mm/dd"和"yyyy/mm/DD"的不同结果

我知道要收到日期,我必须以dd小写形式使用此代码:

DateFormat dateFormat0 = new SimpleDateFormat("yyyy/mm/dd HH:MM:SS");
Date dateNow0 = new Date();
System.out.println("Date format: " + dateFormat0.format(dateNow0));
Run Code Online (Sandbox Code Playgroud)

输出是:

日期格式:2016/28/06 09:03:493

但是当我DD以日期格式使用大写字母时.码:

DateFormat dateFormat1 = new SimpleDateFormat("yyyy/mm/DD HH:MM:SS");
Date dateNow1 = new Date();
System.out.println("Date format: " + dateFormat1.format(dateNow1));
Run Code Online (Sandbox Code Playgroud)

输出是:

日期格式:2016/28/66 09:03:494

为什么我使用资本'DD'而不是'dd'收到不同的结果?'DD'的结果是什么?

java date date-format

-3
推荐指数
1
解决办法
3795
查看次数

你好,我有一个多线程程序,每个线程都必须在 ThreadLocal 变量中存储一个值,但是第二个线程覆盖了 1 的内容

我正在尝试编写这个多线程程序,但出了问题。我有一个 HelloApplication 类,我在那里创建了两个新线程。

run 方法位于另一个名为 ThreadLocalSession 的类中。在那里,我需要存储两个不同的值,每个线程使用 ThreadLocal 变量存储一个值。这种方法失败了,因为第二个线程覆盖了第一个线程写入的值。

由于这个原因,我尝试打印线程 id,我注意到相同的线程 ID 和线程名称被打印了两次......这怎么可能?

这是 HelloApplication 类:

public class HelloApplication extends Application {

@Override
public void start(Stage stage) throws IOException {
    ThreadLocalSession firstUser = new ThreadLocalSession(1);
    ThreadLocalSession secondUser = new ThreadLocalSession(2);
    new Thread(firstUser).start();
    new Thread(secondUser).start();
}

public static void main(String[] args) {
    launch();
}
}
Run Code Online (Sandbox Code Playgroud)

这是 ThreadLocal 会话类:

public class ThreadLocalSession implements Runnable{

private static final ThreadLocal<Session> usersession= new ThreadLocal<Session>();
private Integer tr_id;

public ThreadLocalSession(int i) {
    this.tr_id =i;
}


@Override …
Run Code Online (Sandbox Code Playgroud)

java multithreading javafx

-3
推荐指数
1
解决办法
86
查看次数

Java 8 Date如何检查时间是否早于X秒?

使用新的Java 8 DateTime API(java.time),我们如何检查"最后"捕获时间是否早于配置的秒集?

例...

上次拍摄时间:13:00:00当前时间:13:00:31

if (last captured time is older then 30 seconds) then
    do something
Run Code Online (Sandbox Code Playgroud)

java date java-8 java-time

-6
推荐指数
1
解决办法
2758
查看次数

确定当前时间在小时之间

我觉得这真的很容易,但我的大脑由于某种原因不工作。我有一个功能,用户可以选择运行的时间段(以小时为单位)。我需要检查当前时间是否在这些时间之间:

int currentHour = LocalDateTime.now().getHour(); // 21 (9pm)

int startHour = 20; // (8pm)
int endHour = 1; // (1am)

if (currentHour >= startHour && currentHour < endHour)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

java

-6
推荐指数
1
解决办法
87
查看次数

其他日期之间的日期java.time

如何使用Java 8的java.timeAPI 确定日期是否在两个其他日期之间?

java java-8 java-time

-7
推荐指数
1
解决办法
2452
查看次数