小编Che*_*hei的帖子

JavaScript检查null与undefined以及==和===之间的差异

我知道,我知道必须有一些线索涵盖这个主题.但我使用搜索并没有得到符合我需要的答案.所以我们走了:

  1. 如何检查一个变量,如果是nullundefined,是什么之间的差异nullundefined

  2. "=="和"==="之间有什么区别(Google很难搜索到==)?

javascript null undefined

560
推荐指数
6
解决办法
42万
查看次数

如果isDebugEnabled()包含对debug()的调用:一个好的策略?

我们的团队有像日志这样做的政策

if (LOGGER.isDebugEnabled()) {  
  LOGGER.debug("model[" + model + "]");
}
Run Code Online (Sandbox Code Playgroud)

而不是像这样简单地调用日志记录方法:

LOGGER.debug("model[" + model + "]");
Run Code Online (Sandbox Code Playgroud)

这种做法能够带来一些性能提升,但另一方面它使代码库更加复杂.我们的应用程序没有性能问题,可能永远不会,引入策略的论点只是它是一个很好的做法,因此每次我们进行日志记录时都应该使用它.

你认为这是一个好政策吗?

java performance logging coding-style

23
推荐指数
3
解决办法
1万
查看次数

如何使用MySQL编写的语句缓存?

我如何利用MySQL的缓存预准备语句的能力?使用预准备语句的一个原因是,如果要再次使用相同的预准备语句,则不需要多次发送预准备语句本身.

Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb" +
        "?cachePrepStmts=true", "user", "pass");
for (int i = 0; i < 5; i++) {
    PreparedStatement ps = conn.prepareStatement("select * from MYTABLE where id=?");
    ps.setInt(1, 1);
    ps.execute();
}
conn.close()
Run Code Online (Sandbox Code Playgroud)

运行上面的Java示例时,我在mysqld日志文件中看到了5对Prepare和Execute命令.将ps赋值移到循环之外会导致单个Prepare和5 Execute命令.连接参数"cachePrepStmts = true"似乎没有任何区别.
使用Spring和Hibernate运行类似程序时,发送的Prepare命令数(1或5)取决于是否启用了cachePrepStmts连接参数.Hibernate如何执行预准备语句以利用cachePrepStmts设置?是否有可能使用纯JDBC模仿这个?
我在MySQL Server 4.1.22和mysql-connector-java-5.0.4.jar上运行它

java mysql hibernate jdbc prepared-statement

8
推荐指数
1
解决办法
1万
查看次数

如何使用JSF/MyFaces基于用户角色创建条件?

我有哪些选项可以从JSP页面中读取当前用户的角色?我知道visibleOnUserRole="myRole"Tomahawk组件的属性,但我需要角色来处理比简单可见性更复杂的事情.

java jsf jsp myfaces tomahawk

3
推荐指数
1
解决办法
8647
查看次数

使用NSDateFormatter转换时区时丢失了980秒

在解析不同时区的日期时,我注意到NSDateFormatter在处理过去的日期时会产生奇怪的结果.

我有以下代码:

NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[dateFormatter setLocale:usLocale];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm"];

NSString* dateString1 = @"1890-09-30 12:00";
NSString* dateString2 = @"1890-10-01 12:00";

NSLog(@"original timezone %@", [dateFormatter timeZone]);

NSDate* localDate1 = [dateFormatter dateFromString:dateString1];
NSDate* localDate2 = [dateFormatter dateFromString:dateString2];
NSLog(@"localDate1 %@ » %@", dateString1, localDate1);
NSLog(@"localDate2 %@ » %@", dateString2, localDate2);

[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];

NSDate* utcDate1 = [dateFormatter dateFromString:dateString1];
NSDate* utcDate2 = [dateFormatter dateFromString:dateString2];
NSLog(@"utcDate1   %@ » %@", dateString1, utcDate1);
NSLog(@"utcDate2   %@ » %@", dateString2, …
Run Code Online (Sandbox Code Playgroud)

timezone date ios

3
推荐指数
1
解决办法
456
查看次数

接口和抽象类有什么区别?

重复:

何时使用接口而不是抽象类,反之亦然?

可能是最着名的软件开发人员面试问题之一.

你的答案是什么?

编辑:我想知道如何在现实生活中回答这个问题.请尝试像在实际面试时一样制定答案(完整,但不要太长,当然不发布任何链接).

oop abstract-class interface

0
推荐指数
1
解决办法
1万
查看次数