小编Mar*_*szS的帖子

在基础常规中施放更优雅的方式

我似乎总是需要在params对象中转换值以执行a .equals但它从来没有感觉到正确.如果我使用这些parseXXX方法,我还必须在值为空时保护自己.看起来有更好的方法来处理像Groovy这样的动态语言.有没有人发现一种不同的方式,感觉更像Groovy而不像Java?我可以构建一个实用程序类来清理它,但我正在寻找一些内置的功能,所以请不要建议额外的库.

例:

def intValue = (params.intValue)? Integer.parseInt(params.intValue) :null

Things.each{ thing -> 
    if (thing.intValue.equals(intValue)){
        //do stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

java groovy casting

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

spring中物理和逻辑事务的区别

在这个 spring 文档 http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/transaction.html 中。它谈到了物理和逻辑事务。我写了一个非常简单的程序来理解

TransactionObject.java

class TransactionObject {

    private static Connection conn;

    TransactionObject() {
        try {
            conn = DriverManager.getConnection("DB_URL", "USER", "PASS");
        } catch (SQLException e) {}
    }

    void rollBack() {
        try {
            conn.rollback();
        } catch (SQLException e) { }
    }

    void Commit() {
        try {
            conn.commit();
        } catch (SQLException e) { }
    }
}
Run Code Online (Sandbox Code Playgroud)

ClassMethodUnderTransactionObject.java

public class ClassMethodUnderTransactionObject {
    // start fresh TransactionObject
    TransactionObject  logical= new TransactionObject();

    M2(); // call M2 use same logical object
    M3(); // call …
Run Code Online (Sandbox Code Playgroud)

java spring transactions spring-transactions

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

为什么Java中的运算符总是生成整数?

我有这样的代码

short a = 1;
short b = 2 ;
short c = a + b; // dosen't compile
Run Code Online (Sandbox Code Playgroud)

编译失败的原因是什么?x+ x总是产生Integer更大 Number,但为什么?

java jvm compiler-errors language-specifications

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

在Java中需要多长时间?用Java测量延迟时间

我不想更改此代码,我只对JVM,OS或内核定制/配置感兴趣以获得最佳结果!


我有一个第二个循环(1000 x 1ms)

public static void main(String[] args) throws InterruptedException {
    long start = System.nanoTime();
    for (int i = 0; i < 1000; i++ ) {
        Thread.sleep(TimeUnit.MILLISECONDS.toMillis(1));
    }
    long duration = System.nanoTime()  - start;
    System.out.println("Loop duration " + 
         duration / TimeUnit.MILLISECONDS.toNanos(1) + " ms.");
}
Run Code Online (Sandbox Code Playgroud)

在我的带有内核3.12的Fedora 20上,这个循环需要1055毫秒.

这是相当不错的结果,平均超过1100ms.

是否可以使用自定义JVM标志或操作系统配置更快地使用此代码?

Loop duration 1055 ms.
Run Code Online (Sandbox Code Playgroud)

java performance benchmarking for-loop real-time

4
推荐指数
2
解决办法
1117
查看次数

在 Java 中将 UUID 编码为 Base62(不是 Base64)

我正在尝试缩短 UUID 值(存储在数据库中作为 UUID,而不是字符串)嵌入到 URL 中。我知道 URL 的 Base64,但试图看看我是否可以在没有破折号和下划线字符的情况下制作它。所以我想将 UUID 转换为 base62。经过大量的谷歌搜索,我发现:

  1. 对此没有标准(类似于 RFC2045),对吗?

  2. 最重要的是,它没有适当的实现。我发现了很多关于如何做到这一点的片段,但有一些说明“这是一个天真的实现”或其他东西。是否有适当的实现(我不介意准确解释映射应该如何完成,只要它正确完成)?

  3. Apache Commons Codec 和 Guava 中有一些基类为 Base32 和 Base64 扩展,但我发现为 Base62 扩展它并不容易。甚至有可能做到吗(考虑到映射根本不同的事实)?
    谢谢。

java uuid encoding base62

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

用于java扩展类的Hibernate注释映射

我正在开发一个Spring Hibernate项目,我有三个类 BaseEntity,Person&Owner.

Person延伸BaseEntity,Owner延伸Person.

BaseEntity.java

public class BaseEntity {

    private Integer id;

        Getters & Setters 
Run Code Online (Sandbox Code Playgroud)

Person.java

public class Person extends BaseEntity {

    private String firstName;

    private String lastName;

       Getters & Setters 
Run Code Online (Sandbox Code Playgroud)

Owner.java

@Entity
@Table(name="OWNERS")
public class Owner extends Person {

    @Column(name="ADDRESS")
    private String address;

    @Column(name="CITY")
    private String city;

    @Column(name="TELEPHONE")
    private String telephone;

    Getter and Setters
Run Code Online (Sandbox Code Playgroud)

现在我想在一个表中映射三个类的所有属性Owner.任何人都可以帮我,我该如何映射?

我有一个基于xml的映射,我希望在注释中执行此操作

<class name="org.springframework.samples.petclinic.Owner" table="owners">
        <id name="id" column="id">
            <generator class="identity"/>
        </id> …
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa hibernate-mapping java-ee

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

将两个列表合并为一个列表

我有一个ArrayList如下.

ArrayList<ArrayList<String>> a = new ArrayList<ArrayList<String>>();
Run Code Online (Sandbox Code Playgroud)

其中ArrayList 'a'包含两个StringList的字符串,如下所示.

[a,b,c,d] & [1,2,3,4]
Run Code Online (Sandbox Code Playgroud)

如何将这两个列表合并为一个列表,如下所示.

[a,b,c,d,1,2,3,4]
Run Code Online (Sandbox Code Playgroud)

提前致谢.

java collections merge list

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

如何直接从Java调用Clojure函数

我有Clojure功能generate-id.

源代码:

(ns url62.core)
...
(defn generate-id []
  (int-to-base62 (java.math.BigInteger. (clojure.string/replace (str (java.util.UUID/randomUUID)) "-" "") 16)))
Run Code Online (Sandbox Code Playgroud)

我需要从Java执行此函数.

我试过这样的代码:

IFn generateId = Clojure.var("url62.core", "generate-id");
generateId.invoke(UUID.randomUUID());
Run Code Online (Sandbox Code Playgroud)

但这不起作用:

java.lang.IllegalStateException: Attempting to call unbound fn: #'url62.core/generate-id

    at clojure.lang.Var$Unbound.throwArity(Var.java:43)
    at clojure.lang.AFn.invoke(AFn.java:32)
    at clojure.lang.Var.invoke(Var.java:379)
Run Code Online (Sandbox Code Playgroud)

java clojure

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

在java中断言后的NullPointerException

以下方法是名为election_date的字段的setter,其类型为java.util.date.它是tomcat应用程序的一部分.

执行时,我在行上得到一个Null指针异常:

    System.out.println("ELECTION DATE: " + this.election_date.toString());
Run Code Online (Sandbox Code Playgroud)
public void setElection_date(Date election_date) {

    this.election_date = election_date;
    assert (this.election_date != null);
    assert (this.election_date.toString()) != null;
    System.out.println("ELECTION DATE: " + this.election_date.toString());
}
Run Code Online (Sandbox Code Playgroud)

编辑:请不要告诉我这是垃圾收集.我可能稍微离开巴尔默峰,但距离那不远.

java assert nullpointerexception

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

缺少Eclipse STS中的"在服务器上运行"选项

我是Spring的新手,我想学习如何使用Spring开发REST API,所以我遵循了本教程:

https://spring.io/guides/gs/rest-service/

我正在使用STS,问题是当我尝试运行它时,我没有"Run on Server"选项.为什么?抱歉,这个菜鸟问题

问候

eclipse spring

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