我想要一个带有int xas参数并返回的程序2^x.实施不允许使用的权力.
public int double2 (int x) {
int r = 2;
int y = 1;
for (int i=0; i < x; i++){
y = r* y;
}
return y;
}
Run Code Online (Sandbox Code Playgroud)
你认为这是一个正确的解决方案吗?
在过去的一年里,我在应用程序的Java堆使用方面做了很大的改进 - 减少了66%.为此,我一直在通过SNMP监控各种指标,例如Java堆大小,cpu,Java非堆等.
最近,我一直在监视JVM有多少实内存(RSS,驻留集)并且有点惊讶.JVM消耗的实际内存似乎完全独立于我的应用程序堆大小,非堆,eden空间,线程数等.
堆栈大小由Java SNMP Java堆使用图表测量http://lanai.dietpizza.ch/images/jvm-heap-used.png
以KB为单位的实内存.(例如:1 MB KB = 1 GB) Java堆使用图http://lanai.dietpizza.ch/images/jvm-rss.png
(堆图中的三个凹陷对应于应用程序更新/重新启动.)
这对我来说是一个问题,因为JVM正在消耗的所有额外内存都是"窃取"内存,可供操作系统用于文件缓存.实际上,一旦RSS值达到~2.5-3GB,我开始看到响应时间变慢,应用程序的CPU利用率更高,主要是IO等待.正如某些点对交换分区的分页启动.这都是非常不受欢迎的.
所以,我的问题:
血腥的细节:
相关的JVM参数:
-Xms128m
-Xmx640m
-XX:+UseConcMarkSweepGC
-XX:+AlwaysActAsServerClassMachine
-XX:+CMSIncrementalMode
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintGCApplicationStoppedTime
-XX:+CMSLoopWarn
-XX:+HeapDumpOnOutOfMemoryError
Run Code Online (Sandbox Code Playgroud)
我如何衡量RSS:
ps x -o command,rss | grep java | grep latest | cut -b 17-
Run Code Online (Sandbox Code Playgroud)
这将进入一个文本文件,并定期读入我的监控系统的RRD数据库.请注意,ps输出Kilo Bytes.
虽然最终是ATorras的答案证明最终是正确的,但是kdgregory …
我有一张450000排新闻的桌子.表模式是这样的:
CREATE TABLE IF NOT EXISTS `news` (
`id` int(11) NOT NULL auto_increment,
`cat_id` int(11) NOT NULL,
`title` tinytext NOT NULL,
`content` text NOT NULL,
`date` int(11) NOT NULL,
`readcount` int(11) NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `cat_id` (`cat_id`),
KEY `cat_id_2` (`cat_id`,`id`),
KEY `cat_id_date` (`cat_id`,`date`)
) ENGINE=MyISAM DEFAULT CHARSET=latin5 AUTO_INCREMENT=462679 ;
Run Code Online (Sandbox Code Playgroud)
当我运行如下的sql命令为类别页面的页面"x"获取一些新闻时,如果x超过100则需要超过15秒:
select * news where cat_id='4' order by id desc limit 150000,10;
Run Code Online (Sandbox Code Playgroud)
解释说明它使用"where"和索引"cat_id_2"
在写这个问题时,我还检查了一个更简单的SQL查询,这也花了近一分钟:
select * from haberler order by id desc limit 40000,10;
Run Code Online (Sandbox Code Playgroud)
如果sql如下所示,只需几毫秒:
select * …Run Code Online (Sandbox Code Playgroud) 因此,如此msdn页面所述,当您为SQL Server Compact 3.5定义连接字符串时,可以使用"数据目录"宏,如下所示:
从这个msdn页面引用:
数据目录支持
SQL Server Compact 3.5现在支持Data Directory宏.这意味着如果添加字符串| DataDirectory | (用管道符号括起来)到文件路径,它将解析为数据库的路径.例如,考虑连接字符串:
"数据源= c:\ program files\MyApp\Mydb.sdf"
使用数据目录时,您可以改为使用以下连接字符串:
"数据源= | DataDirectory |\Mydb.sdf"
有关更多信息,请参见如何:使用应用程序部署SQL Server Compact 3.5数据库.
但是,msdn上的"获取更多信息"链接实际上并没有提供更多信息.
所以我的问题是:
如何|数据目录| 宏在运行时翻译?对于WinForm应用程序,它似乎只是给出可执行文件的位置.还是比这更复杂?
.net sql-server connection-string sql-server-ce datadirectory
在C++中,假设没有优化,那么以下两个程序最终会使用相同的内存分配机器代码吗?
int main()
{
int i;
int *p;
}
int main()
{
int *p = new int;
delete p;
}
Run Code Online (Sandbox Code Playgroud) 我知道如何在Swing中创建基本控件,但是进入行业标准应用程序开发,我缺乏执行它们的技能.
我正在设计一个小型Java Swing应用程序.而不是创造的JFrame每一个目的,我想创建控件,它们显示,隐藏它们(在必要时),在短短的一个窗口的一切.
我该怎么做?我是初学者.请指出使用Swing进行桌面Java应用程序的传统方法的不错的Web资源.
我看到了这个问题.
如何在.Net 3.5中获取SortedDictionary中的最后一个元素.
我有一个旧的应用程序(在Win XP中的delphi 7中启动),现在我正在使用delphi 2009(赢得Vista).如果我开始一个新项目,所有按钮都有一个粗糙边缘,但在我的旧应用程序中,所有按钮都有一个"方形"外观.
有没有我错过的设置?谢谢
我试图将我的开发机器升级到Windows 7 - 我目前在Windows XP 32bit上.
我已经确定了这样一个事实,即通过允许我最大化系统中的RAM量,迁移到64位操作系统应该有助于提高性能.
但Windows 7新增的其他功能对软件开发人员来说是一个福音吗?
我想为__repr__我定义的某个类编写自己的.我希望它类似于默认值<__main__.O object at 0x00D229D0>,除了在那里有一些其他细节.我该如何重现那个<__main__.O object at 0x00D229D0>东西?