项目编号6的这个文章指出:
尽量不要因为价格而重新抛出异常.如果重新投掷是必须的,重新抛出相同的异常,而不是创建一个新的异常.这将带来额外的性能.您可以在每个图层中向该例外添加其他信息.
好吧,但这违反了层的分离,不是吗?
假设我有一个抛出SQLException的DAO的特定实现
假设我的服务层(或业务层......)从DAO层调用方法,但决定不处理抛出的异常.
如果我将SQLException重新抛出到视图层,我的视图层将不仅会耦合到DAO层,不是吗?
是不是正确抛出一个新的异常,使查看依赖只有下面一层一层,而不是两个?
抛出相同的Exception会带来什么优势,除了性能?
Java变量名中可以使用的字符有哪些规则?
我有这个示例代码:
public class Main {
public static void main(String[] args) {
int k = 4;
System.out.println(s);
}
}
Run Code Online (Sandbox Code Playgroud)
哪个不会编译:
javac Main.java
Main.java:3: error: illegal character: '\udd1e'
int k = 4;
^
1 error
Run Code Online (Sandbox Code Playgroud)
那么为什么Java编译器会为''抛出错误?(\ uD834\uDD1E)
在ideone.com中也是如此:http://ideone.com/fnmvpG
此页面说明:
Bamboo的REST API提供以下功能:
- 检索构建的工件.
而在这里我看到的文档:
http://myhost.com:8085/bamboo/rest/api/latest/plan/ {projectKey} - {buildKey}/artifact [GET]
当我尝试这个与竹子服务器的链接时,我喜欢:
https://my.bamboo.server/rest/api/latest/plan/MY-PLAN/artifact
Run Code Online (Sandbox Code Playgroud)
我得到的只是:
<artifacts expand="artifacts">
<link href="http://my.bamboo.server/rest/api/latest/plan/MY-PLAN/artifact" rel="self"/>
<artifacts start-index="0" max-result="0" size="0"/>
</artifacts>
Run Code Online (Sandbox Code Playgroud)
所以我理解REST文档完全错误,或者MY-PLAN可能有什么问题,这个链接应该像我期望的那样为我提供一个war文件?
我正在尝试连接到 FTPS 服务器。我可以很好地连接 FileZilla 并列出服务器中的文件、下载等。
我正在尝试使用 org.apache.commons.net.ftp 包中的 FTPSClient 使用 Java 连接到此 FTP 服务器。这就是我正在尝试的方式:
FTPSClient ftp = new FTPSClient();
ftp.connect(HOST, 7021);
ftp.enterLocalPassiveMode();
ftp.login(USERNAME, PASSWORD);
final int list = ftp.list();
System.out.println("List returned: " + list);
Run Code Online (Sandbox Code Playgroud)
我得到的回应是:
FTPSClient ftp = new FTPSClient();
ftp.connect(HOST, 7021);
ftp.enterLocalPassiveMode();
ftp.login(USERNAME, PASSWORD);
final int list = ftp.list();
System.out.println("List returned: " + list);
Run Code Online (Sandbox Code Playgroud)
根据维基百科,425 的意思是:“无法打开数据连接”。
但是,尝试创建一个文件夹效果很好:
FTPSClient ftp = new FTPSClient();
ftp.connect(HOST, 7021);
ftp.enterLocalPassiveMode();
ftp.login(USERNAME, PASSWORD);
ftp.mkd("/laylaylom");
Run Code Online (Sandbox Code Playgroud)
因此,如果我运行此代码并连接 FileZilla,我将在 FTP 服务器中看到文件夹“laylaylom”。
我也尝试过:
FTPSClient ftp = new …Run Code Online (Sandbox Code Playgroud) 这是我的示例代码:
enum A {
A,
}
class TestA {
A a;
public static void main(String[] args) {
final TestA testA = new TestA();
System.out.println(testA.a);
System.out.println(testA.a.A);
}
}
Run Code Online (Sandbox Code Playgroud)
哪个会打印:
null
A
Run Code Online (Sandbox Code Playgroud)
如果未初始化的实例Enum变量的默认值为null,那么访问Enum实例的工作原理是什么?
我是学C语言,并通过一些头文件在Linux目录被偷看/usr/include等stdio.h,stdlib.h等真正困扰着我的是我看到的所有功能与定义extern的关键字,这意味着它们只能被没有任何定义,例如声明:
extern FILE *fopen (__const char *__restrict __filename,
__const char *__restrict __modes) __wur;
Run Code Online (Sandbox Code Playgroud)
每个其他头文件中的每个其他函数也是如此.我的问题是,如果他们只被宣布在他们的实施的哪里?他们必须在某个地方实施吗?
这个功能例如......
int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] )
Run Code Online (Sandbox Code Playgroud)
它需要字符串$pattern和$subject.但是,是什么[?
private static function returnSameElementIfNotEmpty($item) {
if (empty($item)) {
return false;
}
else{
return true;
}
}
public static function clean($array) {
return array_filter($array, 'returnSameElementIfNotEmpty');
}
Run Code Online (Sandbox Code Playgroud)
当我尝试使用示例数组运行时,我得到:
警告:array_filter()要求参数2是有效的回调函数,函数'returnSameElementIfNotEmpty'未找到,或者在第27行的C:\ Framework\ArrayMethods.php中找到无效的函数名称
我通过java.util.Calendar获取有关Java中特定日期的信息(例如一周,一个月,一年中的一天).在我的情况下,是否有某些理由为日历对象设置区域设置?我问是因为:
System.out.println(cal.get(Calendar.DAY_OF_WEEK));
Run Code Online (Sandbox Code Playgroud)
今天(星期日)的返回值始终为1,但在我们的区域设置(cs_CZ)中,它应为7.
Locale locale = new Locale("cs", "CZ");
TimeZone tz = TimeZone.getTimeZone("Europe/Prague");
Calendar cal = GregorianCalendar.getInstance(tz, locale);
cal.setTime(new Date());
// returns => 1 (but I expected 7)
System.out.println(cal.get(Calendar.DAY_OF_WEEK));
// returns => 3 - it's OK
System.out.println(cal.get(Calendar.DAY_OF_MONTH));
Run Code Online (Sandbox Code Playgroud)
编辑:我可以在周日使用1,但我必须确保这是不变的行为,无论使用Locale还是TimeZone.
这是我的代码:
int main(int argc, char** argv) {
int sleeptime = atoi(argv[1]);
int sleepCount = atoi(argv[2]);
int sleepTimeRandom = 1 + (rand() % (int)(sleeptime));
int sleepCountRandom = 1 + (rand() % (int)(sleepCount));
sleepTimeRandom = sleepTimeRandom * 1000;
DWORD id = GetCurrentProcessId();
cout << "\n\nProcess with id " << id << " will sleep for " << sleepTimeRandom << " milliseconds\n";
cout << "\n\nProcess with id " << id << " will sleep " << sleepCountRandom << " times \n";
Run Code Online (Sandbox Code Playgroud)
当我打电话给exe时
sleeper …Run Code Online (Sandbox Code Playgroud)