RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-217569

The Prototype's questions

Martin Hope
The Prototype
Asked: 2020-11-06 20:18:07 +0000 UTC

IntelliJ IDEA - 是否可以自动增加构建(版本)号?

  • 4

有一个 Java Gradle 项目。构建任务构建一个名为 artifact-1.0.jar 的项目 jar 文件。每次执行构建任务时,版本都需要更改。例子:

  • artifact-1.0-1.jar。
  • artifact-1.0-5.jar。
  • artifact-1.0-20.jar。
  • ...
  • artifact-1.0-N.jar。

如何正确实施?

java
  • 3 个回答
  • 10 Views
Martin Hope
The Prototype
Asked: 2020-04-10 05:08:40 +0000 UTC

String 和 UUID 哪个更快?

  • 10

我想一劳永逸地找出在哈希集合中用作键的更好和更方便的方法String还是UUID?

Map<String, Value> map = ...
Map<UUID, Value> map = ...
java
  • 1 个回答
  • 10 Views
Martin Hope
The Prototype
Asked: 2020-02-10 21:15:56 +0000 UTC

实现特定队列

  • 1

实际上有一个单独Runnable的,其中执行一些操作。这个Runnable有一个这些动作的队列。在这些动作的执行之间有一个时间 - timeout,在执行下一个动作之前必须经过。如果队列为空,那么线程应该休眠,但是一旦有新的“任务”添加到队列中,它就Runnable应该唤醒并执行它。我做了一个素描课:

public final class TitleHelper implements Runnable {

    private static TitleHelper instance = new TitleHelper();

    public static TitleHelper getInstance() {
        return instance;
    }

    private TitleHelper() {
    }

    private static final Queue<Title> titleQueue = new ArrayDeque<>();


    @Override
    public void run() {
        if (titleQueue.size() > 0) {
            Title title = titleQueue.poll();
            title.show();
            TimeUnit.SECONDS.sleep(title.getShowTime());
        } else {
            TimeUnit.SECONDS.sleep(Integer.MAX_VALUE);
        }
    }

    public void add(Title title) {
        titleQueue.offer(title);
        //при добавлении нового объекта в очередь на показ нужно разбудить спящий поток выше.
    }

}

问题:

  1. 如何实现我最初写的(使用线程唤醒)?
  2. 我如何正确选择实施方法?它有哪些不足之处以及如何改进?

  3. 我也明白ArrayQeque-not safe thread添加和删除()时如何同步,poll以免从另一个线程获得更改异常?

java
  • 1 个回答
  • 10 Views
Martin Hope
The Prototype
Asked: 2020-01-03 16:51:04 +0000 UTC

在计算机上的特定时间运行任务 hh:mm

  • 0

假设有一个小时列表和分钟:[15.15, 18.30, 00.45]等。当上面列表中的时间间隔之一是“准时”时,有必要在 java 应用程序中执行一些 Runnable。实现这样的事情的最佳方法是什么?最好不使用第三方库。

我试着这样做: 可悲的尝试

但它不起作用。

java
  • 1 个回答
  • 10 Views
Martin Hope
The Prototype
Asked: 2020-12-22 19:58:34 +0000 UTC

在一个 PreparedStatement 中执行多个查询

  • 0

有一定的集合,需要在此基础上进行N次查询。我想将它们组合成一个查询并执行。怎么做才对?

private static final String DELETE_PERMISSION_QUERY = "DELETE FROM `" + TABLE + "` WHERE permission = ? AND server = ?;";

public void deleteExpiredPermissions(Set<Permission> expiredPermissions) {

    for (Permission permission : expiredPermissions) {
        this.connection = getConnection();
        try (PreparedStatement ps = this.connection.prepareStatement(DELETE_PERMISSION_QUERY)) {
            ps.setString(1, permission.getPermission());
            ps.setString(2, this.server);
            ps.executeUpdate();
            flushLastExecute();
        } catch (SQLException ex) {
            this.logger.log(Level.SEVERE, "Could not delete permission: " + permission.getPermission(), ex);
        }
    }

}
java
  • 1 个回答
  • 10 Views
Martin Hope
The Prototype
Asked: 2020-10-12 23:46:05 +0000 UTC

网站分享

  • -1

例如,有一个网站 该网站有用户。我需要访问一些用户的页面并获取他们个人资料中显示的一些数据。在java应用程序级别解决这个问题的方法是什么?

我搜索了类似的问题,在大多数情况下,我得到了页面的“下载”并解析它。也许有一些特别的?

java
  • 1 个回答
  • 10 Views
Martin Hope
The Prototype
Asked: 2020-09-02 19:24:42 +0000 UTC

GSON 中的评论

  • 2

Gson 能够完全控制对象的 Serializer 和 Deserializer 阶段。

