Kryo是一个非常新颖有趣的Java序列化库,也是thrift-protobuf基准测试中速度最快的库之一.如果你已经使用过Kryo,它已经达到了足够的成熟度,可以在生产代码中试用吗?
更新(2010年10月27日):我们正在使用Kryo,但尚未投入生产.请参阅下面的答案了解详情.
更新(2011年3月9日):更新到最新的Jackson和Kryo库表明Jackson的二元微笑序列化非常具有竞争力.
我只是想知道像stackoverflow和维基百科这样的网站,它们无限期地存储编辑历史,并允许用户回滚编辑.有人可以使用任何合适的技术(如数据库等)推荐任何有关如何执行此操作的资源/书籍/文章
非常感谢!
我读过很多SQL代码,似乎开发人员假定默认排序顺序始终存在.例如,在构建HTML选择列表时,他们只会SELECT id, name FROM table发布一个ORDER BY子句.
根据我自己的经验,似乎dbms ORDER BY总是使用FIFO命令数据,如果没有给出子句而没有索引.但是,订单无法保证.但是,如果表没有变化,我从未见过dbms重新排序数据.
如果表没有变化,您是否曾经历过以非确定性顺序选择数据的dbms?
始终放置ORDER BY子句是最佳做法吗?
我迷上了使用Python和NetworkX来分析图形,因为我学到更多,我想使用越来越多的数据(猜测我正在变成一个数据迷:-).最终我认为我的NetworkX图形(存储为dict的dict)将超出我系统的内存.我知道我可能只是添加更多内存,但我想知道是否有办法将NetworkX与Hbase或类似解决方案集成?
我环顾四周,找不到任何东西,但我也找不到与允许简单的MySQL后端相关的任何东西.
这可能吗?是否存在允许连接到某种持久存储的任何东西?
谢谢!
更新:我记得在"社交网络分析初创公司"中看过这个主题,作者谈到了其他存储方法(包括hbase,s3等),但没有说明如何做到这一点或是否可行.
我想在java中将字符串Date转换为Timestamp.我写了以下编码.我已声明date1的日期是:7-11-11 12:13:14.
SimpleDateFormat datetimeFormatter1 = new SimpleDateFormat(
"yyyy-MM-dd hh:mm:ss");
Date lFromDate1 = datetimeFormatter1.parse(date1);
System.out.println("gpsdate :" + lFromDate1);
Timestamp fromTS1 = new Timestamp(lFromDate1.getTime());
Run Code Online (Sandbox Code Playgroud)
我想将7-11-11 12:13:14这个字符串日期转换为时间戳.现在我得到的输出是0007-11-11 00:13:14.000000 +05:30:00但我希望(7-11-11 12:13:14)这种格式的时间戳日期.谁能帮帮我吗.谢谢.
我有一个类,它扩展了我需要覆盖的类,但我需要调用该类的父类.因为我不能打电话给super因为那将执行直接父母什么是获得我父类的父母的最佳方式?
我确信这是一个基本问题,但是我已经做了一段时间了.
class A
{
public void myMethod()
{ /* ... */ }
}
class B extends A
{
public void myMethod()
{ /* Another code */ }
}
class C extends B
{
I need to call Class A here
{ /* Another code */ }
}
Run Code Online (Sandbox Code Playgroud) 我试图.xml使用以下代码删除文件名的一部分:
String id = fileR.getName();
id.replace(".xml", "");
idList.add(id);
Run Code Online (Sandbox Code Playgroud)
问题是它没有删除它,我不知道为什么它不会删除目标文本.
编辑:其实我意识到替换功能不会找到.xml,所以我想问题是,如何摆脱最后4个字符?
这是传入的字符串:
0b14d501a594442a01c6859541bcb3e8164d183d32937b851835442f69d5c94e.xml
谢谢,
我们正在用Java编写一个大型生产系统,我正在考虑是否可以用一种基于JVM的动态语言编写一些组件.从Java互操作性的角度来看,Groovy似乎是最好的选择.但是Groovy实现是否足够可靠以便在生产中使用(我会这么认为),并且Groovy语言规范本身是否足够稳定,以便我们不必在一两年内大幅修改我们的生产代码?你有什么经历?
总结(2009年5月30日):好的评论,我得到的意思是你应该谨慎地采用Groovy进行关键任务生产使用,它适用于诸如组合测试用例之类的辅助用法,并且它有一个中间地带,它是可能没事,但先做好功课.性能是一个问题,需要与开发人员生产力的提高相平衡.比尔和Ichorus基于Groovy的使用有同样有用的答案,所以这是一个抛硬币.
更新(12/3/09):最近我一直在认真研究另一种JVM语言Scala.它由Martin Odersky设计和实现,他是当前javac编译器的原作者和Java Generics的联合设计者.Scala是一种强类型,但使用类型推断去除大量的样板.它是面向对象和函数式编程的完美结合.詹姆斯戈斯林喜欢它.Groovy的作者James Strachan 也喜欢它.而Odersky在撰写javac方面的经验意味着Scala的原始性能与Java相差无几,令人印象深刻.
我正在写一篇关于为大学的研究论文实现REST服务的论文,我在理解URI和资源之间的关系时遇到了一个小问题.
它说,资源可能有一个或多个URI.所以这是我的问题.我想使这项服务非常容易使用并绕过信息:应该从不同的入口点访问资源,但这违背了每个"URI指定一个资源"的概念.
所以我的问题是,如果以下是它或不符合REST的以下内容:
我想公开有关研究出版物的信息(让我们说同行评审).
这可以通过此URI访问:UNIVERSITY/publications/{my_publication}.
但是,由于这篇论文是由一位在社会科学系工作的研究人员撰写的,因此该出版物也有这个URI的意义:大学/学院/社会科学/出版物/ {my_publication}.
此外,由于该服务还暴露了在大学工作的所有研究人员(例如大学/研究人员/ {my_researcher}),因此该出版物可以命名为大学/研究人员/ {my_researcher}/publications/{my_publication}也是有意义的.
这可以继续使用多个用例,但你明白了.
这是否与REST一致?
我可以保留这个并通过发送响应代码303("另请参阅")以及规范URI(即大学/出版物/ {my_publication})来解决困境.
先感谢您!
我知道你可以创建一个匿名函数,让编译器推断它的返回类型:
val x = () => { System.currentTimeMillis }
Run Code Online (Sandbox Code Playgroud)
仅为了静态类型,是否可以指定其返回类型?我认为这会让事情变得更加清晰.