有人知道是否可以以编程方式将存储在亚马逊s3上的文件从一个地区传输到另一个地区?
我在电话采访中被问到以下问题:
给定以下类定义:
public class ClassA {
public ClassA(int x) {
// do some calculationand initialize the state
}
}
Run Code Online (Sandbox Code Playgroud)
及其子类,使用随机整数生成器初始化超类.
public class ClassB extends ClassA {
public ClassB() {
super(StaticUtilityClass.someRandomIntegerValGenerator())
}
}
Run Code Online (Sandbox Code Playgroud)
你需要截取x的值(someRandomIntegerValGenerator产生的随机int)并将其存储在ClassB成员中.ClassA无法更改.我最终不知道如何做到这一点,因为ClassB构造函数中的第一个调用需要调用super().直到调用了super(),没有ClassB的状态,并且someRandomIntegerValGenerator生成的值不能分配给任何ClassB成员.我唯一的方向是使用ThreadLocal,但我认为它应该是一个更简单的解决方案.
有什么想法吗?
今天,我遇到了一种情况,其中表中存在查询结果中缺少一条记录的情况。我将问题追溯到可能是损坏的索引。我做完之后REINDEX,问题就解决了。
问题是,通常当我运行报告时,我会得到超过10000条记录。我无法知道是否缺少记录。今天我很幸运地发现了问题。
索引损坏时,有没有办法得到通知?
如果不是,我该如何编写一个将REINDEX全部引入我的Schema 的函数?
我需要知道定义的时期是否:
DateTime start;
DateTime end;
Run Code Online (Sandbox Code Playgroud)
里面有一个DST.
我正在迭代{start,end}定义的句点集合,并在每次迭代中向前移动24小时.结果期间从午夜开始,到下午午夜前1毫秒结束.我发现如果周期内有一个夏令时点,那么移位会产生不正确的结果,例如:
有:
Duration targetDuration = new Duration(24*60*60*1000L-1);
DateTime start = new DateTime("2012-03-10T00:00:00.000-08:00");
DateTime end = new DateTime("2012-03-10T23:59:59.999-08:00");
Run Code Online (Sandbox Code Playgroud)
然后转移完成:
start = end.plusMillis(1);
end = start.plus(targetDuration);
Run Code Online (Sandbox Code Playgroud)
生产:
start = "2012-03-11T00:00:00.000-08:00"
end = "2012-03-12T00:59:59.999-07:00"
Run Code Online (Sandbox Code Playgroud)
我想知道JodaTime中是否有任何标准API可以检查一段时间内是否有DST?
我需要为对象创建一个JSON模式,该模式将包含java Properties对象作为其属性之一.嵌套的Properties对象将只是key = value的列表.键和值都是string类型.我找不到任何描述如何定义包含2种新类型的模式的文档.
应该是这样的:
{
"type": "object",
"name": "MyObj",
"properties": {
"prop1": {
"type": "string",
"description": "prop1",
"required": true
},
"props": {
"type": "array",
"items": {
"type": "object"
"properties": {
"key": {
"type": "string",
"description": "key",
"required": true
},
"value": {
"type": "string",
"description": "the value",
"required": true
}
}
"description": "the value",
"required": true
}
}
}
Run Code Online (Sandbox Code Playgroud)
}
在电话采访中我被问到这个问题.
给定两个字符串,找到将一个字符串转换为另一个字符串所需的最少编辑次数.解决方案需要在java中实现并在O(n*m)中运行,假设n和m是输入字符串的长度.
示例:
字符串: milk - > beer
min edits:4
我试图在一个(ICountable)中封装3个接口,并使具体类实现这个封装接口.`ICountable码:
public interface ICountable extends IAddable, Cloneable, Serializable {}
Run Code Online (Sandbox Code Playgroud)
Addable 接口定义是:
public interface IAddable<T> {
T add(T other);
}
Run Code Online (Sandbox Code Playgroud)
现在当我试图ICountable在具体的类(BaseCounter)中实现时,我得到的错误是并非所有方法都被实现(抱怨add方法).我不明白为什么.的BaseCounter代码如下:
public class BaseCounter implements ICountable {
@Override
public BaseCounter add(BaseCounter other) {
// TODO Auto-generated method stub
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
将add方法签名更改为
public ICountable add(ICountable other)
Run Code Online (Sandbox Code Playgroud)
解决了这个问题.然而,我最初想要的是创建一个ICountable扩展3个其他接口(2个标记和1个接口,描述实现类add在相同类型的对象上执行的能力).为了使add方法实现BaseCounter看起来像我需要改变:
public BaseCounter add(BaseCounter other)
Run Code Online (Sandbox Code Playgroud)
我很感激你的建议.
给定二进制树节点(X)写入方法的数量,该方法返回具有X个节点的二叉树的随机排列的数量.
例子:
X = 1:1
o
Run Code Online (Sandbox Code Playgroud)
X = 2:2
o o
o o
Run Code Online (Sandbox Code Playgroud)
X = 3:5
o o o o o
o o o o o o
o o o o
Run Code Online (Sandbox Code Playgroud)
我结束了:
public static int numOfPerms(int numOfNodes) {
if (numOfNodes<=2 && numOfNodes > 0) {
return numOfNodes;
}
int res = 1;
for (int i=1; i<=numOfNodes; i++) {
res = res*(4*i-1)/(i+1);
}
return res;
}
Run Code Online (Sandbox Code Playgroud)
我希望在这里分享更好的解决方案.
我开始玩JodaTime,但我没有找到一种方便的方法来计算两个DateTime对象之间的天数差异.我想出的最好的是:
//given DateTime dt1 and dt2
long distanceInMillis = dt2.getMillis()-dt1.getMillis();
int distanceInDays = (int)(distanceInMillis / 24*60*60*1000L);
Run Code Online (Sandbox Code Playgroud)
我很感激你的建议,如何做得更好.
我想知道为什么有一个空的try块然后捕获特定的异常是有意义的?有什么想法吗?
try {
} catch (Exception e) {
// do nothing
}
Run Code Online (Sandbox Code Playgroud) 给定一个奇数大小的整数数组.除了单个整数外,数组中的所有整数都会出现两次.如何以最有效(内存和复杂度)的方式找到这个非耦合的整数?
假设我TreeSet用匿名构造Comparator如下:
private TreeSet<Counter> mySet =
new TreeSet<Counter>(
new Comparator<Counter>(){
@Override
public int compare(Counter c1, Counter c2) {
// some weird comparison logic here...
}
});
Run Code Online (Sandbox Code Playgroud)
现在我想获得TreeSet等于或大于someCounter以下的部分:
mySet.tailSet(someCounter);
Run Code Online (Sandbox Code Playgroud)
如何使TreeSet返回的部分tailSet()基于原始比较器mySet构造而不是仅获得按自然顺序排序的有序集?
java ×9
algorithm ×3
date ×2
datetime ×2
generics ×2
jodatime ×2
amazon-s3 ×1
binary-tree ×1
c ×1
c++ ×1
catalan ×1
collections ×1
compilation ×1
constructor ×1
dst ×1
interface ×1
json ×1
jsonschema ×1
postgresql ×1
sql ×1
string ×1
time ×1
tree ×1