在具有大量关闭操作的高度并发程序中,想知道如何在不过早调用System.exit()的情况下设置退出代码?可以设置"当其他一切完成时执行此代码"方法?但我真的只想提前设置退出代码.
C++移位运算符<<不循环.例如,如果你这样做:
// C++
int a = 1;
cout << (a<<38);
Run Code Online (Sandbox Code Playgroud)
你得到0.但是,在Java中你实际上是循环并获得64的有效值.
我需要将一些C++代码翻译成Java,那么我使用什么作为等价物<<呢?
在restlet中获取此错误:
ForwardUIApplication ; Exception while instantiating the target server resource.
java.lang.InstantiationException: me.unroll.forwardui.server.ForwardUIServer$UnsubscribeForwardUIResource
Run Code Online (Sandbox Code Playgroud)
我确切知道为什么.这是因为我的构造函数看起来像这样:
public UnsubscribeForwardUIResource(MySQLConnectionPool connectionPool) {
Run Code Online (Sandbox Code Playgroud)
并且Restlet访问资源,如下所示:
router.attach(Config.unsubscribeUriPattern(), UnsubscribeForwardUIResource.class);
Run Code Online (Sandbox Code Playgroud)
问题是我实际上需要那个ctor参数.我怎样才能访问它?(注意我没有使用任何IOC框架,只有很多ctor参数,但这实际上是一个IOC模式).
我有这个:
exports.getsertHexId = function (table, hex) {
Run Code Online (Sandbox Code Playgroud)
Webstorm 8的自动缩进是在关键字function和开放式paren 之间创建空间(.
其设置空间选项包括:
困惑,因为这应该涵盖在功能声明括号下我想.这可以正确配置吗?这是一个错误吗?
Eclipse对此非常聪明; IntelliJ还没有.当然,如果一个函数未被使用(并且未经测试,我想我应该感觉不好 - 即使它只是返回一个简单的变量,或者实现其他人的界面)但是公开的,它可能会在其他地方使用.查看"检查"并搜索"未使用",我看不到可见性设置.这种粒度是否存在?
我正在尝试学习分配给嵌套类的可见性,除了我的IDE对我大吼大叫之外我还要做什么.这可能会变得任意复杂,所以我需要理解一般规则.
public class A {
private static class B {
public int foo; // accessible in A?
private int bar; // accessible in A?
public static class C { // accessible in A? everywhere?
}
private static class D { // accessible in A?
}
}
}
Run Code Online (Sandbox Code Playgroud)
据我所知,修饰符似乎在"文件"级别解析,而不是在封装类的级别.一旦有一件事是私人的,其中的任何东西都是私人的.
这个或技术解释的实际机制是什么?这是在某处记录的还是我只需要阅读JLS?
我有一个来自OpenSSL(特别是SSL_read)的段错误,我想调试.我认为这里采取的最佳步骤是使用调试符号自己构建库,这样我就可以进入函数并查看它正在发生的命令.我不清楚如何a)自己构建库和b)破解makefile给我调试符号.有没有人有使用这个特定库的经验,或者对这种构建和修改方法有一般指导?
得到此错误:
./config -d
Operating system: x86_64-whatever-linux2
This system (debug-linux-x86_64) is not supported. See file INSTALL for details.
Run Code Online (Sandbox Code Playgroud)
不知道该怎么做.OS信息:
$ cat /proc/version
Linux version 3.2.0-24-virtual (buildd@yellow) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.31ubuntu5) ) #37-Ubuntu SMP Wed Apr 25 10:17:19 UTC 2012
$ uname -srvio
Linux 3.2.0-24-virtual #37-Ubuntu SMP Wed Apr 25 10:17:19 UTC 2012 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud) package check;
import java.util.Calendar;
public class Test {
public static void main(String[] args) {
// length of a day
long DAY_MILLIS = 1000 * 60 * 60 * 24;
Calendar cal = Calendar.getInstance();
cal.set(1900, 0, 1, 0, 0, 0);
System.out.println(cal.getTime());
cal.setTimeInMillis(cal.getTimeInMillis() + DAY_MILLIS);
System.out.println(cal.getTime());
}
}
Run Code Online (Sandbox Code Playgroud)
它的结果是:
Mon Jan 01 00:00:00 KST 1900
Mon Jan 01 23:30:00 KST 1900 // Where is 30 minutes here?
Run Code Online (Sandbox Code Playgroud)
最有趣和最重要的线索是这个问题发生在年仅1900年.
嗯,这有点像hacky:
function b2n(boo) {
return boo ? 1 : 0;
}
if(b2n(opt1) + b2n(opt2) + b2n(opt3) !== 1) {
throw new Error("Exactly one option must be set");
}
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法在Javascript中执行此操作?使用任何一个
等等.欢迎使用Javascript和Node解决方案.
在我的实际问题中,选项来自Node模块指令器,因此我不处理真正的布尔值,只是真正的虚假和虚假的东西.也可能有指挥官解决方案.
我有一个给定的联合类型的数组,然后想检查数组中是否包含来自联合类型的超集的字符串(运行时检查):
const validOptions: ("foo" | "bar")[] = ["foo", "bar"]
type IArrType = typeof validOptions[number]
const key: IArrType | "alien" = "alien" // Rather: some random function
const isKeyInArr = validOptions.indexOf(key) > -1 // Error: "alien" is not assignable to "foo" | "bar"
// Fix 1:
const isKeyValidCast = validOptions.indexOf(<IArrType>key) > -1
// Fix 2:
const isKeyValidExplicit =
key === "alien" ? false : validOptions.indexOf(key) > -1 // OK: type guard magic
Run Code Online (Sandbox Code Playgroud)
修复1可以,但不是很优雅.修复2愚弄编译器,但是误导和低效的运行时.在我的例子中,"外来"字符串类型只是不在联合类型中的任何字符串的占位符.
有没有什么方法可以在没有强制转换或显式测试的情况下编译?表达式可以否定,以便我们让这个"类型后卫"起作用吗?
顺便说一句:这个非常酷的答案展示了如何从值列表构造一个类型化的元组:Typescript从元组/数组值派生联合类型
java ×6
javascript ×2
visibility ×2
build ×1
c++ ×1
calendar ×1
compilation ×1
debugging ×1
exit-code ×1
inspection ×1
makefile ×1
node.js ×1
openssl ×1
porting ×1
restlet ×1
shutdown ×1
time ×1
typescript ×1
warnings ×1
webstorm ×1