小编azr*_*zro的帖子

使用ByteBuffer以有效的方式在一个字节数组中打包标头和数据布局?

我有一个标题和数据,我需要在一个表示Byte Array.我有一种特殊的格式用于打包标题Byte Array,也可以采用不同的格式打包数据Byte Array.在我拥有这两个之后,我需要做出最后一个Byte Array.

下面是布局,它是如何定义的C++,因此我必须做Java.

// below is my header offsets layout

// addressedCenter must be the first byte
static constexpr uint32_t  addressedCenter      = 0;
static constexpr uint32_t  version              = addressedCenter + 1;
static constexpr uint32_t  numberOfRecords      = version + 1;
static constexpr uint32_t  bufferUsed           = numberOfRecords + sizeof(uint32_t);
static constexpr uint32_t  location             = bufferUsed + sizeof(uint32_t);
static constexpr uint32_t  locationFrom         = location + sizeof(CustomerAddress);
static constexpr …
Run Code Online (Sandbox Code Playgroud)

java arrays multithreading bytebuffer thread-safety

5
推荐指数
1
解决办法
914
查看次数

Java:将TimeZone添加到DateTimeFormatter

LocalDateTime API允许通过使用格式化程序中的键“ z”来添加TimeZone名称。添加此密钥时出现异常,不明白为什么。我正在寻找类似此示例的内容11:59:22 PM GMT,而不是“ **... UMT+2**”。

我的代码:

public class TimeZone
{
    public static void main(String[] args)
    {
        LocalDateTime now = LocalDateTime.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("hh:mm:ss a z");
        System.out.println(now.format(formatter));
    }
}
Run Code Online (Sandbox Code Playgroud)

例外:

Exception in thread "main" java.time.DateTimeException: Unable to extract value: class java.time.LocalDateTime
at java.time.format.DateTimePrintContext.getValue(Unknown Source)
at java.time.format.DateTimeFormatterBuilder$ZoneTextPrinterParser.format(Unknown Source)
at java.time.format.DateTimeFormatterBuilder$CompositePrinterParser.format(Unknown Source)
at java.time.format.DateTimeFormatter.formatTo(Unknown Source)
at java.time.format.DateTimeFormatter.format(Unknown Source)
at java.time.LocalDateTime.format(Unknown Source)
at tz.TimeZone.main(TimeZone.java:12)
Run Code Online (Sandbox Code Playgroud)

这是DateTimeFormatter API部分:

All letters 'A' to 'Z' and 'a' to 'z' are reserved as …
Run Code Online (Sandbox Code Playgroud)

java datetime

5
推荐指数
2
解决办法
8110
查看次数

如何停止等待用户输入?

我正在构建一个程序来询问乘法,我想设置一个计时器来强制该人在给定时间内给出答案:

  1. 如果此人在计时器结束前回答:请进行下一次乘法
  2. 如果计时器到达终点,则停止等待用户输入:转到下一个乘法

目前,案例1可以完成,但2不是,我正在考虑return;从方法内部的方式,如线程或其他东西,我不知道如何

所以我面临一个问题,如果一个Scanner是开放的,等待输入,如何阻止它?我已经尝试将它放在一个线程和interrupt()它或使用boolean作为标志,但它不会停止Scanner


class Multiplication extends Calcul {    
    Multiplication() {  super((nb1, nb2) -> nb1 * nb2); }   
    @Override
    public String toString() {  return getNb1() + "*" + getNb2(); }
}


abstract class Calcul {

    private int nb1, nb2;
    private boolean valid;
    private boolean inTime = true;
    private boolean answered = false;
    private BiFunction<Integer, Integer, Integer> function;

