在此之前,我刚刚将代码剪切并粘贴到我的.emacs文件中,但后来我决定为emacs添加一些maven功能.现在,我没有看到我是如何弄清楚这一点的,但昨晚我在运行Mx jarl-mvn-exec时不断收到我在标题中输入的错误.我睡了它,第二天又回来了,但我还没到任何地方.
(defun jarl-get-pom ()
(concat (locate-dominating-file
(buffer-file-name
(current-buffer))
"pom.xml")
"pom.xml"))
(defun jarl-visit-pom ()
(interactive)
(find-file (jarl-get-pom)))
(defun jarl-mvn-exec ()
(interactive)
(switch-to-buffer (get-buffer-create "maven"))
(start-process-shell-command "mvn-exec" "maven" "mvn" "-f" (jarl-get-pom) "compile")
(start-process-shell-command "mvn-exec" "maven" "mvn" "-f" (jarl-get-pom) "exec:exec"))
Run Code Online (Sandbox Code Playgroud) 我猜它们是相同的,但Clojure使用Array类来操作.
无论如何,我被告知在Clojure中如果你真的需要速度那么你可以使用数组但是在以下程序之间Java版本要快得多
(time
(let [data (int-array 100000000)]
(dotimes [q 100000000]
(aset-int data q q))))
Run Code Online (Sandbox Code Playgroud)
_
public class Array{
public static void main(String[] args){
long start = System.currentTimeMillis();
int[] data = new int[100000000];
for(int q = 0;q < data.length;q++){
data[q] = q;
}
System.out.println(System.currentTimeMillis() - start);
}
}
Run Code Online (Sandbox Code Playgroud)
相比之下,使用IntBuffer类的Clojure程序几乎与Java代码一样快
(time
(let [data (IntBuffer/allocate 100000000)]
(dotimes [q 100000000]
(.put data q q))))
Run Code Online (Sandbox Code Playgroud) 我听说Java2D在幕后使用OpenGL进行渲染,我想知道是否值得使用JOGL及其所有的本机库,我的程序只是一个2D侧卷轴.我听说你必须使用某些技术和你需要避免的场景,以确保使用硬件加速但我不知道它们是什么(好吧,我知道一些,但我还没有找到它们的完整列表.)
我在使用Java很长一段时间后回到了c ++.在Java中,覆盖对象上的toString方法允许将对象自动转换为字符串并连接到其他字符串.
class Test {
public static void main(String[] args) {
System.out.println(new Test() + " There"); // prints hello there
}
public String toString() {
return "Hello";
}
}
Run Code Online (Sandbox Code Playgroud)
是否有类似的东西可以让我将一个对象流入cout?
cout << Test() << endl;
Run Code Online (Sandbox Code Playgroud)