public class SimpleClassSerializer implements JsonSerializer<SimpleClass>, JsonDeserializer<SimpleClass>

实现这些接口后,我们需要实现序列化和反序列化。问题是,是否可以在数据序列化时对特定参数写注释?我没有找到这样的机会。

java
  • 1 个回答
  • 10 Views
Martin Hope
The Prototype
Asked: 2020-06-28 17:11:52 +0000 UTC

哪个更快 map.containsKey(key) || map.get(key) != null

  • 0

例如,我需要检查 中是否有任何数据map,如果存在,则返回,否则从数据库加载。

    Map<String, Data> map = Maps.newHashMap();

    //Вариант 1
    map.containsKey(key) ? map.get(key) : map.put(key, loadFromDatabase(key));

    //Вариант 2
    Data data = map.get(key);

    if (data == null) {
        data = map.put(key, loadFormDatabase(key));
    }

    return data;

那些。问题是什么会更快:在map执行之前初步检查是否存在密钥get,或者立即get检查!= null

java
  • 2 个回答
  • 10 Views
Martin Hope
The Prototype
Asked: 2020-06-21 22:05:15 +0000 UTC

什么是更快的检查 - “大于零”或“不等于零”?

  • 1

用什么比较好?

a > 0 

或者

a != 0

在这两种情况下,假设我们对任何事情都不感兴趣,只是数字必须大于零。

这意味着在性能方面,什么更容易做 - 检查更多或不相等?

java
  • 1 个回答
  • 10 Views
Martin Hope
The Prototype
Asked: 2020-05-28 18:21:41 +0000 UTC

Double.MIN_VALUE - 1.0D

  • 1

有一个代码:

System.out.println(Double.MIN_VALUE - 1.0D);

为什么会有结果-1.0?

java
  • 3 个回答
  • 10 Views
Martin Hope
The Prototype
Asked: 2020-04-28 03:30:23 +0000 UTC

从值中按值对 Map 进行排序

  • 0

有Map<String, Warp>。该类Warp有一个方法getVisits();

我需要获得访问量最大的 10 个经纱(getVisits();- 访问次数)。怎么做才对?

java
  • 1 个回答
  • 10 Views
Martin Hope
The Prototype
Asked: 2020-04-27 02:18:46 +0000 UTC

org.h2.jdbc.JdbcSQLException:SQL 语句中的语法错误

  • 0

我使用 H2 数据库和 MySQL 模式。

有一个要求:

CREATE TABLE `warps` (
  `id`             INTEGER PRIMARY KEY NOT NULL         AUTO_INCREMENT,
  `name`           varchar(32)         NOT NULL,
  `creator`        varchar(32)         NOT NULL,
  `world`          varchar(32)         NOT NULL,
  `welcomeMessage` varchar(100)        NOT NULL,
  `position`       TEXT                NOT NULL,
  `invitedPlayers` TEXT                NOT NULL,
  `blacklist`      TEXT                NOT NULL,
  `publicAll`      boolean             NOT NULL,
  `visits`         int                 NOT NULL         DEFAULT 0
);

有一个代码可以做到这一点:

    private void checkTable() {
        this.connection = this.getConnection();
        try (PreparedStatement ps = this.connection.prepareStatement(CREATE_TABLE_QUERY)) {
            ps.execute();
        } catch (SQLException ex) {
            this.logger.error("Error creating/check table in database.", ex);
        }
    }

private Connection getConnection() {
    try {
        if ((this.connection == null) || (this.connection.isClosed())) {
            reconnect();
        }
    } catch (SQLException e) {
        logger.error(e.getMessage(), e);
    }
    return this.connection;
}

private void reconnect() throws SQLException {
    if (this.connection != null) {
        this.connection.close();
    }
    this.connection = this.openConnection();
}

private Connection openConnection() throws SQLException {
    return DriverManager.getConnection("jdbc:h2://" + this.plugin.getConfDir().toString() + File.separatorChar + "warps" + ";mode=MySQL", "User", "");
}

结果我得到一个错误:

org.h2.jdbc.JdbcSQLException: Синтаксическая ошибка в выражении SQL "CREATE TABLE IF NOT EXISTS ""WARPS"" (""ID"" INT PRIMARY KEY NOT NULL AUTO_INCREMENT[*], ""NAME"" VARCHAR(32) NOT NULL, ""CREATOR"" VARCHAR(32) NOT NULL, ""WORLD"" VARCHAR(32) NOT NULL, ""WELCOMEMESSAGE"" VARCHAR(100) NOT NULL, ""POSITION"" TEXT NOT NULL, ""INVITEDPLAYERS"" TEXT NOT NULL, ""BLACKLIST"" TEXT NOT NULL, ""PUBLICALL"" BOOLEAN NOT NULL,""VISITS"" INT NOT NULL DEFAULT 0); "; ожидалось "CHECK, REFERENCES, ,, )"
Syntax error in SQL statement "CREATE TABLE IF NOT EXISTS ""WARPS"" (""ID"" INT PRIMARY KEY NOT NULL AUTO_INCREMENT[*], ""NAME"" VARCHAR(32) NOT NULL, ""CREATOR"" VARCHAR(32) NOT NULL, ""WORLD"" VARCHAR(32) NOT NULL, ""WELCOMEMESSAGE"" VARCHAR(100) NOT NULL, ""POSITION"" TEXT NOT NULL, ""INVITEDPLAYERS"" TEXT NOT NULL, ""BLACKLIST"" TEXT NOT NULL, ""PUBLICALL"" BOOLEAN NOT NULL,""VISITS"" INT NOT NULL DEFAULT 0); "; expected "CHECK, REFERENCES, ,, )"; SQL statement:
CREATE TABLE IF NOT EXISTS `warps` (`id` INT PRIMARY KEY NOT NULL AUTO_INCREMENT, `name` varchar(32) NOT NULL, `creator` varchar(32) NOT NULL, `world` varchar(32) NOT NULL, `welcomeMessage` varchar(100) NOT NULL, `position` TEXT NOT NULL, `invitedPlayers` TEXT NOT NULL, `blacklist` TEXT NOT NULL, `publicAll` boolean NOT NULL,`visits` INT NOT NULL DEFAULT 0); [42001-196]
java
  • 1 个回答
  • 10 Views
Martin Hope
The Prototype
Asked: 2020-04-08 18:25:58 +0000 UTC

在数据库中存储字符串列表的正确方法是什么?

  • 0

有一个数据库——MySQL。它有一张桌子。我需要在其中一列中存储一个字符串列表。首先想到的是从我的字符串列表中做一个用逗号分隔的字符串,并作为字符串存储在数据库中,当从数据库中接收到时,用逗号分隔,但感觉就像一根拐杖。也许有更好的方法来做到这一点?

java
  • 1 个回答
  • 10 Views
Martin Hope
The Prototype
Asked: 2020-03-02 21:28:13 +0000 UTC

隐藏的声音控制

  • 4

我找到了以下代码(工作,经过测试):

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace volume_controller
{
    public partial class Form1 : Form
    {
        private const int APPCOMMAND_VOLUME_MUTE = 0x80000;
        private const int APPCOMMAND_VOLUME_UP = 0xA0000;
        private const int APPCOMMAND_VOLUME_DOWN = 0x90000;
        private const int WM_APPCOMMAND = 0x319;

        [DllImport("user32.dll")]
        public static extern IntPtr SendMessageW(IntPtr hWnd, int Msg,
            IntPtr wParam, IntPtr lParam);


        public Form1()
        {
            InitializeComponent();
        }
        private void Mute()
        {
            SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle,
                (IntPtr)APPCOMMAND_VOLUME_MUTE);
        }
        private void VolDown()
        {
            SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle,
                (IntPtr)APPCOMMAND_VOLUME_DOWN);
        }
        private void VolUp()
        {
            SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle,
                (IntPtr)APPCOMMAND_VOLUME_UP);
        }  
    }
}

以这种方式控制声音时,变化时会显示: 在此处输入图像描述 如何控制声音,使这个音阶不显示?

c#
  • 1 个回答
  • 10 Views
Martin Hope
The Prototype
Asked: 2020-02-11 22:59:07 +0000 UTC

以编程方式替换单词的所需大小写

  • 1

在这里,同样的 VK 用户名是倾斜的。我想知道是否有一些现成的方法可以根据所需和指定的大小写来更改单词?

示例:有一些位置。假设这里是其中之一 - Свалка。

有建议:“在圈子里%locaion%看到了一个敌人。” “它是在%locaion%那时被发现的。”

等等。我们知道,如果我们简单地%location%替换Свалка,而不是占位符,我们就会得到游戏。是否有解决此问题的方法,或者您是否必须为每个(在这种情况下)位置编写每个案例?

java
  • 3 个回答
  • 10 Views
Martin Hope
The Prototype
Asked: 2020-12-21 01:31:52 +0000 UTC

CURRENT_TIMESTAMP 到 long

  • 1

例如,有一个使用CURRENT_TIMESTAMPin mysql->生成的日期,String date = "2017-12-20 16:49:31"; 我需要将其转换为可以从中提取该日期转换发生那一刻的 UNIX 时间的东西。我翻遍了一个外国论坛,但他们在那里整理出不同的日期格式,我不知道在哪里进一步挖掘。

java
  • 1 个回答
  • 10 Views
