小编Ali*_*iuk的帖子

Java中lambda() - > {}的含义

我正在看下面的Stack Overflow答案: 如何在运行时更改Spring的@Scheduled fixedDelay

在代码中有以下行:

schedulerFuture = taskScheduler.schedule(() -> { }, this);
Run Code Online (Sandbox Code Playgroud)

我想知道lambda () -> {}在该代码中的含义.我需要在不使用lambdas的情况下编写它.

java lambda java-7 java-8 java-9

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

用于乐观锁定的JPA版本字段的最佳类型

我怀疑哪个是用@Version注释的字段的最佳类型,用于JPA中的乐观锁定.

API javadoc(http://docs.oracle.com/javaee/7/api/javax/persistence/Version.html)说:

"版本属性支持以下类型:int,Integer,short,Short,long,Long,java.sql.Timestamp."

在其他页面(http://en.wikibooks.org/wiki/Java_Persistence/Locking#Optimistic_Locking)中说:

"JPA支持使用乐观锁定版本字段,该字段在每次更新时都会更新.字段可以是数字或时间戳值.建议使用数值,因为数值更精确,可移植,高性能且更易于处理时间戳".

"如果表已经有最后更新的时间戳列,则经常使用时间戳锁定.这也是自动更新上次更新列的便捷方式.时间戳版本值比数字版本更有用,因为它包含相关信息关于对象上次更新的时间."

我的问题是:

  • 如果您要使用lastUpdated字段或者更好地拥有数字版本字段和其他字段中的时间戳,那么更好的是Timestamp类型吗?

  • 在数值类型(int,Integer,short,Short,long,Long)之间最好选择(考虑每种类型的长度)?我的意思是,我认为最好的是Long,但每行需要很多空间.

  • 当版本字段到达数字类型的最后一个数字时会发生什么(例如,短字段中的32,767)?它会在下一次增量中从1开始吗?

jpa optimistic-locking

10
推荐指数
2
解决办法
5312
查看次数

Eclipse - 如何添加新的MariaDB连接

如何向eclipse添加新的MariaDB连接?

我正在使用Data Source Explorer视图,但是当我尝试创建新的数据库连接时,有MySQL,Oracle,Informix的连接...但是没有用于MariaDB.

谁能帮我?

mysql eclipse database-connection jdbc mariadb

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

Froala 的所有工具栏按钮

我想知道 Froala ( https://www.froala.com/wysiwyg-editor )的所有工具栏按钮的名称。我知道以下几个:

“撤消”、“重做”、“粗体”、“斜体”、“下划线”、“strikeThrough”、“selectAll”、“paragraphStyle”、“下标”、“上标”、“paragraphFormat”、“fontFamily”、“fontSize” ", "align", "formatOL", "formatUL", "outdent", "indent", "quote", "color", "emoticons", "insertTable", "createLink", "insertImage", "insertVideo", “插入文件”、“全屏”、“html”、“保存”

我至少想念插入水平线按钮。

javascript jquery toolbar button froala

6
推荐指数
2
解决办法
3897
查看次数

试用资源关闭订单

我正在查看 Java 中的 try-with-resources 示例,我了解以下内容:

try (Connection conn = DriverManager.getConnection(url, user, pwd);
     Statement stmt = conn.createStatement();
     ResultSet rs = stmt.executeQuery(query);) {
  ...
}
Run Code Online (Sandbox Code Playgroud)

所以,关闭的顺序是:

rs.close();
stmt.close();
conn.close();
Run Code Online (Sandbox Code Playgroud)

这是完美的,因为一个连接有一个语句,而一个语句有一个结果集。

但是,在以下示例中,关闭的顺序我认为与预期相反:

示例 1:

try (FileReader fr = new FileReader(file);
     BufferedReader br = new BufferedReader(fr)) {
  ...
}
Run Code Online (Sandbox Code Playgroud)

关闭顺序为:

br.close();
fr.close();
Run Code Online (Sandbox Code Playgroud)

示例 2:

try (FileOutputStream fos = new FileOutputStream("testSer.ser");
    ObjectOutputStream oos = new ObjectOutputStream(fs);) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

关闭顺序为:

oos.close();
fos.close();
Run Code Online (Sandbox Code Playgroud)

这些例子正确吗?我认为这些例子中的结束应该有所不同,因为:

  1. 在示例 1 中,BufferedReader 有一个 FileReader。
  2. 在示例 2 中,ObjectOutputStream 有一个 FileOutputStream。

java jdbc java-io try-with-resources autocloseable

6
推荐指数
2
解决办法
1140
查看次数

DriverManagerDataSource 和 SimpleDriverDataSource 之间的区别

在 Spring 中,使用DriverManagerDataSourceSimpleDriverDataSource来创建一个新的数据源(给定它的 driverClassName、url、用户名和密码)有什么区别?

例如,使用 DriverManagerDataSource 您可以执行以下操作:

DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(driverClassName);
dataSource.setUrl(url);
dataSource.setUsername(username);
dataSource.setPassword(password);
Run Code Online (Sandbox Code Playgroud)

使用 SimpleDriverDataSource 您可以执行以下操作:

SimpleDriverDataSource dataSource = new SimpleDriverDataSource();
Class<? extends Driver> driver = (Class<? extends Driver>) Class.forName(driverClassName);
dataSource.setDriverClass(driver);
dataSource.setUrl(url);
dataSource.setUsername(username);
dataSource.setPassword(password);
Run Code Online (Sandbox Code Playgroud)

spring datasource jdbc spring-jdbc

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

使用继承时JPA @PrePersist和@PreUpdate顺序

假设以下代码片段使用@PrePersist和@PreUpdate注释以及Joined-type继承:

@Entity
@Inheritance(strategy=InheritanceType.JOINED)
public abstract class A {
    ...

    @PrePersist
    private void prePersist() {
        ...
    }

    @PreUpdate
    private void preUpdate() {
        ...
    }
}

@Entity
@DiscriminatorValue("B")
public class B extends A {
    ...

    @PrePersist
    private void prePersist() {
        ...
    }

    @PreUpdate
    private void preUpdate() {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

问题:我们可以依赖回调方法的任何执行顺序吗?

例如,当持久化A类和B类时,B中的prePersist方法在A中的prePersist方法之前执行或反之?

我们可以假设B中的prePersist将在A级持久化之前执行吗?

inheritance jpa callback joined-subclass

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

使用dropzone和JSF

我想知道如何使用dropzone.js与JSF上传文件.在文档(http://www.dropzonejs.com/#usage)中,它说使用dropzone就像使用:

   <input type="file" name="file" />
Run Code Online (Sandbox Code Playgroud)

但我不知道如何在JSF中实现服务器端部分来获取文件并将其存储在磁盘中.

jsf file-upload dropzone.js

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

将用户ID作为url参数放置是否安全?

我正在开发一个社交网络,我想知道,如果在用户的个人资料页面中,我可以将存储在数据库中的用户ID作为参数放在网址中,还是在安全性方面是个坏主意?

我希望网址可以收藏.我应该换另一个东西而不是用户ID吗?

security bookmarks userid social-networking url-parameters

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