我看了整个Preferences - > Java - > Code Style - > Formatter,找不到任何方法让eclipse格式化我的代码,如:
something.
someMethod().
anotherMethod().
lastMethod();
Run Code Online (Sandbox Code Playgroud)
代替:
something
.someMethod()
.anotherMethod()
.lastMethod();
Run Code Online (Sandbox Code Playgroud)
我知道这是非标准的,但这就是我的需要.
编辑:这不是要包装线.它特别关于与期间相关的包裹发生的位置.我希望句号在行尾,在换行符之前,现在eclipse想要在下一行开头的句号.
编辑2:即使我能找到eclipse的源代码在哪里决定包装线的位置,这可能会有所帮助.我认为这可能是在JDT项目中,但我不是100%而且那里有很多.
我有一个java进程打印出很多文本.有时我只是想看一些文字.使用普通程序,我可以这样做:
$ myprog | head
Run Code Online (Sandbox Code Playgroud)
我只会看到myprog的10行输出,它会立即退出.但是对于java,如果我这样做:
$ java MyClass | head
Run Code Online (Sandbox Code Playgroud)
我获得了前10行输出,但java进程在完成所有处理之前不会退出.这就像java并不关心stdout(System.out)已经消失,而且头部进程已经死了.
所有其他程序要么像猫一样默默地退出:
$ cat /etc/group | head
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
Run Code Online (Sandbox Code Playgroud)
或者退出管道错误/异常,如python:
$ python -c 'while True: print "hi"' | head
hi
hi
hi
hi
hi
hi
hi
hi
hi
hi
Traceback (most recent call last):
File "<string>", line 1, in <module>
IOError: [Errno 32] Broken pipe
Run Code Online (Sandbox Code Playgroud)
当我将输出管道输出到像head这样的东西时,如何在调用System.out.println()时让java引发异常?我希望能够做到这样的事情:
try {
while(true) {
System.out.println("hi");
}
} catch(BrokenPipeException e) {
// exit gracefully
}
Run Code Online (Sandbox Code Playgroud) 我们正在使用一个内部托管的PyPI服务器(devpi-server),以便我们可以托管大型软件包的二进制轮子,这些软件包需要很长时间才能从scipy,matplotlib等源代码安装.安装这些软件包时,pip install scipy工作完美,绝对使用我们的轮子创造了.但是,使用任何内部开发的python包,这些包依赖于其中一个包并运行会python setup.py install|develop|test|whatever导致以下错误:
No local packages or download links found for scipy
Traceback (most recent call last):
File "setup.py", line 136, in <module>
'develop': DevelopCommand
File "/usr/local/lib/python2.7/distutils/core.py", line 112, in setup
_setup_distribution = dist = klass(attrs)
File "/users/me/virtualenvs/devpi-test/lib/python2.7/site-packages/setuptools/dist.py", line 239, in __init__
self.fetch_build_eggs(attrs.pop('setup_requires'))
File "/users/me/virtualenvs/devpi-test/lib/python2.7/site-packages/setuptools/dist.py", line 263, in fetch_build_eggs
parse_requirements(requires), installer=self.fetch_build_egg
File "/users/me/virtualenvs/devpi-test/lib/python2.7/site-packages/pkg_resources.py", line 564, in resolve
dist = best[req.key] = env.best_match(req, self, installer)
File "/users/me/virtualenvs/devpi-test/lib/python2.7/site-packages/pkg_resources.py", line 802, in best_match
return self.obtain(req, …Run Code Online (Sandbox Code Playgroud) 在试验广播消息时(在Windows 7笔记本电脑上的VirtualBox 5.0.14上运行的Debian 8.3 VM上),我发现netcat(nc)只接收第一个广播消息.它不接收第二个广播消息.
这是客户端程序.
// client.c
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netdb.h>
int main()
{
int sockfd;
int ret;
char buffer[1024];
ssize_t bytes;
int yes = 1;
struct addrinfo hints, *ai, *aii;
memset(&hints, 0, sizeof hints);
hints.ai_family = AF_INET;
hints.ai_socktype = SOCK_DGRAM;
if ((ret = getaddrinfo("255.255.255.255", "9090", &hints, &ai)) == -1) {
fprintf(stderr, "client: getaddrinfo() error: %s\n", gai_strerror(ret));
return EXIT_FAILURE;
}
for (aii = ai; …Run Code Online (Sandbox Code Playgroud) 我最近一直在研究hadoop和HDFS.将文件加载到HDFS时,它通常会将文件拆分为64MB块,并在群集周围分发这些块.除非gzip文件无法执行此操作,因为无法拆分gzip文件.我完全理解为什么会这样(我不需要任何人解释为什么gzip文件不能拆分).但是为什么HDFS不能将纯文本文件作为输入并像普通文件一样拆分,然后分别使用gzip压缩每个拆分?访问任何拆分时,它只是在运行中解压缩.
在我的方案中,每个拆分都是完全独立压缩的.拆分之间没有依赖关系,因此您不需要整个原始文件来解压缩任何一个拆分.这是该补丁采用的方法:https://issues.apache.org/jira/browse/HADOOP-7076,请注意,这不是我想要的.
这似乎很基本......我错过了什么?为什么不能这样做?或者如果可以做到,为什么hadoop开发人员不会忽视这条路线?考虑到我发现有多少人想要在HDFS中分割gzip文件,这似乎很奇怪.
我在 bash 和子EXITshell 内发现了一些奇怪的行为。我希望以下四行都输出相同的内容(“嗨被困”):
a=$(trap 'echo trapped' EXIT ; echo hi); echo $a
a=$(trap 'echo trapped' EXIT && echo hi); echo $a
a=$(trap 'echo trapped' EXIT ; /bin/echo hi); echo $a
a=$(trap 'echo trapped' EXIT && /bin/echo hi); echo $a
Run Code Online (Sandbox Code Playgroud)
前三个确实打印了“hi trap”,但最后一个不是。它只是输出“hi”。陷阱没有被调用。您可以通过以下方式验证这一点set -x:
set -x; a=$(trap 'echo trapped' EXIT ; echo hi); set +x; echo $a
set -x; a=$(trap 'echo trapped' EXIT && echo hi); set +x; echo $a
set -x; a=$(trap 'echo trapped' EXIT ; …Run Code Online (Sandbox Code Playgroud)