小编Vin*_*C M的帖子

Java:不可变性和序列化

当我有一个不可变的父类A不是最终的,而另一个类B扩展它(B是可变的)时,有没有什么方法可以因为序列化而影响A的不变性?

我写了一个小程序来序列化一个对象,改变它在程序中的状态,然后对它进行反序列化.我把对象放回到序列化的形式中.所以我想知道有什么方法可以通过序列化来改变A的不变性吗?

java serialization immutability

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

使用hMailServer配置Thunderbird的问题

我安装了hMailServer并执行了以下操作

  1. Created a test.com domain
  2. Added an user testuser
Run Code Online (Sandbox Code Playgroud)

现在hMailServer正在我的localhost中运行.

当我安装Mozilla雷鸟并尝试通过输入用户名和密码来配置它时,它无法给出

  Thunderbird failed to find the settings for your email account.
Run Code Online (Sandbox Code Playgroud)

如何告诉thunderbird我在本地主机上运行的hMailServer?当我进入testuser@test.com时,thunderbird在哪里寻找域名?

我看到了一些消息,比如"在Mozilla ISP数据库中查找".但是邮件服务器在我的本地机器上.

我错过了任何配置细节吗?

email thunderbird hmail-server

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

在java中从HTML中删除css信息

是否有任何库或预先编写的代码可以从HTML代码中删除css属性.

要求是,Java代码必须通过输入html文档进行解析,并删除css属性并生成输出html文档.

例如,如果输入的html文档具有此元素,

      <p class="abc" style="xyz" > some text </p>
Run Code Online (Sandbox Code Playgroud)

输出应该是

      <p > some text </p>
Run Code Online (Sandbox Code Playgroud)

html java parsing

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

我们如何对这个lambda表达式进行单元测试?

我们有一个从浏览器调用的REST端点(JAX-RS).我们传递OutputStream,以便我们可以让浏览器显示调用的结果.

这是方法.

@Path("/mypath/{userId}")
@POST
public Response createUser(@PathParam("userId") final int userId ) {
    StreamingOutput stream = (outputStream) -> {
        User user = userHelper.findUser(userId);
        userHelper.updateUser(user,outputStream);
    };

    return Response.ok(stream).build();
}
Run Code Online (Sandbox Code Playgroud)

使用JUnit和的Mockito,我们如何验证是否userHelper.findUseruserHelper.updateUser被称为

基本上我们只想验证交互.

java junit unit-testing mockito

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

舍入到最接近的0.05值的问题

已经有很多问题要问这个问题了.

一个流行的答案是使用以下公式.

  Math.ceiling(myValue * 20) / 20
Run Code Online (Sandbox Code Playgroud)

我需要以下输出作为相应的输入.

     16.489 (input)   - 16.49(output)
Run Code Online (Sandbox Code Playgroud)

使用上面的公式

     16.489*20  = 329.78

     Math.ceil(329.78) = 330.0

     and 330.0 /20  = 16.5 
Run Code Online (Sandbox Code Playgroud)

但我想要的是16.49.

理想情况下,Math.ceil的东西应该给出329.8

那么我们如何解决上述问题呢?还有许多类似的案例.

java double decimal rounding

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

计算算法的复杂性

我不确定这是否是一个有效的问题.

假设有一个O(n ^ 3)算法,它每天用计算能力x对100个数字进行排序.

如果计算能力加倍,即2倍,它将能够排序多少个数字.

我明白我不会定义'计算能力'.如果不明确或错误,请更正问题.

algorithm complexity-theory

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

在同步块中使用Vector会有什么不同吗?

我在接受采访时被问到这个问题.

矢量已经同步.在同步块中调用它会有什么不同吗?

       synchronized{
            // Call the vector here
       }
Run Code Online (Sandbox Code Playgroud)

我的答案是,除了性能损失之外,没有任何区别.

答案是否正确?

java synchronization vector

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

关于覆盖java中的equals方法

我试图在类中重写equals和hashcode方法.它是另一个类的子类,它不实现equals方法和hashCode方法.

Eclipse给出了以下警告.

  The super class ABC does not implement equals() and hashCode() methods.
  The resulting code may not work correctly. 
Run Code Online (Sandbox Code Playgroud)

为什么给出上述警告?在什么情况下它可能无法正常工作?

java equals hashcode

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

Hibernate:是什么让JDBC连接变得昂贵?

我读了一本关于Hibernate的书,我遇到了关于Session对象的以下声明.

....但是如您所知,不建议跨多个请求保持JDBC连接,因为它是一种昂贵的资源.因此,如果我们想要长时间维护Hibernate会话,使其跨越多个重用持久实例的请求,我们希望在不关闭会话的情况下断开每个请求的会话JDBC连接.我们可以在Session接口中使用disconnect()和reconnect()方法来支持这种要求.

断开连接并重新连接JDBC会使它比保持原样更昂贵吗?究竟是什么让资源变得昂贵?

java hibernate transactions jdbc

3
推荐指数
2
解决办法
1817
查看次数

java:关于不可变和最终的问题

我正在读"Effective Java"一书.

在最小化可变性项目中,Joshua Bloch讨论了使一个类不可变的问题.

  1. 不提供任何修改对象状态的方法 - 这很好.

  2. 确保无法扩展该类. - 我们真的需要这样做吗?

  3. 让所有领域成为最终 - 我们真的需要这样做吗?

例如,假设我有一个不可变类,

class A{
private int a;

public A(int a){
    this.a =a ;
}

public int getA(){
    return a;
}
}
Run Code Online (Sandbox Code Playgroud)

从A延伸出来的课程如何影响A的不变性?

java final immutability

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