小编Zol*_*tán的帖子

如何与缺少的父目录一起创建新文件?

使用时

file.createNewFile();
Run Code Online (Sandbox Code Playgroud)

我得到以下异常

java.io.IOException: Parent directory of file does not exist: /.../pkg/databases/mydb
Run Code Online (Sandbox Code Playgroud)

我想知道是否有createNewFile创建缺少的父目录?

java

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

如何将Java 8流收集到Guava ImmutableCollection中?

我想做以下事情:

List<Integer> list = IntStream.range(0, 7).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

但是在某种程度上,结果列表是Guava的实现ImmutableList.

我知道我能做到

List<Integer> list = IntStream.range(0, 7).collect(Collectors.toList());
List<Integer> immutableList = ImmutableList.copyOf(list);
Run Code Online (Sandbox Code Playgroud)

但是我想直接收集它.我试过了

List<Integer> list = IntStream.range(0, 7)
    .collect(Collectors.toCollection(ImmutableList::of));
Run Code Online (Sandbox Code Playgroud)

但它引发了一个例外:

com.google.common.collect.ImmutableCollection.add(ImmutableCollection.java:96)中的java.lang.UnsupportedOperationException

guava java-8 java-stream

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

如何获取Android设备的CURRENT方向(ActivityInfo.SCREEN_ORIENTATION_*)?

我想找出一个装置的详细取向,优选的一个SCREEN_ORIENTATION_LANDSCAPE,SCREEN_ORIENTATION_PORTRAIT,SCREEN_ORIENTATION_REVERSE_LANDSCAPE,SCREEN_ORIENTATION_REVERSE_PORTRAITActivityInfo或等同物.

StackOverflow中的一些答案包括在内

getWindowManager().getDefaultDisplay().getRotation()
Run Code Online (Sandbox Code Playgroud)

但这并没有真正告诉我该设备是处于纵向还是横向模式,只是它是如何根据其自然位置转动的 - 而这反过来可以是风景或肖像.

getResources().getConfiguration().orientation
Run Code Online (Sandbox Code Playgroud)

返回以下三种:ORIENTATION_LANDSCAPE,ORIENTATION_PORTRAIT,ORIENTATION_SQUARE,然后并没有真正告诉我哪种方式手机处于开机状态(无论是上下颠倒或两侧的它的转向).

我知道我可以结合使用后者DisplayMetrics来找出设备的自然方向,但是真的没有更好的方法吗?

android screen-orientation

56
推荐指数
5
解决办法
6万
查看次数

在Python中'输入'是一个关键字吗?

我是Python的新手.我正在Sublime中编写一些代码并突出显示"输入"一词

我使用它作为变量名称,它似乎工作,所以我想知道它是否可能是较新版本中的关键字.(我目前正在使用2.7.5)

python

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

如何在PostgreSQL/pgAdmin III中将bytea数据打印为十六进制字符串?

我的数据库中有一个相当短的(14字节)bytea数据列.我想将其打印为十六进制字符串.

我怎么做?

postgresql hex pgadmin

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

无法从凤凰表中读取大数据

大家好我在大型桌子上运行凤凰计数查询时收到以下错误消息.

0: jdbc:phoenix:hadoopm1:2181> select Count(*) from PJM_DATASET;
+------------+
|  COUNT(1)  |
+------------+

java.lang.RuntimeException: org.apache.phoenix.exception.PhoenixIOException: org.apache.phoenix.exception.PhoenixIOException: Failed after attempts=36, exceptions:
Fri Jan 09 02:18:10 CST 2015, null, java.net.SocketTimeoutException: callTimeout=60000, callDuration=62365: row '' on table 'PJM_DATASET' at region=PJM_DATASET,,1420633295836.4394a3aa2721f87f3e6216d20ebeec44., hostname=hadoopctrl,60020,1420790733247, seqNum=27753

    at sqlline.SqlLine$IncrementalRows.hasNext(SqlLine.java:2440)
    at sqlline.SqlLine$TableOutputFormat.print(SqlLine.java:2074)
    at sqlline.SqlLine.print(SqlLine.java:1735)
    at sqlline.SqlLine$Commands.execute(SqlLine.java:3683)
    at sqlline.SqlLine$Commands.sql(SqlLine.java:3584)
    at sqlline.SqlLine.dispatch(SqlLine.java:821)
    at sqlline.SqlLine.begin(SqlLine.java:699)
    at sqlline.SqlLine.mainWithInputRedirection(SqlLine.java:441)
    at sqlline.SqlLine.main(SqlLine.java:424)
