小编ktm*_*124的帖子

在使用ThreeTen-Backport与java.time时,您是否应该完全限定包前缀?

我们在项目中使用Three Ten Backport,因为我们的一个客户正在使用Java 7. Three Ten Backport为我们提供了Java 8中引入的新日期时间功能(java.time.*).

我想知道以下是否是一个好习惯.由于我们的大多数客户都使用Java 8,有一天我们可能会将所有客户升级到Java 8,使用org.threeten.bp完全限定类名是否真的有意义?最终,我们可能会将所有客户升级到Java 8并删除此依赖关系,如果我们最终执行此操作,那么如果我们只使用没有包前缀的类名,则代码更改将会更少.举一个代码示例,我的意思是这个.

import org.threeten.bp.LocalDate Time;

public class Example {

     public void example() {
          LocalDateTime datetime = // ....
     } 
}
Run Code Online (Sandbox Code Playgroud)

您可以在示例中看到我引用了没有包前缀的LocalDateTime.在Java 8中,是否会加载java.time.LocalDateTime类,或者org.threeten.bp.LocalDateTime?这有点不清楚,因为在这个代码中,在Java 8中,有两个LocalDateTime浮动,一个来自java.time,另一个来自org.threeten.bp.我假设本机Java库将被赋予优先权并加载,但我可能是错的.

这样做是好事吗?或者它可以生成编译器警告/错误?即使它没有产生任何警告或错误,它仍然是一个不好的做法?我很想这样做,因为通过包完全限定类只是简单的丑陋,如果我们最终删除了Three Ten依赖项,那么我们将不得不更改该代码的每个实例,而不是仅仅删除import语句.很高兴听到你的想法.

java java-8 threetenbp

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

修补二进制文件

我写了一个简单的C程序,显示"Hello World!" 到stdout.然后我编译了它,并删除了源代码.

我已经将自己设置为修补程序的项目,以便显示除"Hello World!"之外的其他内容.为此,我发现存储在二进制文件中的字符串,并使用vi的十六进制编辑器将存储字符串的二进制偏移量(我假设它是数据部分)中的'a'替换为'e'.

我只更改了二进制文件的一个字节,0x65到0x61,'e' - >'a',然而,当我运行程序时,我得到了这个:

