我们在工作中有点乐趣.这一切都始于其中一个设置Hackintosh的人,我们想知道它是否比我们拥有的(几乎)相同规格的Windows Box更快.所以我们决定为它写一点测试.只是一个简单的Prime数字计算器.它是用Java编写的,它告诉我们计算前n个Prime数字所需的时间.
下面的优化版本 - 现在需要~6.6秒
public class Primes {
public static void main(String[] args) {
int topPrime = 150000;
int current = 2;
int count = 0;
int lastPrime = 2;
long start = System.currentTimeMillis();
while (count < topPrime) {
boolean prime = true;
int top = (int)Math.sqrt(current) + 1;
for (int i = 2; i < top; i++) {
if (current % i == 0) {
prime = false;
break;
}
}
if (prime) {
count++;
lastPrime = current; …Run Code Online (Sandbox Code Playgroud) 我最近安装了Eclipse Metrics插件并导出了我们的一个项目的数据.
拥有这些漂亮的图表非常好,但我真的想深入了解它们的意思.指标的定义只是告诉你它的真正含义.
有没有人知道任何好的资源,书籍,网站等,可以帮助我更好地理解所有数据的含义,并在必要时了解如何改进代码?
我对Efferent Coupling和Cyclomatic Complexity等感兴趣,而不是每行方法的代码行数.
使用Android模拟器完成一些OpenGL-ES教程.我已经完成了纹理映射,并且在映射到多维数据集时遇到了一些麻烦.是否可以将纹理映射到具有8个顶点和12个三角形的立方体的所有面,如下所述?
// Use half as we are going for a 0,0,0 centre.
width /= 2;
height /= 2;
depth /= 2;
float vertices[] = { -width, -height, depth, // 0
width, -height, depth, // 1
width, height, depth, // 2
-width, height, depth, // 3
-width, -height, -depth, // 4
width, -height, -depth, // 5
width, height, -depth, // 6
-width, height, -depth, // 7
};
short indices[] = {
// Front
0,1,2,
0,2,3,
// Back
5,4,7,
5,7,6,
// Left …Run Code Online (Sandbox Code Playgroud) 我正在尝试将以下SQL查询转换为HQL,并且遇到了一些问题.直线逐行转换不起作用,我想知道我是否应该在HQL中使用内部联接?
SELECT (UNIX_TIMESTAMP(cosc1.change_date) - UNIX_TIMESTAMP(cosc2.change_date))
FROM customer_order_state_change cosc1
LEFT JOIN customer_order_state cos1_new on cosc1.new_state_id = cos1_new.customer_order_state_id
LEFT JOIN customer_order_state cos1_old on cosc1.old_state_id = cos1_old.customer_order_state_id
LEFT JOIN customer_order_state_change cosc2 on cosc2.customer_order_id = cosc1.customer_order_id
LEFT JOIN customer_order_state cos2_new on cosc2.new_state_id = cos2_new.customer_order_state_id
LEFT JOIN customer_order_state cos2_old on cosc2.old_state_id = cos2_old.customer_order_state_id
WHERE cos1_new.name = "state1" AND cos2_new.name = "state2" and cosc2.change_date < "2008-11-06 09:00"
AND cosc2.change_date > "2008-11-06 06:00" GROUP BY cosc1.change_date, cosc2.change_date ;
Run Code Online (Sandbox Code Playgroud)
查询返回客户订单状态更改之间的时间(以秒为单位).
状态名称和日期将动态插入到查询中.
编辑:刚试过这个
"SELECT (UNIX_TIMESTAMP(cosc1.changeDate) - UNIX_TIMESTAMP(cosc2.changeDate))" +
" …Run Code Online (Sandbox Code Playgroud) 我正在编写一个脚本来删除超过1周的一些构建工件.
这些文件的名称形式为artifact-1.1-200810391018.exe.
如何仅删除大于1周的文件,不包括日期时间戳结束时的小时和分钟时间?
目前它正在删除目录中的所有文件.
#!/bin/sh
NIGHTLY_LOCATIONS=( "/foo" "/bar" )
ARTIFACT_PREFIX="artifact-*-"
NUM_TO_KEEP=7
for home in $(seq 0 $((${#NIGHTLY_LOCATIONS[@]} - 1))); do
echo "Removing artifacts for" ${NIGHTLY_LOCATIONS[$location]}
for file in `find ${NIGHTLY_LOCATIONS[$location]} -name "$ARTIFACT_PREFIX*"`; do
keep=true
for day in $(seq 0 $((${NUM_TO_KEEP} - 1))); do
date=`date --date="$day days ago" +%Y%m%d`
echo $(basename $file ".exe") " = " $ARTIFACT_PREFIX$date
if [ "$(basename $file ".exe")" != "$ARTIFACT_PREFIX$date" ]; then
keep=false
fi
done
if [ !$keep ]; then
echo "Removing file"
rm -f …Run Code Online (Sandbox Code Playgroud)