小编Edw*_*ges的帖子

使用bash中的单个命令为shell变量分配默认值

我在bash(3.00)shell脚本中对变量进行了大量测试,如果未设置变量,则会分配一个默认值,例如:

if [ -z "${VARIABLE}" ]; then 
    FOO='default'
else 
    FOO=${VARIABLE}
fi
Run Code Online (Sandbox Code Playgroud)

我似乎记得在一行中有一些语法,类似于三元运算符,例如:

FOO=${ ${VARIABLE} : 'default' }
Run Code Online (Sandbox Code Playgroud)

(虽然我知道这不起作用......)

我疯了,还是有类似的东西存在?

bash shell

612
推荐指数
12
解决办法
27万
查看次数

如何将主机名存储在.bat文件中的变量中?

我想将此/bin/sh语法转换为广泛兼容的Windows批处理脚本:

host=`hostname`
echo ${host}
Run Code Online (Sandbox Code Playgroud)

如何做到这一点,以便它可以在任何Windows Vista,Windows XP和Windows 2000机器上运行?

澄清:我想继续在程序中使用存储在变量中的主机名host.换句话说,该程序的更大目标不是简单地回显主机名.

windows scripting batch-file

49
推荐指数
4
解决办法
19万
查看次数

丢失精度从java BigDecimal转换为double

我正在使用完全基于双精度的应用程序,并且在一个将字符串解析为double的实用程序方法中遇到问题.我找到了一个修复,使用BigDecimal进行转换解决了这个问题,但是当我将BigDecimal转换回double时又引发了另一个问题:我失去了几个精度.例如:

import java.math.BigDecimal;
import java.text.DecimalFormat;

public class test {
    public static void main(String [] args){
        String num = "299792.457999999984";
        BigDecimal val = new BigDecimal(num);
        System.out.println("big decimal: " + val.toString());
        DecimalFormat nf = new DecimalFormat("#.0000000000");
        System.out.println("double: "+val.doubleValue());
        System.out.println("double formatted: "+nf.format(val.doubleValue()));
    }
}
Run Code Online (Sandbox Code Playgroud)

这会产生以下输出:

$ java test
big decimal: 299792.457999999984
double: 299792.458
double formatted: 299792.4580000000
Run Code Online (Sandbox Code Playgroud)

格式化的double表明它在第三位之后失去了精度(应用程序需要较低的精度位置).

如何让BigDecimal保留那些额外的精度位置?

谢谢!


追上这篇文章后更新.有人提到这超出了双数据类型的精度.除非我错误地阅读此引用:http: //java.sun.com/docs/books/jls/third_edition/html/typesValues.html#4.2.3 然后double原语的最大指数值为E max = 2 K-1 -1,标准实现K = 11.那么,最大指数应该是511,不是吗?

java floating-point precision double bigdecimal

12
推荐指数
2
解决办法
4万
查看次数

将YUI 2迁移到YUI 3

将Yahoo JS&CSS库从版本2升级到版本3的迁移路径是什么?

具体来说:CSS和字体,按钮,TabView.

任何有关遇到问题的进一步信息的指示,使其更容易的提示等都将非常感激.

不同的谷歌搜索(例如升级yui2,迁移yui2)对此没有太大影响.

javascript yui yui3

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

HTTPS标头的加密

在多大程度上,HTTPS标头是否加密?

https http-headers

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

将照片上传到Google Photos API时未返回上传令牌

我正在使用2018年版本的Google Photos API上传图像和媒体,如此处所述:“ 上传字节

当我上传图像或视频时,响应正文中再也没有任何上传令牌。它始终是一个空主体,根据上面的链接,这意味着字节已经上传(但这是新上传)。

这是一个示例请求/响应:

request: 
    POST https://photoslibrary.googleapis.com/v1/uploads
request headers: 
    authorization: Bearer abcd1234
    X-Goog-Upload-Protocol: raw
    X-Goog-Upload-File-Name: 20140317T082917_001.jpg
    content-type: application/octet-stream
    content-length: 1292868
    accept: application/json
-----------------------------------------------------
response: OK [200]
response headers:
    Alt-Svc: [quic=":443"; ma=2592000; v="44,43,39,35"]
    Server: [UploadServer]
    X-GUploader-UploadID: [AEnB2UqT6y8KyZNCPyAaFeCj7I_ABIlwLJQMpltYzQ7D8blW4v3uKSlMT7dbNjFV0i_7ApzoR-i26ZtZ9kHkB7bI8n8ojgOnNA]
    Content-Length: [510]
    Date: [Sun, 05 Aug 2018 11:19:15 GMT]
    Content-Type: [text/plain]
