小编Tom*_*ere的帖子

System.out.println()的消耗时间; Java声明?

我听说System.out.println();Java语句代价高昂(耗费大量时间)
所以我试着评估它的成本:
当我评估5个语句时... The cost = 1.0
所以我期望1个语句的成本= 0.2
但实际上我发现了The cost = 0.0!

double t1 = 0;
double t2 = 0;

t1 = System.currentTimeMillis();
System.out.println("aa");
System.out.println("aa");
System.out.println("aa");
System.out.println("aa");
System.out.println("aa");
t2 = System.currentTimeMillis();
System.out.println("The cost = " + (t2-t1) ); 
// The cost = 1.0 


t1 = System.currentTimeMillis();
System.out.println("aa");
t2 = System.currentTimeMillis();
System.out.println("The cost = " + (t2-t1) ); 
// The cost = 0.0 
// Expected : 1.0/5 = 0.2 -- But Actual : 0.0
Run Code Online (Sandbox Code Playgroud)

为什么?

java debugging monitoring

6
推荐指数
1
解决办法
2728
查看次数

java thread立即更新UI

我有一个javaFX应用程序可视化计算几何算法.算法的执行发生在另一个线程中,让我们调用它mainComputingThread.算法可以通过添加/删除/修改形状随时更新UI.所以代码看起来像:

//do some computaions (1)
updateUI();
//do some more calculations (2)
Run Code Online (Sandbox Code Playgroud)

我想知道的是在updateUI方法中立即更新UI并阻止调用线程进一步运行(标记为(2))直到UI更新完成.

我想到了布尔警卫.所以代码可能看起来像:

updateUI(){
   boolean guard = false;
   Platform.runLater(new Runnable()
   {
      run(){
        //do the actual update
        guard = true;
      }
   });
   while(guard==false);
}
Run Code Online (Sandbox Code Playgroud)

我希望你能明白我的意思.我真的好奇是否有更好的解决方案来解决这个问题...

java javafx

5
推荐指数
1
解决办法
5364
查看次数

Mysql比较存储到今天日期的日期

我想通过我的数据库dateandtime并将它们与当前日期和时间进行比较,并说出哪一个更大.

<?php
include_once("db.php");
$date = new DateTime();
//echo $date->format('Y-m-d H:i:s')

$query = "SELECT timedate, email  FROM mailer";
$result = mysql_query($query);
echo "<table>";
while($row = mysql_fetch_array($result)){
       $tot = $row['timedate'];
       $ema = $row['email'];
    if($tot > $date) {
    //echo "<tr><td>" .$row['timedate']."</td><td>";
    echo"database dates higher then now dates" . "<br>";
    echo "<tr><td>" .$row['email']."</td><td>" ."<br>";
   echo "<tr><td>" .$row['timedate']."</td><td>" ."<br>";
}
else {
    echo"database dates lower then now dates" . "<br>";
    echo "<tr><td>" .$row['email']."</td><td>". "<br>";
       echo "<tr><td>" .$row['timedate']."</td><td>" ."<br>";
}

}
mysql_close();
?>
Run Code Online (Sandbox Code Playgroud)

这是我得到的测试输出:

database dates …
Run Code Online (Sandbox Code Playgroud)

php mysql

4
推荐指数
1
解决办法
741
查看次数

如何使用Java从Google云端存储下载文件?

我正在开发一个应用程序,为用户提供一个界面,可以从我们的Google云端存储中下载文件.我编写了单元测试,我可以连接到存储并下载文件.

现在我(几乎)完成了我的界面,我想测试整个应用程序.但现在我注意到我并没有真正下载该文件,我下载了一个文件,其中包含有关我要下载的文件的META数据.就像是:

{
 "kind": "storage#object",
 "id": "xxxxxxxxxxx/Homer.png/xxxxxxxxxxxx",
 "selfLink": "https://www.googleapis.com/storage/xxxxxxxxxxxxxxxx/Homer.png",
 "name": "Homer.png",
 "bucket": "xxxxxxxxxxxxxxx",
 "generation": "xxxxxxxxxxxxxxx",
 "metageneration": "1",
 "contentType": "image/png",
 "updated": "2014-07-17T08:37:28.026Z",
 "storageClass": "STANDARD",
 "size": "xxxxx",
 "md5Hash": "xxxxxxxxxxxxxxxxxxxxx",
 "mediaLink": "https://www.googleapis.com/download/storage/xxxxxxxxxxxxxxx/o/Homer.png?generation=xxxxxxxxxxxxxxxxx&alt=media",
 "owner": {
  "entity": "user-xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "entityId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
 },
 "crc32c": "xxxxxxxxxx",
 "etag": "xxxxxxxxxxxxx"
}
Run Code Online (Sandbox Code Playgroud)

我想知道我做错了什么,这是我用来下载文件的代码:

public byte[] getFileAsByteArray(String bucketName, String fileName)
        throws GoogleAppManagerException {
        Storage storage = null;
        try {
            storage = getStorage();
        } catch (GeneralSecurityException e) {
            throw new GoogleAppManagerException(SECURITY_EXCEPTION + e.getStackTrace(), e);
        } catch (IOException e) {
            throw new GoogleAppManagerException(IO_EXCEPTION + …
Run Code Online (Sandbox Code Playgroud)

java google-cloud-storage

3
推荐指数
2
解决办法
1万
查看次数

我实现构建器对象有什么缺点?

我想知道,与我在大多数网站上看到的构建器对象实现相比,我的构建器对象的实现是否有缺点.我知道为一个只有2个字段的类实现一个构建器对象实在是太过分了,但这些仅仅是示例,意味着很小.

我的实施:

public class User {

    private String firstname;

    private String lastname;

    public String getFirstname() {
        return firstname;
    }

    public String getLastname() {
        return lastname;
    }

    private User(){}

    public static class Builder{

        private final User user;

        public Builder(){
            user = new User();
        }

        public Builder firstname(String firstname){
            user.firstname = firstname;
            return this;
        }

        public Builder lastname(String lastname){
            user.lastname = lastname;
            return this;
        }

        public User build(){
            return user;
        }   
    }
}
Run Code Online (Sandbox Code Playgroud)

在互联网上找到的构建器对象(example1 example2):

public class User {

    private …
Run Code Online (Sandbox Code Playgroud)

java oop builder

2
推荐指数
1
解决办法
49
查看次数

Collections.sort Hashcodes

为什么以下代码在调用集合上打印不同的哈希码排序方法请告诉我为什么会出现这种行为?

    List<Integer> list = new ArrayList<>();

    for (int i = 0; i < 10; i++) {

        list.add((int) (Math.random() *100));

    }

    System.out.println("Before List =" + list);

    System.out.println("object hashcode-1 =" + list.hashCode());

    Collections.sort(list);

    System.out.println("In >>> object hashcode-1 =" + list.hashCode());
    Collections.sort(list,new Comparator<Integer>() {

        @Override
        public int compare(Integer o1, Integer o2) {
            return (o1.intValue() > o2.intValue() ?-1:1);
        }
    });
    System.out.println("object hashcode-2 =" + list.hashCode());
    System.out.println("After List =" + list);
    Collections.sort(list,Collections.reverseOrder());
    System.out.println("object hashcode-3 =" + list.hashCode());
    System.out.println("Reverse Order List =" + list);
Run Code Online (Sandbox Code Playgroud)

输出是:

Before …
Run Code Online (Sandbox Code Playgroud)

java

1
推荐指数
1
解决办法
452
查看次数

标签 统计

java ×5

builder ×1

debugging ×1

google-cloud-storage ×1

javafx ×1

monitoring ×1

mysql ×1

oop ×1

php ×1