小编Boz*_*zho的帖子

ArrayList浅拷贝迭代或克隆()

我需要一个java的浅表副本ArrayList,我应该使用clone()或迭代原始列表并将元素复制到新的arrayList中,哪个更快?

java

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

使用构造函数参数从Class创建新实例

我的情况是我的Java类需要创建大量特定类型的对象.我想给出作为参数创建的对象类的名称.另外,我需要在构造函数中为创建的类赋一个参数.我有类似的东西

class Compressor {

    Class ccos;

    public Compressor(Class ccos) {
        this.ccos = ccos;
    }

    public int getCompressedSize(byte[] array) {
        OutputStream os = new ByteArrayOutputStream();
        // the following doesn't work because ccos would need os as its constructor's parameter
        OutputStream cos = (OutputStream) ccos.newInstance();
        // ..
    }
}
Run Code Online (Sandbox Code Playgroud)

你有什么想法我可以解决这个问题吗?

编辑:

这是一个研究项目的一部分,我们需要评估具有多个不同输入的多个不同压缩机的性能.Class ccosOutputStream从Java的标准库,Apache Compress Commons或lzma-java 压缩而来的.

目前我有以下似乎工作正常.其他想法是受欢迎的.

OutputStream os = new ByteArrayOutputStream();
OutputStream compressedOut = (OutputStream) ccos.getConstructor(OutputStream.class).newInstance(os);
final InputStream sourceIn = new ByteArrayInputStream(array);
Run Code Online (Sandbox Code Playgroud)

java reflection

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

返回ImmutableMap <文件,文件>

我有一个返回Map的方法.我最初会返回该方法生成的HashMap,但认为返回一个ImmutableMap会更好.不幸的是,以下语句拒绝在eclipse中工作:

HashMap<File, File> map = new HashMap<File, File>();
map.put(...);
.
.
.
return ImmutableMap.builder ().putAll (map).build ();
Run Code Online (Sandbox Code Playgroud)

它一直在说我正在回复一个不相容的陈述,a Map<Object, Object>.

我最初尝试使用:

return ImmutableMap<File, File>.builder ().putAll (map).build ();
Run Code Online (Sandbox Code Playgroud)

但这显然不起作用.我最好如何解决这个问题?我应该先将它存储在类似的东西中

ImmutableMap<File, File> m = ImmutableMap.builder ().putAll (map).build ();
Run Code Online (Sandbox Code Playgroud)

还是有更优雅的解决方案?

java collections immutability guava

16
推荐指数
2
解决办法
5968
查看次数

Java TCP套接字:数据传输速度很慢

我设置了一个带有ServerSocket的服务器,用客户机连接到它.它们通过交换机直接联网,ping时间<1ms.

现在,我尝试通过套接字的输出流将"大量"数据从客户端推送到服务器.转移0.6Gb需要23分钟.我可以通过scp在几秒钟内推送一个更大的文件.

知道我可能做错了什么吗?我基本上只是循环并在套接字上调用writeInt.速度问题与数据来源无关,即使我只是发送一个常量整数而不是从磁盘读取.

我尝试将两侧的发送和接收缓冲区设置为4Mb,没有骰子.我为读写器使用缓冲流,没有骰子.

我错过了什么吗?

编辑:代码

这是我制作套接字的地方

