我需要一个java的浅表副本ArrayList,我应该使用clone()或迭代原始列表并将元素复制到新的arrayList中,哪个更快?
我的情况是我的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 ccos是OutputStream从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) 我有一个返回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)
还是有更优雅的解决方案?
我设置了一个带有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) 我正在尝试根据驻留在数据库中的信息创建PDF.知道我需要从Java检索作为BLOB存储在mysql数据库中的TIFF图像.我不知道该怎么做.我发现的示例显示了如何检索它并将其保存为文件(但在磁盘上),我需要驻留在内存中.
表名:IMAGENES_REGISTROS
BLOB字段名称:IMAGEN
有任何想法吗?
我有一个树结构,每个树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正在从安装它的系统中读取区域设置,时区和编码信息(可能还有更多信息).
这往往带来不好的惊喜(昨天就给我带来了一个).假设您的开发和生产服务器设置为TimeZone GMT + 2.然后在生产服务器上部署设置为GMT.2小时的班次可能不容易立即观察.虽然您可以将TimeZone日历传递给日历,但API可能会使用默认时区实例化日历(或日期).
现在,我知道应该小心这些设置,但很容易错过,因此使程序更容易出错.
那么,为什么不是Java有它自己的默认值 - UTF-8,GMT,EN_US(是的,我对非en_US区域,而拥有它默认是罚款).如果需要,应用程序可以通过某些API读取系统设置.
因此,计划将更具可预测性.
那么,这个决定背后的原因是什么?
我正在寻找一系列丰富,精心编写,稳定,可定制和酷炫的jsp'控件'.
JSP中是否存在类似的内容?一些标记库,包含日历,可排序和可分页表,ajax自动完成,选择列表,部分请求等.
我知道displaytag,ajax-tags和jspcontrols,但这些并不像上面列出的其他显示技术那么完整.
如果没有这样的库,请告知哪些库是涵盖我正在寻找的部分库的最佳库.
在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.xml和applicationcontext.xml?之间的区别?(我看到一些examples..where人导入applicationcontext.xml到dispatcherservlet-servlet.xml?)
4)请告诉我我们可以为spring web提供多少上下文,是否有任何命名约定(如调度程序servlet)?/
我是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 ×9
hibernate ×2
blob ×1
collections ×1
guava ×1
hql ×1
image ×1
immutability ×1
jdbc ×1
jsp ×1
mysql ×1
networking ×1
orm ×1
performance ×1
recursion ×1
reflection ×1
sockets ×1
sorting ×1
spring ×1
spring-mvc ×1
tcp ×1