出于诊断目的,我希望能够在长时间运行的服务器应用程序中检测系统时钟的变化.由于System.currentTimeMillis()是基于挂钟时间并且System.nanoTime()基于挂钟时间独立(*)的系统计时器,我想我可以使用这些值之间的差异的变化来检测系统时间变化.
我写了一个快速测试应用程序,看看这些值之间的差异是多么稳定,令我惊讶的是,这些值在我每秒几毫秒的水平上立刻发散.有几次我看到了更快的分歧.这是在带有Java 6的Win7 64位桌面上.我没有在Linux(或Solaris或MacOS)下尝试过这个测试程序来查看它的执行情况.对于这个应用程序的一些运行,分歧是积极的,对于某些运行它是负面的.它似乎取决于桌面正在做什么,但很难说.
public class TimeTest {
private static final int ONE_MILLION = 1000000;
private static final int HALF_MILLION = 499999;
public static void main(String[] args) {
long start = System.nanoTime();
long base = System.currentTimeMillis() - (start / ONE_MILLION);
while (true) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// Don't care if we're interrupted
}
long now = System.nanoTime();
long drift = System.currentTimeMillis() - (now / ONE_MILLION) - base;
long interval = (now …Run Code Online (Sandbox Code Playgroud) 以下代码给了我一个NullPointerException.问题出在以下几行:
...
dataMap.put(nextLine[0], nextLine[6]);
Run Code Online (Sandbox Code Playgroud)
奇怪的是,我没有上面的代码运行这段代码,并且调用nextLine[0]和nextLine[6]完全按预期工作 - 这就是它们给了我一个csv文件的元素.我HashMap用代码声明并初始化
HashMap<String, String> dataMap = null;
Run Code Online (Sandbox Code Playgroud)
在方法的早期
String[] nextLine;
int counter=0;
while (counter<40) {
counter++;
System.out.println(counter);
nextLine = reader.readNext();
// nextLine[] is an array of values from the line
System.out.println(nextLine[0] + " - " + nextLine[6] +" - " + "etc...");
dataMap.put(nextLine[0], nextLine[6]);
}
return dataMap;
}
Run Code Online (Sandbox Code Playgroud) 由于Google App Engine数据存储区基于Bigtable,我们知道这不是关系数据库,因此如何为使用此类数据库系统的应用程序设计数据库架构/数据模型?
我试图一次处理一个通过网络存储的文件.由于缓冲不是问题,因此读取文件很快.我遇到的问题只是列出文件夹中的目录.在许多文件夹中,每个文件夹至少有10k个文件.
由于File.list()返回数组而不是iterable,因此性能非常慢.Java关闭并收集文件夹中的所有名称,并在返回之前将其打包到数组中.
这个错误条目是http://bugs.sun.com/view_bug.do;jsessionid=db7fcf25bcce13541c4289edeb4?bug_id=4285834并且没有解决方法.他们只是说这已经为JDK7修复了.
几个问题:
由于突然断电,PostGres在我的本地计算机上运行的服务器突然关闭.重新启动后,我尝试重新启动postgres,我收到此错误:
$ pg_ctl -D /usr/local/pgsql/data restart
pg_ctl: PID file "/usr/local/pgsql/data/postmaster.pid" does not exist
Is server running?
starting server anyway
server starting
$:/usr/local/pgsql/data$ LOG: database system shutdown was interrupted at 2009-02-28 21:06:16
LOG: checkpoint record is at 2/8FD6F8D0
LOG: redo record is at 2/8FD6F8D0; undo record is at 0/0; shutdown FALSE
LOG: next transaction ID: 0/1888104; next OID: 1711752
LOG: next MultiXactId: 2; next MultiXactOffset: 3
LOG: database system was not properly shut down; automatic recovery in progress
LOG: …Run Code Online (Sandbox Code Playgroud) 我正在寻找一些物理模拟,我需要在Java中快速渲染.
我过去遇到过Java2d的性能问题,那么快速的选择是什么?JOGL明显比Java2d快吗?
我刚看到关于条件运算符的维基百科文章中的这段代码:
Vehicle new_vehicle = arg == 'B' ? bus :
arg == 'A' ? airplane :
arg == 'T' ? train :
arg == 'C' ? car :
arg == 'H' ? horse :
feet;
Run Code Online (Sandbox Code Playgroud)
我已经改变了一点代码,但想法是一样的.您会发现条件运算符的这种使用是否可以接受?它比if- elseconstruct 更简洁,并且使用一个开关肯定会为bug提供一整套新的机会(任何人都会堕落).此外,if- elses并且switch不能用作R值,因此您必须先创建变量,对其进行初始化,然后根据需要进行分配.
我真的很喜欢这个,但我想知道其他人的想法.
但格式化至关重要.
编辑:我还是喜欢这个.但我理解那些说" switch声明是为此做出的"的人.好吧,也许是这样.但是如果条件是返回的函数调用bool怎么办?或者其他一百万件你无法打开的东西.
你开关恋人真的试图说服我,一个巨大的if- else链比较好?是的,不知道如何使用条件运算符的程序员将无法理解这一点.他们应该学习如何使用它.这不是奥术.
我在我的SSIS包中运行了一个Execute SQL Task语句.执行SQL任务正在运行sql并检查表是否有超过1000行.如果它们的行数少于1000行,我想让包失败.
如何在SQL语句中强制失败?
如何查看当前机器类型?笔记本或台式机?
我从http://blog.csdn.net/antimatterworld/archive/2007/11/11/1878710.aspx得到了这个,它在我的家用机器(笔记本电脑上的Win2003)上运行良好,它返回"便携式",但失败了我的工作机器(笔记本电脑上的Vista),它返回"其他".
这是代码:
public enum ChassisTypes
{
Other = 1,
Unknown,
Desktop,
LowProfileDesktop,
PizzaBox,
MiniTower,
Tower,
Portable,
Laptop,
Notebook,
Handheld,
DockingStation,
AllInOne,
SubNotebook,
SpaceSaving,
LunchBox,
MainSystemChassis,
ExpansionChassis,
SubChassis,
BusExpansionChassis,
PeripheralChassis,
StorageChassis,
RackMountChassis,
SealedCasePC
}
public static ChassisTypes GetCurrentChassisType()
{
ManagementClass systemEnclosures = new ManagementClass("Win32_SystemEnclosure");
foreach (ManagementObject obj in systemEnclosures.GetInstances())
{
foreach (int i in (UInt16[ ])(obj["ChassisTypes"]))
{
if (i > 0 && i < 25)
{
return (ChassisTypes)i;
}
}
}
return ChassisTypes.Unknown;
}
Proc Means和Proc Summary之间究竟有什么区别?许多网站声明这些都是相同的,但除非每个网站都有独特的东西,SAS会创建它吗?