转换JSON代码的最佳方法是:
{
"data" :
{
"field1" : "value1",
"field2" : "value2"
}
}
Run Code Online (Sandbox Code Playgroud)
在Java Map中,其中一个键是(field1,field2),这些字段的值是(value1,value2).
有任何想法吗?我应该使用Json-lib吗?或者更好,如果我写自己的解析器?
我正在寻找Java的Collections框架中的LIFO结构(Stack)而没有任何成功.基本上我想要一个非常简单的堆栈; 我完美的选择是Deque,但我是Java 1.5.
我不想在我的结构中添加另一个类,但我想知道是否可能:
Collections框架(1.5)中是否有任何类可以完成这项工作?
如果没有,有没有办法在没有重新实现的情况下在LIFO队列(即堆栈)中转换队列?
如果没有,我应该为此任务扩展哪个接口或类?我想保持Sun公司与Deque的合作是一个良好的开端.
非常感谢.
编辑:我忘了谈论Stack类:当我看到它实现Vector类时,我对这个类有疑问,而Vector类有点过时了,不是吗?
我正在阅读这篇关于"双重检查锁定"的文章,并且在文章的主题之外我想知道为什么在文章的某些方面作者使用下一个成语:
清单7.尝试解决乱序写入问题
Run Code Online (Sandbox Code Playgroud)public static Singleton getInstance() { if (instance == null) { synchronized(Singleton.class) { //1 Singleton inst = instance; //2 if (inst == null) { synchronized(Singleton.class) { //3 inst = new Singleton(); //4 } instance = inst; //5 } } } return instance; }
我的问题是:有没有理由用同一个锁同步两次代码?有这个任何目的吗?
提前谢谢了.
有时我完全被愚弄试图用O(x)表示法来估计算法的速度,我的意思是,当命令是O(n)或O(mxn)时我真的可以指出,但对于那些是O(lg( n))或O(C(权力n))我认为我在那里遗漏了一些东西......那么,对于一个简单的估计而言,你有什么提示和技巧可以快速忽略算法?
作为我正在寻找的一个例子,这里有一些容易的(可能是错的,但我尽力):
提前致谢.
我在UrlMappings.groovy中有下一个场景:
"/user/$action?" (controller:"user")
"/admin/$action?" (controller:"user")
"500"(controller:"error", action:"show")
"404"(controller:"error", action:"show")
Run Code Online (Sandbox Code Playgroud)
我需要知道errorController从哪个控制器抛出引发错误500的异常(如果有的话),并为用户和管理员显示不同的错误页面.
有任何想法吗?
提前致谢.
我只是想知道为什么这有效(在Java中):
byte b = 27;
Run Code Online (Sandbox Code Playgroud)
但是这样的方法声明:
public void method(byte b){
System.out.println(b);
}
Run Code Online (Sandbox Code Playgroud)
这不起作用:
a.method(27);
Run Code Online (Sandbox Code Playgroud)
给出编译器错误如下:
`The method method(byte) in the type App is not applicable for the arguments (int)`
Run Code Online (Sandbox Code Playgroud)
阅读本文并没有给我任何线索(可能是我误解了一些东西).
提前致谢.
有任何方法可以解决这种情况(我尽可能多地尝试简化场景):
public class Test {
public static void main(String[] args) {
/*
* HERE I would like to indicate that the CollectionGeneric can be of
* something that extends Animal (but the constructor doesn't allow
* wildcards)
*/
CollectionGeneric<? extends Animal> animalsCollectionGeneric = new CollectionGeneric<Animal>();
List<? extends Animal> animals = getAnimals();
/* Why I cannt do that? */
animalsCollectionGeneric.setBeans(animals);
}
private static List<? extends Animal> getAnimals() {
return new ArrayList<Dog>();
}
}
class CollectionGeneric<T> {
private List<T> beans;
public List<T> …
Run Code Online (Sandbox Code Playgroud) 正如我在这里读到的那样,grails正在使用methodMissing将GORM方法注入到域类中,但是已经说过,执行代价很高,只会在调度失败的情况下发生,为什么这些方法不是通过metaClass或AST转换注入的?有线索吗?
grails groovy metaprogramming abstract-syntax-tree grails-orm
假设我有两个这样的表:
Employers (id, name, .... , deptId). Depts(id, deptName, ...).
但是这些数据不会经常被修改,我想要这样的查询
SELECT name, deptName FROM Employers, Depts
WHERE deptId = Depts.id AND Employers.id="ID"
Run Code Online (Sandbox Code Playgroud)
尽可能快.
我的脑子里有两种可能的解决方案:
对表进行非规范化:
尽管有了这个解决方案,我将失去一些"标准化数据库的巨大优势,但这里的性能是必须的.
为该非规范化数据创建视图.
我将保持数据规范化(这是我的问题),如果没有该视图,对该视图的查询性能将更快.
或者另一种问同样问题的方法,每次你对它进行查询时,视图都是"解释",或者如何在DBA中使用视图Stuff?
java ×5
collections ×2
grails ×2
performance ×2
algorithm ×1
big-o ×1
eclipse ×1
generics ×1
grails-orm ×1
groovy ×1
json ×1
locking ×1
mysql ×1
parsing ×1
queue ×1
sql ×1
stack ×1
svn ×1
url-mapping ×1
views ×1