class Main {
public static void main (String[] args){
long value = 1024 * 1024 * 1024 * 80;
System.out.println(Long.MAX_VALUE);
System.out.println(value);
}
}
Run Code Online (Sandbox Code Playgroud)
输出是:
9223372036854775807 0
这是正确的long value = 1024 * 1024 * 1024 * 80L;!
在大型应用程序中,日志记录是必不可少的,但是当许多开发人员处理代码时,日志会变得混乱.有人可能写道:
log.info("Loaded " + rowCount + " recodrs from the database.");
Run Code Online (Sandbox Code Playgroud)
另一个可能做的事情如下:
log.debug("Records read={}", rowCount);
Run Code Online (Sandbox Code Playgroud)
第三个开发人员可能认为这是正确的方法:
log.trace("Record(s) read: " + NumberFormat.getInstance().format(rowCount)
+ ", values: " + values);
Run Code Online (Sandbox Code Playgroud)
这将导致难以阅读的日志,并且难以解析.
您可以为开发人员提供哪些指导,以生成有可能保持一致且实际可供其他人使用的日志?关于伐木的政策是否有益?如果是这样,它应包括什么?是否应该有一个API(在日志框架之上)来实施此策略?
我也很好奇如何使代码看起来相似,但更重要的问题是关于实际输出.
我从各种渠道了解到,HTTPS握手是使用HTTPS最重要的部分.我在我的服务器之间内部使用POST来传递信息,并希望使用HTTPS.我想知道实际的HTTPS握手持续/"保持打开"多长时间?是重新完成我发送到服务器的每个POST,还是生命周期是什么?
如果表可以基本上是内连接的,因为where子句排除了所有不匹配的记录,所以使用以下2个查询语句语法样式中的第一个确切地说有多糟糕:
SELECT {COLUMN LIST}
FROM TABLE1 t1, TABLE2 t2, TABLE3 t3, TABLE4 t4 (etc)
WHERE t1.uid = t2.foreignid
AND t2.uid = t3.foreignid
AND t3.uid = t4.foreignid
etc
Run Code Online (Sandbox Code Playgroud)
代替
SELECT {COLUMN LIST}
FROM TABLE1 t1
INNER JOIN TABLE2 t2 ON t1.uid = t2.foreignid
INNER JOIN TABLE3 t3 ON t2.uid = t3.foreignid
INNER JOIN TABLE4 t4 ON t3.uid = t4.foreignid
Run Code Online (Sandbox Code Playgroud)
我不确定这是否仅限于微软SQL,甚至是特定版本,但我的理解是第一个场景执行完全外部联接以使所有可能的相关性都可访问.
我过去使用过第一种方法来优化查询,这些查询可以访问两个非常大的数据存储区,每个存储区都有外围表连接到它们,这些连接的产品在查询的后期汇集在一起.通过允许每个"较大"表连接到它们各自的查找表,并且只组合每个较大表的特定子集,我发现在特定过滤之前将大表引入彼此有显着的速度改进.
在正常(简单连接)情况下,使用第二种情况会不会更好?我发现它更容易阅读,看起来它会更快.
在使用ProtoBuf-Net并序列化枚举属性时,枚举设置为[FlagsAttribute],在序列化由多个标志组成的枚举值时收到以下错误消息.
错误是:值(MyEnum.MyValue)没有属性MyProperty的线表示
MyEnum在哪里:
[Flags]
public Enum MyEnum
{
MyValue = 0,
MyValue1 = 1,
MyValue2 = 2,
MyValue4 = 4,
MyValue8 = 8,
}
Run Code Online (Sandbox Code Playgroud)
和
MyProperty = MyEnum.MyValue2 | MyEnum.MyValue4;
Run Code Online (Sandbox Code Playgroud)
似乎是protobuf-net中的一个bug?
我正在考虑如何提高我找到解决问题的算法解决方案的能力.我曾想过从各种数学领域解决数学问题,如离散数学或线性代数.经过"谷歌搜索",我读了一篇文章声称需要学习游戏编程才能实现这一点,这对我来说似乎是合乎逻辑的.
你有/与我有同样的担忧,或者你有任何想法吗?我期待听到他们.
谢谢大家.
PS1:我想说我已经知道编程和如何编程(虽然我是业余级别:-))我只是想在具体问题上改进,而不是开始学习它
PS2:我认为这是一个有用的主题供将来参考,所以我检查了社区wiki框.
我有一个数组数组,具有以下结构:
array(array('page' => 'page1', 'name' => 'pagename1')
array('page' => 'page2', 'name' => 'pagename2')
array('page' => 'page3', 'name' => 'pagename3'))
Run Code Online (Sandbox Code Playgroud)
是否有内置函数将返回一个只包含'name'键值的新数组?所以我得到:
array('pagename1', 'pagename2', 'pagename3')
Run Code Online (Sandbox Code Playgroud) 从表中选择过去7天内创建的那些行的最佳方法是什么?
MySQL中有许多时间和日期函数,我对最简单的方法有点困惑.
为了这个问题,假设你有一个名为"my_table"的表,它包含一行"created_at",这是一个DATETIME.
SELECT * FROM my_table WHERE ...
Run Code Online (Sandbox Code Playgroud)
你会在WHERE子句中填写什么?
在多个类加载器中使用时,我遇到了我的单例问题.例如,Singleton由多个EJB访问.有没有办法创建一个在所有类加载器中只有一个实例的单例?
我正在寻找使用自定义类加载器或其他方式的纯java解决方案.
我在PHP 5和MySQL中构建了一个站点,其中包含一个跟踪预定照片拍摄的表格.我想将那些预定的"事件"的提要推送到一个文件中.
我最初问过这个问题并得到了S. Gehrig的一个很好的答案.每当我在Dreamweaver中手动调整文件时,我都会有一个示例文件工作,并定期在Google日历中更新.但是,现在我已经从数据库中添加了动态PHP,它将无法正常工作.
这是PHP:
<?php
require_once('../../_includes/initialize.php');
$ical = " BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN ";
$slots = Slot::find_all();
foreach($slots as $slot) {
$job = Job::find_by_id($slot->job_id);
$start_stamp = strtotime($slot->start);
$end_stamp = strtotime($slot->endtime);
$dtstart = gmdate('Ymd', $start_stamp).'T'. gmdate('His', $start_stamp) . "Z"; // converts to UTC time
$dtend = gmdate('Ymd', $end_stamp).'T'. gmdate('His', $end_stamp) . "Z"; // converts to UTC time
$summary = $job->title;
$ical .= " BEGIN:VEVENT
UID:" . $slot->id . "@homewoodphoto.jhu.edu
DTSTAMP:" . gmdate('Ymd').'T'. gmdate('His') . "Z
DTSTART:" …Run Code Online (Sandbox Code Playgroud)