我有一个带有几个文本字段的html表单.
当我尝试提交不是英文字符(俄语在我的情况下)服务器收到"不可读"的字符串(不是问题 - "???"但是一些奇怪的字符).
我简化了我的代码以在此处显示:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Simple jsp page</title></head>
<body>
<c:out value="${param.rustext}"/>
<form action="/test" method="post">
<input type="text" name="rustext" width="30">
<input type="submit" value="Submit">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我该怎么解决这个问题?
也许,一些性能比较或一些明显的具体差异是我想知道的.
我听说没有太大的区别.因此,我还有一个问题.出于什么目的,数十人花时间重新发明轮式工具已经实施了更多的规格?
我有开始日期和结束日期.我需要在这两个日期之间每天进行迭代.
最好的方法是什么?
我只能建议:
Date currentDate = new Date (startDate.getTime ());
while (true) {
if (currentDate.getTime () >= endDate.getTime ())
break;
doSmth ();
currentDate = new Date (currentDate.getTime () + MILLIS_PER_DAY);
}
Run Code Online (Sandbox Code Playgroud) 我有一个源代码需要通过创建类,对象和方法进行转换.到目前为止,我刚刚将初始main转换为单独的类.但我不知道如何处理构造函数以及哪些变量应该是私有的.这是代码:
import java.util.*;
public class Card{
private static void shuffle(int[][] cards){
List<Integer> randoms = new ArrayList<Integer>();
Random randomizer = new Random();
for(int i = 0; i < 8;) {
int r = randomizer.nextInt(8)+1;
if(!randoms.contains(r)) {
randoms.add(r);
i++;
}
}
List<Integer> clonedList = new ArrayList<Integer>();
clonedList.addAll(randoms);
Collections.shuffle(clonedList);
randoms.addAll(clonedList);
Collections.shuffle(randoms);
int i=0;
for(int r=0; r < 4; r++){
for(int c=0; c < 4; c++){
cards[r][c] = randoms.get(i);
i++;
}
}
}
public static void play() throws InterruptedException {
int ans = 1; …Run Code Online (Sandbox Code Playgroud) 我正在读这本书 - Hadoop:The Definitive Guide
在第2章(页25)中,提到"新API支持接口上的抽象类,因为它们更容易发展.例如,您可以在不破坏旧实现的情况下向抽象类添加方法(使用默认实现)班级".它意味着什么(特别是"破坏类的旧实现"的意思)?感谢是否有人可以向我展示一个示例为什么从这个角度来看抽象类比界面更好?
乔治,提前谢谢
我正在阅读一篇关于不同评估策略的文章(我在wiki中链接了一篇文章,但我正在阅读另一篇不是英文的文章).·又不像到call-by-name和call-by-need战略,call-by-value战略是不是 图灵完整.
有人可以解释一下,为什么会这样?如果可能,请添加示例.
compiler-construction computer-science programming-languages turing-complete
免责声明:我几乎可以肯定我以前见过同样的问题但我现在找不到它.如果有人发现了这个问题,请给出一个链接.
我听到至少有两个关于实现CRUD操作的类的最佳名称的意见:有人说这DAO是一个经典名称,每个人都知道这意味着什么,但是其他人说这Manager对CRUD功能更好.
我应该何时选择一个或另一个(或另一个)名称,是否有任何明确的规则?
我一直认为,ConcurrentHashMap类似的类(维护同步更新,不同步读取)做了一个非常有用和直观的事情:它们没有锁定读取并锁定更新的所有功能.像这样的策略确保所有事情保持一致.
但是我仔细阅读了文档,并打开了实现ConcurrentHashMap,并且正如我现在所理解的那样,当另一个线程正在执行更新时,它不会阻止读取.如果一个线程开始执行putAll(hugeCollection)而另一个线程同时重复contains(theSameObjectForAllCalls),那么第二个线程可能会在putAll仍在工作时得到不同的结果.
以下是文档中的相关部分:
对于诸如putAll和clear之类的聚合操作,并发检索可能反映仅插入或删除某些条目.
另一个有趣的事情是:
检索反映了最近完成的更新操作的结果.
这不是由于某些锁定,而是因为首先添加了一个新对象,并且只有在该对象计数器递增并且该对象对于读取操作变得可见之后.
那么,锁定更新的重点是什么?
我有一个大小为N的数组.我想在2个线程(或更多)中将其元素洗牌.每个线程都应该使用它自己的数组部分.
可以说,第一个线程将元素从0移动到K,第二个线程将元素从K移动到N(其中0 <K <N).所以,它看起来像这样:
//try-catch stuff is ommited
static void shuffle(int[] array) {
Thread t1 = new ShufflingThread(array, 0, array.length / 2);
Thread t2 = new ShufflingThread(array, array.length / 2, array.length);
t1.start();
t2.start();
t1.join();
t2.join();
}
public static void main(String[] args) {
int array = generateBigSortedArray();
shuffle(array);
}
Run Code Online (Sandbox Code Playgroud)
是否有从JVM任何担保,我会看到的变化array从main这样的洗牌后的方法?
为了获得这样的保证ShufflingThread,我应该如何实施(或者,我应该如何运行它,可能在一个synchronized区块内或其他任何区域内)?
对于Spring MVC的专家来说,这可能是一个愚蠢的问题,但我不知道它是如何在引擎盖下工作的,这就是我问的原因.
针对同一问题的另一个措辞:Spring MVC中是否存在对Spring DI的依赖?
java ×7
concurrency ×2
algorithm ×1
class ×1
date ×1
encoding ×1
guice ×1
integration ×1
interface ×1
jsf ×1
jsp ×1
jvm ×1
locking ×1
myfaces ×1
naming ×1
oop ×1
performance ×1
refactoring ×1
spring ×1
spring-mvc ×1
utf-8 ×1
webforms ×1