0: jdbc:phoenix:hadoopm1:2181>
Run Code Online (Sandbox Code Playgroud)

请帮忙.

hbase phoenix ambari sqlline

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

如何在PlayFramework中使用Akka Streams SourceQueue

我想使用SourceQueue将元素动态推送到Akka Stream源.Play控制器需要Source才能使用该chuncked方法传输结果.
由于Play使用自己的Akka Stream Sink,我无法使用Sink实现源队列,因为在方法使用之前源将被消耗chunked(除非我使用下面的hack).

如果我使用反应流发布器预先实现源队列,我能够使它工作,但它是一种"肮脏的黑客":

def sourceQueueAction = Action{

    val (queue, pub) = Source.queue[String](10, OverflowStrategy.fail).toMat(Sink.asPublisher(false))(Keep.both).run()

    //stupid example to push elements dynamically
    val tick = Source.tick(0 second, 1 second, "tick")
    tick.runForeach(t => queue.offer(t))

    Ok.chunked(Source.fromPublisher(pub))
  }
Run Code Online (Sandbox Code Playgroud)

是否有更简单的方法在PlayFramework中使用Akka Streams SourceQueue?

谢谢

scala akka playframework akka-stream

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

从bat脚本运行java应用程序上的Windows关闭挂钩

我有一个运行java应用程序的bat脚本.如果我按下ctrl + c,它会正常终止,调用所有关闭钩子.但是,如果我只关闭bat脚本的cmd窗口,则永远不会调用关闭挂钩.

有办法解决这个问题吗?也许有一种方法可以告诉bat脚本如何在窗口关闭时终止被调用的应用程序?

java windows batch-file application-shutdown shutdown-hook

17
推荐指数
2
解决办法
9370
查看次数

具有多个命名位置的NGINX try_files

我想根据请求中的自定义标头有条件地从缓存中获取文件.

如果X-Proxy请求中存在标头,则只有在缓存中存在该文件时才返回该文件.否则,请从互联网上获取.

这是我的.conf档案:

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    proxy_cache_path /home/nginx/proxy levels=1:2 keys_zone=one:15m inactive=7d max_size=1000m;
    proxy_temp_path  /home/nginx/temp;
    proxy_buffering                 on;
    proxy_set_header   X-Real-IP            $remote_addr;
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    proxy_set_header   X-Forwarded-Proto $scheme;
    proxy_set_header   Host                   $http_host;
    proxy_set_header   X-NginX-Proxy    true;
    proxy_set_header   Connection "";
    proxy_http_version 1.1;

    server {
        listen       8000;

        location / {
            root /home/nginx/preload;
            try_files /$uri @local @remote;
        }

        location @local {
            internal;
            add_header X-Local true;
            add_header X-Cache $upstream_cache_status;

            proxy_pass http://$http_host$uri$is_args$args;
            proxy_cache             one;
            proxy_cache_key         backend$request_uri;
            proxy_cache_valid       200  1h;
            proxy_cache_use_stale …
Run Code Online (Sandbox Code Playgroud)

proxy caching nginx

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

是什么导致这种性能下降?

我正在使用Disruptor框架对某些数据执行快速Reed-Solomon纠错.这是我的设置:

          RS Decoder 1
        /             \
Producer-     ...     - Consumer
        \             /
          RS Decoder 8 
Run Code Online (Sandbox Code Playgroud)
  • 生产者从磁盘读取2064字节的块到字节缓冲区.
  • 8个RS解码器消费者并行执行Reed-Solomon纠错.
  • 消费者将文件写入磁盘.

在disruptor DSL术语中,设置如下所示:

        RsFrameEventHandler[] rsWorkers = new RsFrameEventHandler[numRsWorkers];
        for (int i = 0; i < numRsWorkers; i++) {
            rsWorkers[i] = new RsFrameEventHandler(numRsWorkers, i);
        }
        disruptor.handleEventsWith(rsWorkers)
                .then(writerHandler);
Run Code Online (Sandbox Code Playgroud)

当我没有磁盘输出消费者(没有.then(writerHandler)部分)时,测量的吞吐量是80 M/s,一旦我添加消费者,即使它写入/dev/null,甚至不写,但它被声明为依赖消费者,性能下降到50-65 M/s.

我已经使用Oracle Mission Control对其进行了分析,这就是CPU使用率图表显示的内容:

没有额外的消费者: 没有额外的消费者

另外一个消费者: 有额外的消费者

图中的灰色部分是什么?它来自何处?我想它与线程同步有关,但我在Mission Control中找不到任何其他统计信息来指示任何此类延迟或争用.

java performance multithreading disruptor-pattern

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