我有这个JSONObject:
{
"gutter_url" : "",
"sort_order" : "popularity",
"result" : [
{
"afs" : "Y",
"release_year" : 1979,
"album_sort" : "Wall, The"
}
]
}
Run Code Online (Sandbox Code Playgroud)
并希望将数组放在"结果"的位置,所以我写了这段代码:
JSONObject allCDs = new JSONObject(objectString);
JSONArray CD_List = allCDs.getJSONArray("result");
Run Code Online (Sandbox Code Playgroud)
但后来我得到了这个例外:
Exception in thread "main" org.json.JSONException: A JSONObject text must begin with '{' at character 1
at org.json.JSONTokener.syntaxError(JSONTokener.java:410)
at org.json.JSONObject.<init>(JSONObject.java:179)
at org.json.JSONObject.<init>(JSONObject.java:402)
at de.htwberlin.gim.Aufgabe8_5.getCoversFor(Aufgabe8_5.java:55)
at de.htwberlin.gim.Aufgabe8_5.main(Aufgabe8_5.java:77)
Run Code Online (Sandbox Code Playgroud) 我可以看到HttpOnlycookie 对安全性有好处,但是它们无法在没有服务器交互的情况下进行注销,对吧?1因此,当网络出现故障时,您无法注销并离开.我可以想象一个解决方法,但我想先问一下
1假设你实际上正在使用它们.
这个问题的标题是类似于这一个,但它是没有重复的为其他OP其实是想别的东西(反正没有回答我的问题在那里).我想要的是回收我已经建成Criteria的Subqueries.exists(DetachedCriteria).
我知道这Criteria基本上DetachedCriteria是附加的Session,所以我希望Criteria#toDetached()在另一边有类似的东西或工厂方法,但我找不到任何东西.
我目前有两个队列和物品在他们之间旅行.最初,一个项目被放入firstQueue,然后三个专用线程中的一个移动它secondQueue,最后另一个专用线程删除它.这些举措显然包括一些处理.我需要能够得到任何项目的状态(IN_FIRST,AFTER_FIRST,IN_SECOND,AFTER_SECOND,或ABSENT),我手动实现它做的更新statusMap,其中队列被修改的像
while (true) {
Item i = firstQueue.take();
statusMap.put(i, AFTER_FIRST);
process(i);
secondQueue.add(i);
statusMap.put(i, IN_SECOND);
}
Run Code Online (Sandbox Code Playgroud)
这是有效的,但它很丑陋并且留下了状态不一致的时间窗口.这种不一致并不是什么大不了的事情,它可以通过同步来解决,但这可能适得其反,因为队列的容量有限,可能会阻塞.丑陋使我更加困扰.
效率几乎不重要,因为处理需要几秒钟.专用线程用于控制并发.任何项目都不应该处于多个状态(但这不是非常重要,并且不能通过我目前的流行方法保证).会有更多的队列(和状态),它们会有不同的种类(DelayQueue,ArrayBlockingQueue也许PriorityQueue).
我想知道是否有一个很好的解决方案可以推广到多个队列?
我有一些工作树有一些依赖.AFAIK,git子模块将强制执行以下操作:
我不介意回购更大,但拥有副本对我来说是非常不可接受的.它会迫使我重新组织所有项目,以便将副本链接起来.此外,编辑错误的文件很容易发生,从而导致混淆.
我有另一个想法:
我能看到的唯一问题如下:
我问是否有人已经实施了(或者这是一个坏主意).
是否有任何Java库提供ImmutableBitSet?我没有找到任何,也没有发现Guava也没有使用谷歌.
我正在使用相当多的不可变集合,我很好奇如何使用Gson对它们进行反序列化.由于没有人回答我自己找到了解决方案,我正在简化问题并提出自己的答案.
我有两个问题:
Deserializer为所有人写一个单一的工作ImmutableList<XXX>?ImmutableList<XXX>?有时可以使用关联性来消除数据依赖性,我很好奇它可以提供多少帮助.我很惊讶地发现,通过手动展开一个简单的循环,我几乎可以获得4的加速因子,无论是在Java(build 1.7.0_51-b13)还是在C(gcc 4.4.3)中.
所以要么我做了一些非常愚蠢的事情,要么编译器忽略了一个强大的工具.我开始了
int a = 0;
for (int i=0; i<N; ++i) a = M1 * a + t[i];
Run Code Online (Sandbox Code Playgroud)
它计算接近String.hashCode()(设置M1=31和使用a char[])的东西.计算非常简单,t.length=1000我的i5-2400 @ 3.10GHz(Java和C)都需要大约1.2微秒.
观察每两个步骤a乘以M2 = M1*M1并添加一些东西.这导致了这段代码
int a = 0;
for (int i=0; i<N; i+=2) {
a = M2 * a + (M1 * t[i] + t[i+1]); // <-- note the parentheses!
}
if (i < len) a = M1 * a + t[i]; …Run Code Online (Sandbox Code Playgroud) 我正在寻求对基于价值的类的定义的一些澄清.我无法想象,最后一个要点(6)应该如何与第一个一起工作
Optional 就是这样一堂课.
Optional a = Optional.of(new ArrayList<String>());
Optional b = Optional.of(new ArrayList<String>());
assertEquals(a, b); // passes as `equals` delegated to the lists
b.get().add("a");
// now bite the last bullet
assertTrue(a.get().isEmpty()); // passes
assertTrue(b.get().isEmpty()); // throws
Run Code Online (Sandbox Code Playgroud)
我读错了,还是需要更准确?
伊兰的答案是有道理的(他们不再平等),但让我移动目标:
...
assertEquals(a, b); // now, they are still equal
assertEquals(m(a, b), m(a, a)); // this will throw
assertEquals(a, b); // now, they are equal, too
Run Code Online (Sandbox Code Playgroud)
让我们定义一个有趣的方法m,它会做一些变异并再次撤消它:
int …Run Code Online (Sandbox Code Playgroud) 我正在考虑询问软件建议,但后来我发现它可能是一个太奇怪的请求,它需要先澄清一些.
我的观点是:
etag
expires和max-age头是没用这里).基本上,代理应该包含映射etag到响应内容的缓存.该etag会从服务器,并在最常见的情况下获得,服务器不响应内容涉及.
它应该如下所示:代理总是向服务器发送请求然后
etag,代理根据它进行查找
etag,etag,
为简单起见,我省略了if-none-match标题的处理,这是相当明显的.
我的理由是,最常见的情况1.1可以在服务器中非常有效地实现(使用其缓存映射请求etags;内容不缓存在服务器中),这样大多数请求都可以在没有服务器处理的情况下处理响应内容.这应该比首先从侧缓存获取内容然后提供它更好.
在案例1.2中,有两个对服务器的请求,这听起来很糟糕,但并不比服务器要求侧缓存和错过更糟糕.
Q1:我想知道,如何将第一个请求映射到HTTP.在案例1中,它就像一个HEAD请求.在案例2中,它就像GET.两者之间的决定取决于服务器:如果它可以在etag不计算内容的情况下服务,那么它就是情况1,否则就是情况2.
Q2:是否有反向代理做这样的事情?我读过有关nginx,HAProxy和Varnish的内容,但似乎并非如此.这让我想到Q3:这是个坏主意吗?为什么?
问题4:如果没有,那么哪个现有代理最容易适应?
/catalog/123/item/456来自用户的GET请求U1提供了一些内容C1和etag: 777777.代理存储C1在密钥下777777.
现在同样的请求来自用户U2.代理转发它,服务器只返回 …
java ×7
immutability ×2
adapter ×1
c ×1
caching ×1
collections ×1
concurrency ×1
cookies ×1
criteria ×1
gcc ×1
git ×1
gson ×1
guava ×1
hibernate ×1
http ×1
httponly ×1
java-8 ×1
json ×1
optimization ×1
performance ×1
queue ×1
session ×1
value-class ×1
web-services ×1