response body:
    null
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用X-GUploader-UploadID标头中返回的值,但这会导致500错误。

有人可以提供如何将字节上传到Google Photos API的有效示例吗?

谢谢!

java http google-photos google-photos-api

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

何时适合使用浮动精度数据类型?

很明显,在使用货币金额时,不应该使用浮动精度,因为精确度的变化会导致在使用该金额进行计算时出现不准确.

那说,什么是可接受的用例?而且,在决定时应该考虑的一般原则是什么?

math

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

JVM内存默认值

如果在启动时未指定这些值,那么Sun JVM(v 1.4*)的默认Xms和Xmx设置是什么?

java memory jvm

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

动态创建和销毁日志记录追加程序

我有一个传统的PSVM应用程序,我想将其日志记录输出重定向到每次执行的唯一文件.所以,如果我在10:00调用它,那么让它将它的输出重定向到{thread-id} -10:00.log; 另一个执行线程可以在10:01开始执行,其输出将转到{thread-id} -10:01.log.我明白这不优雅.

我的问题是:

  • 这可能吗?
  • 有人知道如何接近吗?
  • 是否有可能在不再需要时释放/销毁一个appender?

谢谢!

java log4j

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

使用Maven时,在Eclipse中更改Android R.java的输出文件夹

我有一个使用maven-android插件的android项目设置.此插件遵循maven输出文件夹以获取文件的位置R.java(即target/generated-sources/r).

但是,在Eclipse中使用此项目时,我无法配置aapt依赖该文件夹.

即使我手动进入项目属性并手动设置文件夹,ADT插件也会进入并重置一些设置(即将/gen文件夹添加回源文件夹,并将输出文件夹还原/bin/classes/target/classes),而离开maven /target/generated-sources/r文件夹并打破项目的构建.

我想在Eclipse ADT中使用默认的Maven文件夹结构.有关如何做到这一点的任何想法?

谢谢


回应评论:

  • 是的,我正在使用m2e-android插件.
  • 由于ADT仍在生成R.java /gen,因此如果target/generated-sources/r由于重复的类定义而仍然存在R.java ,则Eclipse无法编译.

java android m2eclipse maven android-maven-plugin

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

使用 Spring 验证框架验证请求标头

是否可以将 Spring 验证框架与 Spring MVC 一起使用来验证 HTTP 请求标头的存在和值?

validation spring spring-mvc bean-validation

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

问题 - 创建gradle无法正常工作的目录

我有以下内容build.gradle:

task wrapper(type: Wrapper) {
    gradleVersion = '2.0'
}

apply plugin: 'java'

task filter(type: Copy) {
    def subdir = new File(project.buildDir, "subdir")
    println("subdir: "+subdir)

    if( !subdir.exists() ) {
        println("creating subdir")

        if(subdir.mkdirs()) {
            println("succeeded in making folder")

            if(subdir.exists()) {
                println("folder exists")
            } else {
                println("folder does not exist")
            }
        } else {
            println("failed to make folder")
        }
    } else {
        println("folder exists already")
    }
}
Run Code Online (Sandbox Code Playgroud)

使用gradle wrapperI 下载包装器后,运行:

/tmp/test $ ./gradlew clean filter
subdir: /tmp/test/build/subdir
creating subdir …
Run Code Online (Sandbox Code Playgroud)

java shell gradle

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

如何处理大型数据列表

我们有一个应用程序,其中,说的一部分,它需要一个时间来阅读20%巨大超出内存限制数据量.虽然我们可以增加内存限制,但我们不愿意这样做,因为它需要在大多数情况下都没有必要时进行高分配.

当我们达到这样的峰值负载时,我们正在考虑使用自定义的java.util.List实现来假脱机到磁盘,但在较轻的情况下将保留在内存中.

数据一次加载到集合中,随后迭代并处理,然后丢弃.它不需要在集合中进行排序.

有没有人对这种方法有利弊?

是否有一个开源产品提供这样的List impl?

谢谢!

更新:

  • 不是厚颜无耻,而是"巨大",我的意思是超出我们愿意分配的内存量,而不会干扰同一硬件上的其他进程.你需要什么其他细节?
  • 该应用程序本质上是一个批处理器,它从多个数据库表中加载数据并在其上执行广泛的业务逻辑.列表中的所有数据都是必需的,因为聚合操作是完成逻辑的一部分.
  • 我刚刚看到这篇文章提供了一个非常好的选择:STXXL相当于Java

java algorithm collections list large-data-volumes

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