我已经看到很多代码都有声明Class clazz,这起源于哪里?这是某种惯例吗?我认为'clazz'甚至不是英文单词,根本没有任何意义,这么多程序员怎么能巧妙地命名一个错误的名字呢?
ScheduledExecutorService的主要区别scheduleAtFixedRate和scheduleWithFixedDelay方法是什么?
scheduler.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
System.out.println("scheduleAtFixedRate: " + new Date());
}
}, 1, 3L , SECONDS);
scheduler.scheduleWithFixedDelay(new Runnable() {
@Override
public void run() {
System.out.println("scheduleWithFixedDelay: " + new Date());
}
}, 1, 3L , SECONDS);
Run Code Online (Sandbox Code Playgroud)
它们在同一时间打印完全相同,似乎它们以完全相同的间隔执行.
偶尔,我们必须编写接收许多参数的方法,例如:
public void doSomething(Object objA , Object objectB ,Date date1 ,Date date2 ,String str1 ,String str2 )
{
}
Run Code Online (Sandbox Code Playgroud)
当我遇到这种问题时,我经常将参数封装到地图中.
Map<Object,Object> params = new HashMap<Object,Object>();
params.put("objA",ObjA) ;
......
public void doSomething(Map<Object,Object> params)
{
// extracting params
Object objA = (Object)params.get("objA");
......
}
Run Code Online (Sandbox Code Playgroud)
这不是一个好的做法,将params封装到地图中完全是浪费效率.好处是,干净的签名,容易添加其他params与最少的修改.这种问题的最佳做法是什么?
Bloch中的toArray方法ArrayList使用System.arraycopy和Arrays.copyOf复制数组.
public <T> T[] toArray(T[] a) {
if (a.length < size)
// Make a new array of a's runtime type, but my contents:
return (T[]) Arrays.copyOf(elementData, size, a.getClass());
System.arraycopy(elementData, 0, a, 0, size);
if (a.length > size)
a[size] = null;
return a;
}
Run Code Online (Sandbox Code Playgroud)
如何比较这两种复制方法以及何时应该使用哪种方法?
我正在使用9.0.3这是最新版本的想法.当我在Idea中编写一些scala源代码时,编译和运行需要几秒钟.这不应该那么慢,这是正常的吗?
通过使用java反射,我们可以很容易地知道对象是否是一个数组.什么是判断对象是否是集合的最简单方法(Set,List,Map,Vector ...)?
为什么按位操作(~0);打印-1?在二进制中,不应该是1.为什么?
面试问题:
给定函数f(x)1/4次返回0,3/4次返回1.使用f(x)写函数g(x),其中1/2次返回0,1/2次返回1.
我的实施是:
function g(x) = {
if (f(x) == 0){ // 1/4
var s = f(x)
if( s == 1) {// 3/4 * 1/4
return s // 3/16
} else {
g(x)
}
} else { // 3/4
var k = f(x)
if( k == 0) {// 1/4 * 3/4
return k // 3/16
} else {
g(x)
}
}
}
Run Code Online (Sandbox Code Playgroud)
我对吗?你的解决方案是什么?(你可以使用任何语言)
在Scala编程:综合循序渐进指南中,作者说:
Scala比Java更面向对象的一种方式是Scala中的类不能有静态成员.相反,Scala具有单例对象.
为什么单例对象更面向对象?不使用静态成员有什么好处,而是使用单例对象?
由于大多数IDE只能导入Maven项目,我想从SBT托管项目生成POM.xml,有没有更好的方法呢?
java ×6
scala ×3
performance ×2
algorithm ×1
arrays ×1
c ×1
c++ ×1
javascript ×1
maven ×1
parameters ×1
probability ×1
random ×1
sbt ×1