我正在使用Mac OS Mojave(10.14.3)。我在~/.bash_profile和中都设置了环境变量,
然后~/.bashrc又运行了~/.bash_profile和~/.bashrc。然后,在同一终端中,我可以看到设置的值(使用printenv),但是如果我打开一个新终端,则看不到先前设置的env变量。
请给一些建议。
我想将'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"
我无法减少更多.
所有相关的问题/答案都与固定数量的斜杠有关.
有没有通用的方法我可以将所有反斜杠挤到一个?
我正在尝试解析来自 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) 我已经解决了相关问题,例如如何确保 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 特性的评估是否在执行开始之前通过源、中间操作和终端操作的特性完成?
我面临着一个奇怪的问题。我有私人 git 仓库。如果我添加一个新的 .yml 文件,那么 git 会忽略该文件,但如果我添加任何其他文件,那么它会识别它。
存储库中没有 .gitignore 文件。
我的一位同事尝试在该存储库中添加 .yml 文件,他能够做到这一点。
因此问题是特定于我的系统的。我想不出除了 .gitignore 文件之外的任何东西都可以做到这一点。(我什至删除了存储库并再次克隆它,但没有运气)
有人可以分享一些关于这个奇怪问题的指导吗?在哪里看/看什么等?
操作数堆栈的最小槽大小和局部变量表槽大小为"int".
那么我们如何获得将变量声明为short,byte等的好处.
我编写了一个简单的程序来与流的性能进行比较,以查找整数的最大形式列表。令人惊讶的是,我发现“流方式”的性能是“通常方式”的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 ×4
java-8 ×2
java-stream ×2
bitbucket ×1
bytecode ×1
git ×1
macos ×1
macos-mojave ×1
performance ×1
regex ×1
replace ×1
spring-boot ×1