小编los*_*jos的帖子

如何在Java中使用lambda表达式搜索集合?

有一Person类(包含三个元素:person_name,age,sex).有一个List有100个Person对象.

我需要通过搜索此列表person_name并使用lambda表达式实现搜索功能.

java collections lambda java-8

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

每天选择特定时间范围的时间戳数据

我有一个postgresql表,其中包含一个类型的列timestamp without timezone.每行增加/减少1分钟,例如:

2015-07-28 01:35:00
2015-07-28 01:34:00
2015-07-28 01:33:00
...
...
2015-07-27 23:59:00
2015-07-27 23:58:00
2015-07-27 23:57:00
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写一个查询,它将选择某个日期范围之间的所有行,但也会在这些日期的特定时间范围内选择,例如:选择08年期间2015-05-20到2015-06-20之间的所有行: 00:00至16:00:00

到目前为止我尝试的所有内容似乎都不考虑日期+时间要求.

postgresql sql-timestamp

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

触发器中的 RAISE NOTICE 'text' 是否会减慢 Postgresql 中的查询速度?

当我测试我的查询触发器时,我发现当我在触发器代码中放置大量“RAISE NOTICE ...”时查询执行时间会增加。当我在我的软件中调用此查询而不在消息窗口中显示输出时,或者仅在附加消息输出时,这个时间是否也会增加?

postgresql raise

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

如何在PostgreSQL中使用带有PreparedStatement的IN子句

我必须为Postgres数据库编写一个SQL查询,如下所示:

DELETE FROM employee WHERE ename IN (?)
Run Code Online (Sandbox Code Playgroud)

我想传递ename包含多个员工姓名的列表或字符串,例如"abc, bcd, efg".如何设置值?

如何在Postgres中使用IN子句PreparedStatement

sql postgresql jdbc prepared-statement

5
推荐指数
3
解决办法
5546
查看次数

带有conf文件夹的Gradle构建文件,其属性不在jar中,而是在类路径中

您能否分享一个带有配置文件夹“conf”的 build.gradle 脚本示例:

  1. 这个文件夹包括所有包含的文件,在“gradle distZip”过程中被打包成 zip 文件;
  2. 此文件夹中的文件位于 startscripts 文件(在 bin 文件夹中)中的类路径(例如,ClassLoader 可访问);
  3. 当运行 gradle run、gradle build 等时,这些文件也在类路径上。

添加#1:

我已经完成了@wakjah 指出的答案中提到的操作,文件被复制到一个 zip 文件并且在 期间没有放入 jar gradle distZip,这涵盖了我的要求 #1。但是此文件夹不在文件夹的启动脚本中的类路径上bin不包括要求 #2 )。运行时文件不在类路径上gradle clean run不包括要求 #3 )。

添加#2:

@wakjah的帮助下,我从头开始了示例项目,现在我拥有:

  1. 要求 #1:好的(目录config包含资源文件),但此资源也在lib文件夹中。
  2. 要求 #2:好的(目录config在启动脚本中的类路径上),但类路径还包含无效文件夹%APP_HOME%\lib\config
  3. 要求 #3:好的

此外,我测试的加载文件内容的方法3(如所提到的在这里),方法Thread.currentThread().getContextClassLoader().getResource(name)成功。

在此处添加了我的示例项目 zip 文件:http : //rgho.st/8r2dJjSz7

添加#3

当我在 gradle 脚本中评论/删除时:

dependencies { …

java gradle

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

将字符串转换为HashMap的最简单方法

如果我在字符串中有一些文字,如:

"ABC = 123,DEF = 456,GHI = 789"

如何HashMap<String,Int>在Kotlin中以最简单,最短的代码量为它创建一个填充对象?

parsing kotlin

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

如何正确删除文件?

我在使用 org.apache.commons.io.FileUtils 从 img 目录中删除文件时遇到问题。我正在使用此代码:

File dir = new File(".\\img");
    FileFilter fileFilter = new WildcardFileFilter(userId + ".*");
    File[] files = dir.listFiles(fileFilter);
    System.out.println("files found: " + files.length);
    for (int i = 0; i < files.length; i++) {
        boolean success = FileUtils.deleteQuietly(files[i]);
        System.out.println(files[i] + " delete result = " + success);
    }
}
Run Code Online (Sandbox Code Playgroud)

