小编Ste*_*Kuo的帖子

Spring表单命令可以是Map吗?

Spring表单命令可以是Map吗?我通过扩展HashMap并使用['property']符号引用属性来使我的命令成为Map,但它不起作用.

命令:

public class MyCommand extends HashMap<String, Object> {
}
Run Code Online (Sandbox Code Playgroud)

HTML表单:

Name: <form:input path="['name']" />
Run Code Online (Sandbox Code Playgroud)

导致错误:

org.springframework.beans.NotReadablePropertyException: Invalid property '[name]' of bean class [com.me.MyCommand]: Bean property '[name]' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?
Run Code Online (Sandbox Code Playgroud)

这是不允许的还是我的语法不正确?

java spring spring-mvc

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

Java库从Collection或Iterable获取第N个元素

我有一个Collection并且需要得到它返回的第N个元素Iterator.我知道我可以在计算其Iterator元素时进行迭代.是否有第三方库(Google Guava或Apache Commons)这样做?

java

9
推荐指数
1
解决办法
3948
查看次数

使用AES-256 Java加密

我有这个简单的代码,我在互联网上找到..我正在学习这个加密/解密的东西..这段代码似乎工作正常,但我不明白的东西......为什么在"c.doFinal()之后"(用于使用AES-256加密/解密)这个人使用BASE64编码/解码该加密值?仅使用AES还不够?

`private static final String ALGO = "AES";
 private static final byte[] keyValue = 
 new byte[] { 'T', 'h', 'e', 'B', 'e', 's', 't', 'S', 'e', 'c', 'r','e', 't', 'K', 'e', 'y' };


 public static String encrypt(String Data) throws Exception {
    Key key = generateKey();
    Cipher c = Cipher.getInstance("AES");
    c.init(Cipher.ENCRYPT_MODE, key);
    byte[] encVal = c.doFinal(Data.getBytes());
    String encryptedValue = new BASE64Encoder().encode(encVal);
    return encryptedValue;
}

public static String decrypt(String encryptedData) throws Exception {
    Key key = generateKey();
    Cipher c = Cipher.getInstance(ALGO);
    c.init(Cipher.DECRYPT_MODE, …
Run Code Online (Sandbox Code Playgroud)

java encryption base64 aes

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

为什么Intent实现Cloneable?

为什么Android会Intent实现Cloneable?Intent是否曾被克隆过?

Intent的clone()实现被破坏,因为它调用构造函数而不是调用super.clone().如果克隆了Intent的子类,则保证它们具有破坏的行为(相应的Android bug).

java android clone android-intent

9
推荐指数
1
解决办法
478
查看次数

单个维度内非重叠范围的数据结构

我需要一个可以在一个维度内存储非重叠范围的数据结构.不需要完全覆盖整个尺寸范围.

一个例子是会议室调度程序.维度是时间.没有两个时间表可能重叠.会议室并非始终安排.换句话说,对于给定时间,最多可以有一个时间表.

快速解决方案是存储开始和结束时间的范围.

Range {
    Date start
    Date end
}
Run Code Online (Sandbox Code Playgroud)

这是非规范化的,要求容器不强制执行.对于两个相邻的范围,前一个'结束将在下一个开始时是多余的.

另一种方案可能涉及存储每个范围的一个边界值.但是对于连续的范围序列,总会有一个边界值而不是范围.为了解决这个问题,序列可以表示为交替的边界值和范围:

B =边界值,r =范围

BrBrB

数据结构可能如下所示:

Boundary {
    Date value
    Range prev
    Range next
}

Range {
    Boundary start
    Boundary end
}
Run Code Online (Sandbox Code Playgroud)

从本质上讲,它是具有交替类型的双向链表.

最终,我使用的任何数据结构都将在内存(应用程序代码)和关系数据库中表示.

我很好奇学术界或行业所尝试的解决方案是什么.

normalizing database-design data-structures

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

对泛型类的非泛型引用会导致非泛型返回类型

我有一个遗留类,该类本身不是通用的,但其方法之一返回类型使用泛型:

public class Thing {
    public Collection<String> getStuff() { ... }
}
Run Code Online (Sandbox Code Playgroud)

getStuff()使用泛型返回字符串集合.因此我可以迭代,getStuff()不需要将元素转换为String:

Thing t = new Thing();
for (String s: t.getStuff())  // valid
{ ... }
Run Code Online (Sandbox Code Playgroud)

但是,如果我将Thing自己更改为通用但保持其他所有内容相同:

public class Thing<T> {
    public Collection<String> getStuff() { ... }
}
Run Code Online (Sandbox Code Playgroud)

然后继续使用非泛型引用Thing,getStuff()不再返回Collection<String>而是返回非类型Collection.因此客户端代码不编译:

Thing t = new Thing();
for (String s: t.getStuff())  // compiler complains that Object can't be cast to String
{ ... }
Run Code Online (Sandbox Code Playgroud)

为什么是这样?解决方法有哪些?

我的猜测是,通过使用对泛型类的非泛型引用,Java会关闭整个类的所有泛型.这很痛苦,因为现在我通过使Thing成为通用来破坏我的客户端代码.

编辑: …

java generics

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

最大Java内存+ TOMCAT +服务器,144GB RAM

我完成了我的作业,但我无法找到问题的答案.

我有一个144GB内存的服务器(147456MB)我有java JDK 1.6.0_24-b07我也有tomcat 7.0.10.0

我想尽可能多地分配内存.

我想要像Xmx = 130000M(甚至Xmx = 135000M).我想拥有尽可能多的JVM内存.

我无法跳过111000M它说出了堆空间

JAVA_OPTS="$JAVA_OPTS "-Xms111000M
JAVA_OPTS="$JAVA_OPTS "-Xmx111000M
JAVA_OPTS="$JAVA_OPTS "-XX:PermSize=64M
JAVA_OPTS="$JAVA_OPTS "-XX:MaxPermSize=256M
JAVA_OPTS="$JAVA_OPTS "-d64
JAVA_OPTS="$JAVA_OPTS "-XX:+UseParallelOldGC 
Run Code Online (Sandbox Code Playgroud)

我真的必须有Xms = Xmx我尝试了很多选项,我无法跳过.是否可能有"位"额外的内存?

关心鲍勃

java

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

在Hibernate的XML配置文件中指定默认值

我正在通过映射配置文件配置Hibernate.

<class name="Person" table="person">
    <id name="id" column="id" type="long"/>
    <property name="name" column="name" type="string"/>
    <property name="age" column="age" type="integer"/>
</class>
Run Code Online (Sandbox Code Playgroud)

如何设置age为可空并且默认为null?

java hibernate hibernate-mapping

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

在Java中使用正则表达式在双引号之间提取子字符串

我有一个像这样的字符串:

"   @Test(groups = {G1}, description = "adc, def")"
Run Code Online (Sandbox Code Playgroud)

我想在Java中使用regexp提取"adc,def"(不带引号),我该怎么办?

java regex

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

Clojure core.async,channel vs port

在Clojure core.async中,通道和端口是一回事吗?如果不是有什么区别?在观看视频Timothy Baldridge - Core.Async时,他创建了一个频道

(def c (chan))
Run Code Online (Sandbox Code Playgroud)

然后

(<!! c)
Run Code Online (Sandbox Code Playgroud)

c是渠道还是国家的文件<!!(强调添加)

用法:(<!! port)从端口获取val .如果关闭,将返回nil.如果没有可用的话会阻止.

目前还不清楚核心.async文档.

clojure core.async

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