System.out.println("Connecting to " + hostname);

    serverAddr = InetAddress.getByName(hostname);

    // connect and wait for port assignment
    Socket initialSock = new Socket();
    initialSock.connect(new InetSocketAddress(serverAddr, LDAMaster.LDA_MASTER_PORT));
    int newPort = LDAHelper.readConnectionForwardPacket(new DataInputStream(initialSock.getInputStream()));
    initialSock.close();
    initialSock = null;

    System.out.println("Forwarded to " + newPort);

    // got my new port, connect to it
    sock = new Socket();
    sock.setReceiveBufferSize(RECEIVE_BUFFER_SIZE);
    sock.setSendBufferSize(SEND_BUFFER_SIZE);
    sock.connect(new InetSocketAddress(serverAddr, newPort));

    System.out.println("Connected to " + hostname + ":" + newPort + " with buffers snd=" + sock.getSendBufferSize() + " rcv=" …
Run Code Online (Sandbox Code Playgroud)

java sockets performance networking tcp

15
推荐指数
4
解决办法
4万
查看次数

检索在MYSQL DB上存储为BLOB的映像

我正在尝试根据驻留在数据库中的信息创建PDF.知道我需要从Java检索作为BLOB存储在mysql数据库中的TIFF图像.我不知道该怎么做.我发现的示例显示了如何检索它并将其保存为文件(但在磁盘上),我需要驻留在内存中.

表名:IMAGENES_REGISTROS

BLOB字段名称:IMAGEN

有任何想法吗?

java mysql blob image jdbc

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

HQL递归,我该怎么做?

我有一个树结构,每个树Node都有父母和一个Set<Node> children.每个节点都有一个String title,我想在我选择的地方进行查询Set<String> titles,作为该节点和所有父节点的标题.我该如何写这个查询?

对单个标题的查询是这样的,但就像我说的那样,我希望它扩展到父母的整个分支.

SELECT node.title FROM Node node WHERE node.id = :id
Run Code Online (Sandbox Code Playgroud)

干杯

java recursion orm hibernate hql

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

为什么Java从系统中读取其默认设置

Java正在从安装它的系统中读取区域设置,时区和编码信息(可能还有更多信息).

这往往带来不好的惊喜(昨天就给我带来了一个).假设您的开发和生产服务器设置为TimeZone GMT + 2.然后在生产服务器上部署设置为GMT.2小时的班次可能不容易立即观察.虽然您可以将TimeZone日历传递给日历,但API可能会使用默认时区实例化日历(或日期).

现在,我知道应该小心这些设置,但很容易错过,因此使程序更容易出错.

那么,为什么不是Java有它自己的默认值 - UTF-8,GMT,EN_US(是的,我对非en_US区域,而拥有它默认是罚款).如果需要,应用程序可以通过某些API读取系统设置.

因此,计划将更具可预测性.

那么,这个决定背后的原因是什么?

java

15
推荐指数
2
解决办法
1122
查看次数

推荐的JSP标记库

我正在寻找一系列丰富,精心编写,稳定,可定制和酷炫的jsp'控件'.

  • JSF有丰富的表面,主要表面和冰面
  • GWT具有ext-gwt,gwt-ext,advanced-gwt,on-gwt

JSP中是否存在类似的内容?一些标记库,包含日历,可排序和可分页表,ajax自动完成,选择列表,部分请求等.

我知道displaytag,ajax-tags和jspcontrols,但这些并不像上面列出的其他显示技术那么完整.

如果没有这样的库,请告知哪些库是涵盖我正在寻找的部分库的最佳库.

java jsp

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

我们可以更改DispatcherServlet上下文配置文件名吗?

在Spring web mvc中

1)如果我们定义DispatcherServlet如下

<servlet>
    <servlet-name>appServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
Run Code Online (Sandbox Code Playgroud)

它会查找spring命令中提到的文件夹appServlet-servlet.xml下的WEB-INF文件.

我的问题是我们可以更改它找到的文件名位置吗?(我认为使用上下文或init参数我们可以做到这一点,任何机构都可以告诉我究竟应该是什么?)

2)在每个春季网络mvc web.xml,我们将有以下行:

    <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)

在这里,我的问题是它寻找的上下文文件?(是这个上下文加载器监听器,它查找dispatcherservlet-servlet.xml?)

3)dispatcherservlet-servlet.xmlapplicationcontext.xml?之间的区别?(我看到一些examples..where人导入applicationcontext.xmldispatcherservlet-servlet.xml?)

4)请告诉我我们可以为spring web提供多少上下文,是否有任何命名约定(如调度程序servlet)?/

spring spring-mvc

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

如何在hibernate中使用条件对列表进行排序

我是Spring3和Hibernate的新手,下面的代码工作得很好,但我试图找到一种方法让我的列表按日期字段按排序顺序返回.有人可以告诉我如何添加排序到这段代码

// To get list of all articles
@SuppressWarnings("unchecked")
public List<Friend> listFriends(String rUser) 
{
   Friend friend = new Friend();
    friend.setUsername(rUser);

    return (List<Friend>) sessionFactory.getCurrentSession()
       .createCriteria(Friend.class)
        .add(Example.create(friend))
        .list();
}
Run Code Online (Sandbox Code Playgroud)

java sorting hibernate

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