小编nan*_*itv的帖子

Mac OS X Mojave-永久设置环境变量

我正在使用Mac OS Mojave(10.14.3)。我在~/.bash_profile和中都设置了环境变量, 然后~/.bashrc又运行了~/.bash_profile~/.bashrc。然后,在同一终端中,我可以看到设置的值(使用printenv),但是如果我打开一个新终端,则看不到先前设置的env变量。

请给一些建议。

macos environment-variables macos-mojave

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

如何用一个替换'n'反斜杠(\)?

我想将'n'个斜杠挤出为1,其中n不固定.

例如:

String path = "Report\\\\\\n"; 
Run Code Online (Sandbox Code Playgroud)

预期产量: "Report\\n"

我尝试了以下方式

System.out.println(path.replaceAll("\\+", "\");
Run Code Online (Sandbox Code Playgroud)

但它正在打印 "Report\\\n"

我无法减少更多.

所有相关的问题/答案都与固定数量的斜杠有关.

有没有通用的方法我可以将所有反斜杠挤到一个?

java regex replace

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

ConnectionClosedException:使用 apache hhtpclient 4.5.5 的块编码消息正文过早结束

我正在尝试解析来自 GET 请求的 http 响应,但它抛出以下异常。

org.apache.http.ConnectionClosedException: Premature end of chunk coded message body: closing chunk expected
    at org.apache.http.impl.io.ChunkedInputStream.getChunkSize(ChunkedInputStream.java:266) ~[httpcore-4.4.10.jar!/:4.4.10]
    at org.apache.http.impl.io.ChunkedInputStream.nextChunk(ChunkedInputStream.java:225) ~[httpcore-4.4.10.jar!/:4.4.10]
    at org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.java:184) ~[httpcore-4.4.10.jar!/:4.4.10]
    at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:135) ~[httpclient-4.5.6.jar!/:4.5.6]
    at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) ~[na:na]
    at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) ~[na:na]
    at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) ~[na:na]
    at java.base/java.io.InputStreamReader.read(InputStreamReader.java:185) ~[na:na]
    at java.base/java.io.Reader.read(Reader.java:229) ~[na:na]
    at org.apache.http.util.EntityUtils.toString(EntityUtils.java:227) ~[httpcore-4.4.10.jar!/:4.4.10]
    at org.apache.http.util.EntityUtils.toString(EntityUtils.java:308) ~[httpcore-4.4.10.jar!/:4.4.10]
Run Code Online (Sandbox Code Playgroud)

我解析响应的代码是

String parseResponse(HttpResponse resp) {
        try {
            return org.apache.http.util.EntityUtils.toString(resp.getEntity());
        } catch (IOException e) {
                        throw new RuntimeException(e);
        }
    }
Run Code Online (Sandbox Code Playgroud)

我使用org.apache.httpcomponents:httpcore:4.5.6

我调用的 GET 端点(spring boot 应用程序)如下

public ResponseEntity<org.springframework.data.domain.
Page<JSONObject>> getList() { …
Run Code Online (Sandbox Code Playgroud)

apache-httpclient-4.x spring-boot

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

java流中遇到顺序保存

我已经解决了相关问题,例如如何确保 java8 流中的处理顺序?,我仍然不完全清楚输出元素的顺序。因此,请澄清我的以下疑问。

 Integer[] intArray = {1, 2, 3, 4, 5, 6, 7, 8 };
            List<Integer> listOfIntegers =
                new ArrayList<>(Arrays.asList(intArray));
       listOfIntegers
            .parallelStream()
             .unordered()
            .forEachOrdered(e -> System.out.print(e + " "));
Run Code Online (Sandbox Code Playgroud)

我认为至少在理论上(或根据 java 规范)它可以按比 1、2、3、4、5、6、7、8 的随机顺序打印。我说得对吗?

还有一个相关的问题——相遇顺序保留的决定是在什么执行点做出的?更准确地说 - 整个流管道 ORDER 特性的评估是否在执行开始之前通过源、中间操作和终端操作的特性完成?

java java-8 java-stream

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

Git 忽略 yml 文件

我面临着一个奇怪的问题。我有私人 git 仓库。如果我添加一个新的 .yml 文件,那么 git 会忽略该文件,但如果我添加任何其他文件,那么它会识别它。

存储库中没有 .gitignore 文件。

我的一位同事尝试在该存储库中添加 .yml 文件,他能够做到这一点。

因此问题是特定于我的系统的。我想不出除了 .gitignore 文件之外的任何东西都可以做到这一点。(我什至删除了存储库并再次克隆它,但没有运气)

有人可以分享一些关于这个奇怪问题的指导吗?在哪里看/看什么等?

git bitbucket

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

字节,短类型的好处

操作数堆栈的最小槽大小和局部变量表槽大小为"int".

那么我们如何获得将变量声明为short,byte等的好处.

java bytecode

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

java流performace用于查找列表中的最大元素

我编写了一个简单的程序来与流的性能进行比较,以查找整数的最大形式列表。令人惊讶的是,我发现“流方式”的性能是“通常方式”的1/10。难道我做错了什么?是否有条件限制哪种Stream方法无效?有人能对此行为做出一个很好的解释吗?

“流方式”花费了80毫秒“流方式”花费了15毫秒请在下面找到代码

public class Performance {

public static void main(String[] args) {

    ArrayList<Integer> a = new ArrayList<Integer>();
    Random randomGenerator = new Random();
    for (int i=0;i<40000;i++){
        a.add(randomGenerator.nextInt(40000));
    }
    long start_s = System.currentTimeMillis( );

            Optional<Integer> m1 = a.stream().max(Integer::compare);

    long diff_s = System.currentTimeMillis( ) - start_s;
    System.out.println(diff_s);


    int e = a.size();
    Integer m = Integer.MIN_VALUE;

    long start = System.currentTimeMillis( );
    for(int i=0; i < e; i++) 
      if(a.get(i) > m) m = a.get(i);

    long diff = System.currentTimeMillis( ) - start;
    System.out.println(diff);


}
Run Code Online (Sandbox Code Playgroud)

}

java performance java-8 java-stream

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