Martin Hope
The Prototype
Asked: 2020-12-20 21:56:40 +0000 UTC

正确的请求

  • 0

继续这个话题!这里有张桌子:

CREATE TABLE IF NOT EXISTS `TABLE_KITS_LOG` (
`FIELD_SERVER_ID` varchar(64) COLLATE utf8_unicode_ci,
`FIELD_PLAYER` varchar(64) COLLATE utf8_unicode_ci,
`FIELD_KIT_NAME` varchar(64) COLLATE utf8_unicode_ci,
`FIELD_TIMESTAMP` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

它有一个索引:

CREATE unique index TABLE_KITS_LOG_INDEX on TABLE_KITS_LOG(
FIELD_SERVER_ID, FIELD_PLAYER, FIELD_KIT_NAME);

例如,该表具有以下条目:

INSERT INTO `TABLE_KITS_LOG` (FIELD_SERVER_ID, FIELD_PLAYER, FIELD_KIT_NAME) VALUES ("rpg", "name", "deluxe");
INSERT INTO `TABLE_KITS_LOG` (FIELD_SERVER_ID, FIELD_PLAYER, FIELD_KIT_NAME) VALUES ("rpg", "name", "mods");
INSERT INTO `TABLE_KITS_LOG` (FIELD_SERVER_ID, FIELD_PLAYER, FIELD_KIT_NAME) VALUES ("rpg", "name", "vip");
INSERT INTO `TABLE_KITS_LOG` (FIELD_SERVER_ID, FIELD_PLAYER, FIELD_KIT_NAME) VALUES ("classic", "name", "deluxe");
INSERT INTO `TABLE_KITS_LOG` (FIELD_SERVER_ID, FIELD_PLAYER, FIELD_KIT_NAME) VALUES ("classic", "name", "mods");
INSERT INTO `TABLE_KITS_LOG` (FIELD_SERVER_ID, FIELD_PLAYER, FIELD_KIT_NAME) VALUES ("classic", "name", "vip");

由于更改只需要一个字段,因此FIELD_TIMESTAMP我尝试使用唯一索引和表设置进行查询,该查询将自行更新此字段,因为在创建表时,我default在更新时指定了值和值CURRENT_TIMESTAMP。

由于我指出更新记录时,列 FIELD_TIMESTAMP应该更新自己,我不知道后面写什么KEY UPDATE,在下面的变体中,写了一个错误:Error Code: 1136. Column count doesn't match value count at row 1。需要注意的是,如果没有记录,则必须插入,如果有,则更新时间。

尝试提出正确的请求:

INSERT INTO `TABLE_KITS_LOG` (FIELD_SERVER_ID, FIELD_PLAYER, FIELD_KIT_NAME, FIELD_TIMESTAMP) VALUES ("rpg", "name", "mods")
ON DUPLICATE KEY UPDATE FIELD_TIMESTAMP = CURRENT_TIMESTAMP;

@Akina 帮助

mysql
  • 1 个回答
  • 10 Views
Martin Hope
The Prototype
Asked: 2020-12-17 17:44:06 +0000 UTC

将方法参数声明为 final

  • 4

让我们假设有一个特定的方法,比如说,3 个参数。

public void something(final String id, final String name, final Entity entity){
    //...
}

在这种情况下,所有参数都标记为最终参数。那些。我确定我不会更改它们,而只会使用它们的值。上面描述的 + 和 - 是什么。我应该在方法参数中写“final”这个词吗?在优化方面是否有意义?

java
  • 1 个回答
  • 10 Views
Martin Hope
The Prototype
Asked: 2020-10-15 02:37:36 +0000 UTC

将代码从 Java 7 重写为 Java 8

  • 0

有代码(Java 7):

Set<Session> set = new HashSet<>();
for (Session session : this.sessions.values()) { // sessions -> HashMap<String, Session>
    if (session.isSavingRequired()) {
        session.setSavingRequired(false);
        set.add(session);
    }
}

如何将上述代码转换为 java 8 变体?我试过这样:

Set<Session> set = this.sessions.values()  
                   .stream()  
                   .filter(Session::isSavingRequired)  
                   .collect(Collectors.toSet());

问题是在上面的代码中,我遗漏了一行session.setSavingRequired(false);,这不好。怎么做才对?

java
  • 3 个回答
  • 10 Views
Martin Hope
The Prototype
Asked: 2020-10-10 21:34:01 +0000 UTC

如果不存在则创建或如果存在则更新

  • 0

这里有张桌子。如果它不存在,我需要在其中插入一行,或者如果条目已经存在,则更新它。

到目前为止,我正在这样做:我正在尝试获取其中一个字段所需的数据,然后检查是否返回了任何内容,如果有,则更新它,如果没有,则创建一条新记录.

mysql
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5