    Calcul(BiFunction<Integer, Integer, Integer> f) {
        this.nb1 = new Random().nextInt(11); …
Run Code Online (Sandbox Code Playgroud)

java timer interrupt java.util.scanner

5
推荐指数
1
解决办法
158
查看次数

Java 8要映射的对象列表<String,List>值

我想转换List<Object>Map<String, List>使用Streams,

public class User{
   String name;
   String age;
   String org;
}
Run Code Online (Sandbox Code Playgroud)

我有List<Users>,需要收集到Map<String, Object> m,

 m.put("names", List of names,);
 m.put("age", List of age);
 m.put("org", List of org);
Run Code Online (Sandbox Code Playgroud)

在命名查询中使用 - >例如: select * from table ... where names in (:names) and age in (:age) and org in (:org)

截至目前,我正在做的事情

List<String> names = userList.stream().map(User::getName).collect(Collectors.toList());
List<String> age= userList.stream().map(User::getAge).collect(Collectors.toList());
List<String> org= userList.stream().map(User::getName).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

如何只在流式传输到列表一次时收集所有值?

java java-8

5
推荐指数
2
解决办法
8829
查看次数

如何在 antd 上延迟加载选项卡?

我正在使用 antd 选项卡,我的页面上有 2 个选项卡。两者同时加载,但我只希望第一个选项卡在挂载和选项卡更改时加载,而应呈现另一个选项卡。我无法实现这个功能。

有办法解决这个问题吗?

tabs lazy-loading antd

5
推荐指数
1
解决办法
6546
查看次数

使用Java 8 Stream替换for循环并填充Map

在这个java赋值中,我们有一个for循环,它读取我们在这个程序中使用的文本文件,我们应该用流替换它.这是该计划的一部分以及我们应该取代的内容:

    import java.io.FileNotFoundException;
    import java.util.List;
    import java.util.Map;
    import java.util.TreeMap;


    public class FrequentWords {

    public static void main(String[] args) throws FileNotFoundException {

    String filename = "SophieSallyJack.txt";
    if (args.length == 1) {
        filename = args[0];
    }
    Map<String, Integer> wordFrequency = new TreeMap<>();

    List<String> incoming = Utilities.readAFile(filename);

    // TODO replace the following loop with a single statement using streams    
    // that populates wordFrequency         
    for (String word : incoming) {
        word = word.toLowerCase();
        if (!"".equals(word.trim())) {
            Integer cnt = wordFrequency.get(word);
            if (cnt == null) …
Run Code Online (Sandbox Code Playgroud)

java loops file filter java-stream

5
推荐指数
1
解决办法
149
查看次数

线程卡在应用程序中

我在我的应用程序中使用 java fixedthreadpool 并且也可以调用提交任务。当应用程序启动时它工作正常并且线程完成它们的处理但是在第一个文件线程完全卡住并且不做任何事情之后。使用jstack我得到了线程转储。但是找不到导致线程停放状态的原因。

"pool-1-thread-7" #139 prio=5 os_prio=0 tid=0x00007f5490907000 nid=0x5f80 waiting on condition [0x00007f5426068000]
java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x0000000080135840> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

  Locked ownable synchronizers:
  --
  "pool-1-thread-6" #114 prio=5 os_prio=0 tid=0x00007f54908f5000 nid=0x5f67    waiting on condition [0x00007f5441901000]
java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x0000000080135840> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074) …
Run Code Online (Sandbox Code Playgroud)

java multithreading deadlock executorservice

5
推荐指数
1
解决办法
2026
查看次数

将 datetime.datetime 对象写入文件

问题

我想将 datetime.datetime 对象写入文件,因为我的机器人整夜停机,我需要它检查从该时间点到当前消息的所有消息,但我找不到解决方案如何做到这一点。文件类型并不重要,只要我可以向其中写入 datetime.datetime 对象并可以从中读取它(但我更喜欢 JSON,因为我已经有了一个用于写入、读取的系统,...为此)。

尝试过

我尝试将其作为原始 datetime.datetime 写入 JSON 文件,并尝试将其作为原始 datetime.datetime 写入 txt 文件,但.write()两者都不起作用,因为它们不接受该类型。

当前代码

机器人关闭时:

async for message in channel.history(limit=1):
    lastmsg = message.created_at

jsonhandle.update("last_message", lastmsg, "lastmsg")
Run Code Online (Sandbox Code Playgroud)

调用方式on_ready

last_message = jsonhandle.get("last_message", "lastmsg")

    chistory = await channel.history(after=last_message).flatten()
Run Code Online (Sandbox Code Playgroud)

python datetime python-datetime discord.py

5
推荐指数
1
解决办法
4743
查看次数

如何从Java中的字符串中删除除某些字符之外的所有字符?

假设您有一个字符串“ ACcwerwervwvrwBq^2424 /.* DffGZ..'B”。您如何只保留某些字符A,B,C,D并删除其余字符?

string.replaceAll如果我知道要删除哪些字符似乎可以工作,但我想删除除A,B,C,D. 把除了那 4 个角色之外的每个角色都放在那里似乎很乏味,有什么更简单的方法?

我希望上述情况下的输出为“ ACBDB”。

java string replace char

4
推荐指数
1
解决办法
4130
查看次数

打开if语句?

我是一个有编码的初学者,所以有人可以告诉我是否有可能在Java中做这样的事情,在一个无效的结果类型?

switch (if this != null {return this;}
            else {return that;}) {

    case "This": blah
        break;
    case"That": blah
        break;
}
Run Code Online (Sandbox Code Playgroud)

另外,有人能告诉我使用两个变量执行switch语句的最有效方法吗?谢谢!:)

java if-statement switch-statement

4
推荐指数
1
解决办法
95
查看次数