突然之间,我的wget安装开始用意大利语与我交谈(当我做 - 帮助或其他交互时).我能理解它,但我用英语设置了一切,我宁愿保留这种语言.知道发生了什么.
我在macOS 10.13.4下,我已经通过Homebrew安装了1.19.5.
只有几个管理员用户才会出现此问题,当我在常规用户下运行时,它会一直说英语.
locale
输出似乎很好.
我是Python的新手,我想知道我是否可以构建具有复杂结构的枚举,而不仅仅是原始类型.例如(在伪代码中):
Point::Enum
x, y
constructor ( x, y ) {
...
}
bottom_left = Point ( 0, 0 )
top_left = Point ( 0, 100 )
top_right = Point ( 100, 100 )
bottom_right = Point ( 100, 0 )
Run Code Online (Sandbox Code Playgroud)
到目前为止,我只能找到提到字符串或整数的枚举的Python文档.
抱歉,也许这个问题太愚蠢或已经回答了,但我找不到。
我想知道是否有一些已知的 Java 类加载器能够接受类路径中的远程文件,即像 CLASSPATH="http://somewhere.net/library.jar:..." 这样的条目。
请注意,我不是在谈论小程序或 Java Web Start。考虑一个可以使用不同后端(例如 MySQL、Oracle)的应用程序,我想根据用户的后端偏好在 shell 脚本中准备类路径,并让类加载器下载所需的jar(本例中的 jdbc 驱动程序)来自分发服务器。我也不是在谈论 Maven(用户只是获得二进制分发版,我不想强迫他们从源代码构建他们需要的东西)。
This is similar to Change unhandled exception auto-generated catch code in Eclipse?
这是关于更改 Eclipse 为函数 'sorround with try/catch block' 生成的代码。
就我而言,我想更改用于此类代码中的异常的变量名称(模板中 ${exception_var} 引用的变量名称)。我不喜欢“e”,因为有时它会与已定义的变量发生冲突。ex
并且try ( ex ) {...}
会更好。
假设我有一个 Java 8 流数组:Stream<T>[] streams
,我想创建一个 Stream,其中新流的每个元素都是一个数组,由从每个初始基本流中选取一个元素组成(假设它们都是连续的) )。
例如,如果我有:
streams [ 0 ] returning: ( "A", "B", "C" ),
streams [ 1 ] returning ( "X", "Y", "Z" )
and streams [ 2 ] as ( "0", "1", "2" )
Run Code Online (Sandbox Code Playgroud)
我想要一个返回的流
( { "A", "X", "0" }, { "B", "Y", "1" }, { "C", "Z", "2" } )
Run Code Online (Sandbox Code Playgroud)
是否有一些代码已经实现了这一点?我有一个如何去做的想法,这将是对 case的概括,但我想知道是否已经存在可重用的东西。
编辑:对不起,我意识到我需要澄清一下:
我不想创建整个矩阵,我想要一个每次动态返回一行的流(首先是 A/X/0,然后是 B/Y/1 等),而不必占用所有行的内存提前。我对基本流的大小做出合理的假设很好(例如,取最小值,一旦有没有更多元素要返回的流就停止)。
我知道这可以通过首先将基本流转换为迭代器,然后创建一个新的迭代器来实现,其中 next() 从每个下划线迭代器中选择一个元素并返回一个新行。这就是我上面链接的配对示例所做的,我可以自己实现它,在这里我试图了解它是否已经在某个库中完成(我知道 JDK 没有这样的功能)。
假设我有一些代码使用 an 启动任务ExecutorService
,然后调用者通过方法Future
返回的submit()
方式取消它:
execService = Executors.newSingleThreadExecutor ();
Future<String> result = execService.submit ( () -> {
for ( ... ) {
if ( Thread.interrupted() ) break;
// Stuff that takes a while
}
return "result";
});
...
result.cancel ( true );
// I'm not sure the corresponding thread/task has finished and the call() method
// above returned
// result.isDone() is immediately true. result.get() throws CancellationException
Run Code Online (Sandbox Code Playgroud)
因此,我可以取消后台任务并使执行程序准备好重新启动。但是,在被中断的任务完成中断并且相应的方法返回之前,我不能做后者。
请注意,在上面的代码中,主流程在此之后直接返回result.cancel()
并result.isCancelled()
在此之后为真,同时,并行任务可能还需要一段时间才能Thread.interrupted()
再次检查并终止。在继续主线程之前,我需要确保副任务完全完成。
此外,请注意,单线程执行器的使用是偶然的,除了这个简单的例子,我想解决只有一个并行线程的情况和运行多个线程的情况的问题。
确定这一点的最佳方法是什么? …
我正在检查我的程序的输出,我不时会看到像"java.lang.NullPointerException"这样的消息,而不是别的.因为这不是来自我的代码,我很确定,有一些第三方库,其中一些混蛋做了类似的东西:catch(ex){println ex.getMessage()}.
有没有办法重新启用堆栈跟踪报告并查看问题发生的位置?通过调试器+逐步执行来实现这一点并不容易,因为当我在大量输入数据上运行程序时问题是随机发生的,而如果我尝试重新运行,则无法重现它看起来很内疚的数据切片.
提前致谢!
有没有办法在Java 8中引用一组方法,它们的重载方式会改变它们的签名?
更确切地说,我希望这段代码能够工作:
public class OverloadingMethodRef
{
public static void foo ( int x ) {
System.out.println ( "An integer: " + x );
}
public static void foo ( String x ) {
System.out.println ( "A String: " + x );
}
/**
* I want it to work without this
*/
// public static void foo ( Object x ) {
// if ( x instanceof Integer ) foo ( (int) x ); else foo ( ( String …
Run Code Online (Sandbox Code Playgroud) 我想做这样的事情:
{ param -> if ( <condition over param> ) process ( param ) } ( provider () );
Run Code Online (Sandbox Code Playgroud)
即, param 是一个方法返回的值(比方说,它需要很长时间才能运行,所以我只想调用它一次)并且我只想在它满足条件时传递这样的值。
替代方案是:
Param param = provider(); if ( <cond> ) process ( param );
Run Code Online (Sandbox Code Playgroud)
但是基于 lambda 的版本,如果我能让它工作的话,会更短。上面的代码不能用 Java 编译,我不知道我在想什么是可能的,以及如何。
Neo4j 最近推出了call db.labels();
,它可以生成数据库中使用的所有标签,大概不需要进行全面扫描。
属性键是否有类似的东西,即一些返回数据库中使用的所有键的指令,无论节点如何?标签上是否有参数化的东西,即返回至少一个具有给定标签的节点中使用的所有键?
同样,我知道如何使用完整扫描进行任一查询,但恐怕它们效率不高。我知道这样的函数必须是 Web 浏览器用来在左列上显示所有属性键的函数。
java ×4
java-8 ×3
lambda ×2
classloader ×1
classpath ×1
complextype ×1
cypher ×1
debugging ×1
eclipse ×1
enums ×1
exception ×1
java-stream ×1
neo4j ×1
python ×1
remoteobject ×1
wget ×1