实际上,该代码用于用新的图像文件替换 img 目录中存在的图像文件。我需要删除所有以前存在的名称为 n.* 的文件,并使用新文件 egnpng。如果我尝试删除图像文件,我会得到变量成功的假值,并且文件不会被删除。但不是图像文件,例如 *.abc;*.acd; *.acdc 等被成功删除。这个问题是什么情况?

java delete-file

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

Groovy - GString 用作键与 String 作为键,下标表示法与 put 方法

groovy 文档中,它提到使用 GString 作为键是不好的:

def key = 'some key'
def map = [:]
def gstringKey = "${key.toUpperCase()}"
map.put(gstringKey,'value')
assert map.get('SOME KEY') == null
Run Code Online (Sandbox Code Playgroud)

但是,只需更改 put() 方法以使用下标表示法:

def key = 'some key'
def map = [:]
def gstringKey = "${key.toUpperCase()}"
map[gstringKey] = 'value' // here
assert map.get('SOME KEY') == null
Run Code Online (Sandbox Code Playgroud)

足以导致断言失败。使用 [] 和 put() 方法之间的语义有何不同?下标符号是否有某种隐式转换为 String 可能?

groovy gstring

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

在 Kotlin 中声明静态接口字段

是否可以写出相当于Java的东西

interface Foo {
    public static final INSTANCE = new Foo {};
}
Run Code Online (Sandbox Code Playgroud)

在科特林?

如果Foo是一堂课,我可以使用:

class Foo {
    companion object {
        @JvmField
        val INSTANCE = object : Foo() {}
    }
}
Run Code Online (Sandbox Code Playgroud)

但使用接口时会出现错误:

JvmField 不能应用于接口的伴生对象中定义的属性

@JvmStatic也不行。

interface kotlin

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

SSL握手 - java.security.InvalidAlgorithmParameterException问题

需要你的java问题的建议.

目前,我们在使用Java代码访问Web服务时遇到问题.我们的供应商使用SSL - RSA 2048位(SHA256withRSA),DH(Diffie-Hellman算法)素数值大于1024的SSL.我们在生产中有java版本1.6.0.10.

当我们执行代码时,我们收到错误 -

Caused by: java.lang.RuntimeException: Could not generate DH keypair at com.sun.net.ssl.internal.ssl.DHCrypt.<init>(DHCrypt.java:106)
        at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverKeyExchange(ClientHandshaker.java:556)
        at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:183)
        at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:593)
        at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:529)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:893)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1138)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1165)
        ... 6 more
Caused by: java.security.InvalidAlgorithmParameterException: Prime size must be multiple of 64, and can only range from 512 to 1024 (inclusive) at com.sun.crypto.provider.DHKeyPairGenerator.initialize(DashoA13*..)
        at java.security.KeyPairGenerator$Delegate.initialize(KeyPairGenerator.java:627)
        at com.sun.net.ssl.internal.ssl.DHCrypt.<init>(DHCrypt.java:100)         ... 13 more
Run Code Online (Sandbox Code Playgroud)

这是已知的java的bug /限制,它已在v7及之后修复,但它仍然存在于'1.6.0.10'中

https://bugs.java.com/bugdatabase/view_bug.do?bug_id=7044060 https://bugs.java.com/bugdatabase/view_bug.do?bug_id=6521495

在上面的链接中,我发现以下声明 -

CUSTOMER提交的变通方法:使用BouncyCastle的JCE实现,它不会强制实施此限制,也不会直接使用BigNumber API.

我们无法升级到最新的java版本.我们可以实施任何解决此SSL握手问题的方法吗?我们是否需要对bouncycastle实施进行服务器端更改?或者我们只能在客户端使用?任何有关解决此问题的建议都受到高度赞赏.

java ssl java-6

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