我有一个类A,带有抽象方法doAction(BaseClass obj),期望一个类型为BaseClass的参数
public class A {
//....
abstract void doAction(BaseClass obj);
//....
}
Run Code Online (Sandbox Code Playgroud)
现在,我有另一个需要扩展A的B类.但是,B的doAction方法需要使用扩展BaseClass的对象DerivedClass.
public class B extends class A {
//..
void doAction(DerivedClass obj) {
obj.callMethodAvailableOnlyInDerivedClass();
}
}
Run Code Online (Sandbox Code Playgroud)
我如何处理这种情况,我需要将类型为DerivedClass的param传递给在期望BaseClass时被覆盖的方法?
谢谢!
我有一个mongo查询要执行:
query = { "dateField" : { "$gte" : ISODate('2011-11-10T07:45:32.962Z') } }
Run Code Online (Sandbox Code Playgroud)
当我db.Collection.find(query)在mongo shell上执行操作时,我可以检索结果.
我怎么能用Java查询呢?我尝试根据Date参数构造一个String.但是在构建String的过程中,它最终会被传递"ISODate('2011-11-10T07:45:32.962Z')"而不是ISODate('2011-11-10T07:45:32.962Z')(没有周围的引号).
使用Java API构建此查询的最佳方法是什么?
谢谢 !
我有一个Java bean,它有一个字段,而这个字段又是另一个bean
public class BeanOne {
private String fieldOne;
private BeanTwo fieldTwo;
public String getFieldOne() {return this.fieldOne;}
public void setFieldOne(String fieldOne){this.fieldOne = fieldOne}
public BeanTwo getFieldTwo() {return this.fieldTwo;}
public void setFieldTwo(BeanTwo fieldTwo){this.fieldTwo = fieldTwo}
}
public class BeanTwo {
private String fieldOne;
public String getFieldOne() {return this.fieldOne;}
public void setFieldOne(String fieldOne){this.fieldOne = fieldOne}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试将地图传递给BeanUtils以尝试将以下地图转换为BeanOne
Map beanOneMap = new HashMap<String, Object>();
beanOneMap.put("fieldOne", "fieldOneValue");
Map beanTwoMap = new HashMap<String, Object>();
beanTwoMap.put("fieldOne", "fieldOneValue");
beanOneMap.put("fieldTwo", beanTwoMap);
BeanOne beanOne = new BeanOne();
BeanUtils.populate(beanOne, beanOneMap); …Run Code Online (Sandbox Code Playgroud) 我目前正在使用MongoDB来存储单个数据集合.此数据大小为50 GB,并且具有大约95 GB的索引.我正在运行一台256 GB RAM的机器.我基本上希望将所有索引和工作集都放在RAM中,因为该机器专门分配给mongo.
目前我看到,虽然mongo运行时的集合大小为50 GB +索引大小为95 GB,但机器中使用的总RAM小于20 GB.
有没有办法强制mongo利用可用的RAM,以便它可以将所有索引和工作集存储在内存中?
我有一个将数据写入 OutputStream 但需要将 OutputStream 的内容作为 InputStream 返回的方法
public InputStream getInputStreamOfData(type param) {
// ..... data
OutputStreamWriter writer = new OutputStreamWriter();
writer.write(data);
// convert writer object to an InputStream
}
Run Code Online (Sandbox Code Playgroud)
我遇到了一些库来执行此操作,例如 IOUtils 和其他基于线程的方法。有没有一种简单的方法可以使用标准 Java 库来实现这一点?我想将编写器中的内容作为 InputStream 返回以供调用方法使用。
谢谢!
我有一个BasicDBObject调试时似乎持有:
{ "_id" : { "p_key" : { "$date" : "2012-02-02T00:00:00Z"} , "d_key" : 222} , "t_key" : 10195 , "w_key" : 4 , "f_key" : { "$date" : "2012-02-02T00:00:00Z"}}
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试:
dbObject.get("_id.d_key"));
Run Code Online (Sandbox Code Playgroud)
我得到一个空指针异常.
对我在这里做错了什么的想法?
我试图获得d_key内部的价值_id.
我有一个看起来像的图表
a --father_of--> 1 --wife_of--> b --father_of-->2 --wife_of--> c --father_of--> 3--wife_of--> d --father_of --> 5--wife_of-->e
Run Code Online (Sandbox Code Playgroud)
我想写一个查询,它给了我从树开始的所有父亲
我可以写一个级别
g.V('name','a').out(father_of).out(wife_of) 这给了b
如何编写一个递归查询,将b作为管道的输入,以便查询给出节点b,c,d和e.
如果我有常数
public static final String PREFIX = "meter.";
public static final String READING = "reading";
public static final String LEVEL = "level";
Run Code Online (Sandbox Code Playgroud)
我有一个代码
run() {
dao.set("meter.reading", x);
dao.set("meter.level", y);
}
Run Code Online (Sandbox Code Playgroud)
鉴于run()每天会被调用数百万次,
写下面的代码会因为串联而降低我的性能吗?我想保持常量与前缀分开,因为它们在各种上下文中使用和不使用前缀
run() {
dao.set(PREFIX+READING, x);
dao.set(PREFIX+LEVEL, y);
}
Run Code Online (Sandbox Code Playgroud) java ×5
mongodb ×3
gremlin ×1
inheritance ×1
inputstream ×1
javabeans ×1
mongo-java ×1
mongodb-java ×1
neo4j ×1
outputstream ×1
pojo ×1
polymorphism ×1
stream ×1
tinkerpop ×1
titan ×1