./simple: line 1: 0000000:: command not found
./simple: line 2: 0000010:: command not found
./simple: line 3: 0000020:: command not found
./simple: line 4: 0000030:: command not found
./simple: line 5: 0000040:: command not found
./simple: line 6: 0000050:: command not found
./simple: line 7: syntax error near unexpected token `('
./simple: line 7: `0000060: 0000 0000 0000 0000 1900 0000 2802 0000  ............(...'
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么会这样?即为什么单字节替换可以呈现其他可执行的二进制文件(我之前运行得很好)不可执行?该字节只是字符串的一部分 - 它不是指令的一部分 - 所以我不明白为什么会发生这种情况.

感谢所有反馈.

c assembly reverse-engineering

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

为什么nth-child选择器不会被另一个选择器覆盖?

我设置了以下示例:http://jsfiddle.net/SXEty/

<style>
table td, th { padding: 8px; text-align: left; }
table td:nth-child(1) { color: red; }
table td { color: blue }
</style>
...
<table>
    <tr><th>Name</th><th>Age</th><th>City</th></tr>
    <tr><td>Bob</td><td>27</td><td>Los Angeles</td></tr>
    <tr><td>Charlie</td><td>34</td><td>San Diego</td></tr>
    <tr><td>Daniel</td><td>41</td><td>San Francisco</td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我很好奇为什么第一列的颜色是红色而不是蓝色.

在我的CSS中,我将每个第一个孩子设置为"红色".但是我的下一行CSS将每个元素设置为"蓝色".CSS的第二行(颜色:蓝色)是否会覆盖前一行(颜色:红色)?或者是第n个孩子的财产有优先权吗?如果确实有优先权,那对所有浏览器都是如此吗?

html css

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

Perl 的打印功能:打印到最后一个文件句柄?

我对 Perldoc 的这段内容感到困惑:

如果省略 FILEHANDLE,则打印到最后选择的(请参阅选择)输出句柄。 http://perldoc.perl.org/functions/print.html

似乎是说,print在写入文件句柄后,裸语句将打印到该文件句柄。我写了一个脚本来测试这个......

#!/usr/bin/perl

open (FILE, '>', 'PrintTest.txt') or die $!;
print FILE "Hello world!\n";
print "Hello.... hello? hello world!\n"; 
close FILE;
Run Code Online (Sandbox Code Playgroud)

但测试表明情况并非如此。

$ perl PrintTest.pl
Hello.... hello? hello world!
Run Code Online (Sandbox Code Playgroud)

我们在这里写入 STDOUT,而不是 FILE,这可能是最明智的结果,但似乎与上面引用的 Perldoc 行相反。也许我误解了“最后选择的输出句柄”的含义?这是我能想到的解释这一点的唯一方法:-p

提前致谢~ktm

perl

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

MySQL,相同的别名和列名,哪个优先?

如果MySQL遇到相同的列名和别名,那么一个或另一个总是优先吗?例如

select NODE1 as `NODE2`, NODE2 as `NODE1` where `NODE2`=?
Run Code Online (Sandbox Code Playgroud)

以上查询是否始终与 NODE1(标签 NODE2)与占位符匹配?换句话说,标签总是优先吗?

如果是这样,对所有SQL数据库都是如此吗?

mysql sql

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

将提取大小设置为负数

我正在使用别人的代码,其中包含以下几行:

Connection conn = dataSource.getConnection();
conn.setAutoCommit(false);

Statement stmt = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
stmt.setFetchSize(Integer.MIN_VALUE);

ResultSet rs = stmt.executeQuery(myQuery);
Run Code Online (Sandbox Code Playgroud)

我想知道是否有人可以解释将获取大小设置为Integer.MIN_VALUE的效果?也就是说,它会获取可能存储的最大行数,还是会表现其他方式?

我应该提到,我们的数据源是一个C3P0连接池,它使用MySQL JDBC驱动程序。

java mysql jdbc c3p0

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

如何实现Comparable?

我知道如何实现Comparable接口......我只有一个问题.

public class RealNumber implements Comparable {
    public int compareTo(Object obj) {
        // What do you do when obj is not an instance of RealNumber?
    }
}
Run Code Online (Sandbox Code Playgroud)

在该compareTo方法中,您是否应该处理obj不是RealNumber实例的情况?在这种情况下你应该抛出异常吗?

或者你应该假设调用compareTo方法的类只为其他RealNumber实例做这个吗?

java collections

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

如何解码类似 JSON 的 JavaScript 对象文字字符串

我在从我认为是 JSON 的字符串数组中解码时遇到问题。

var result = [
  "{gene: 'PEX2', go_bp: '0.766500871709', CombinedPvalue: '9.999999995E-4'}",
  "{gene: 'PEX5', go_bp: '0.766472586087', CombinedPvalue: '9.999999995E-4'}",
  "{gene: 'PEX7', go_bp: '0.766386859737', CombinedPvalue: '9.999999995E-4'}"
];
Run Code Online (Sandbox Code Playgroud)

您可以看到 JavaScript 对象文字中有 3 个与基因相关的字符串,每个字符串都编码为字符串。我怎样才能解码这些?

我尝试过JSON.parse,但它给了我一个错误。

for (var i = 0; i < result.length; i++) 
    console.log(JSON.parse(result[i]));
Run Code Online (Sandbox Code Playgroud)

Uncaught SyntaxError: Unexpected token g

有简单的方法吗?

javascript json

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

在 PostgreSQL 和 Oracle 中,NULL 和空字符串什么时候处理相同?

我创建了以下 dbfiddle,您可以在其中看到该字段 <> ''排除了字段为空的情况。

https://www.db-fiddle.com/f/xdfayYMvdRZDRRASvGFdpT/0

CREATE TABLE test (
  prd_typ_cd bpchar,
  prd_prnt_typ_cd bpchar,
  prd_chld_typ_cd bpchar
);
INSERT INTO test VALUES ('SHC', null, 'DIV');

INSERT INTO test VALUES ('DIV', 'SHC', 'DEP');

INSERT INTO test VALUES ('DEP', 'DIV', null);

SELECT * FROM test WHERE prd_chld_typ_cd <> '';
Run Code Online (Sandbox Code Playgroud)

我很惊讶地看到这一点,因为在大多数语言中 NULL 和 ''(空字符串)的处理方式不同。

上面的例子来自一个 PostgreSQL 数据库。在 Oracle 数据库上也是如此吗?PostgreSQL 和 Oracle 在什么情况下将 NULL 和 ''(空字符串)视为同一个东西?

sql oracle postgresql

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

如何使用 Maven Assembly 插件为 JavaFX 项目创建一个一体化 jar?

我有一个非常简单的 Java 类src/main/java/webbrowser/WebBrowser.java

package webbrowser;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.web.WebView;
import javafx.scene.web.WebEngine;
import javafx.stage.Stage;

public class WebBrowser extends Application {

    @Override
    public void start(Stage stage) {
        WebView browser = new WebView();
        WebEngine webEngine = browser.getEngine();
        webEngine.load("http://www.oracle.com");
        Scene scene = new Scene(browser, 1200, 900);
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch();
    }

}
Run Code Online (Sandbox Code Playgroud)

我有一个pom.xml列出 JavaFX 依赖项并配置程序集插件的文件:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>webbrowser</groupId>
    <artifactId>WebBrowser</artifactId>
    <packaging>jar</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>WebBrowser</name>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
    </properties>

    <dependencies> …
Run Code Online (Sandbox Code Playgroud)

java javafx maven maven-assembly-plugin

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