问题列表 - 第11054页

由于没有使用StringBuffer可能导致内存泄漏?

以下代码是否会导致内存泄漏?使用StringBuffer实际上会提高内存使用率吗?

一点背景:同事一直在推动他关于内存泄漏的理论,这是他已经确定为代码问题的代码(没有进行任何类型的分析),他声称这可能导致内存泄漏.我不同意这一点,所以我想我会把它交给其他开发者来获得第三方意见.

 List partCollection = new ArrayList()

 String partKeyID = null;
 String sPartNbr = null;
 String partDescription = null; 

 while(rsPartRes.next())
 {
        partKeyID = rsPartRes.getString("PART_KEY_ID"); 
        sPartNbr = rsPartRes.getString("PART_NBR"); 
        partDescription = rsPartRes.getString("PART_DESC");

        SomeValueObject someValueObject = new SomeValueObject();
        someValueObject.setPartKeyID(partKeyID);
        someValueObject.setSPartNbr(sPartNbr);
        someValueObject.setPartDescription(partDescription);

        partCollection.add(someValueObject);
 }
Run Code Online (Sandbox Code Playgroud)

假设rsPartRes是此代码中的ResultSet,可能包含100多条记录.基本上,他担心的是因为我们循环遍历这个结果集并且没有使用StringBuffer(在这种情况下,我甚至不确定你将如何使用它),它可能导致内存泄漏.是否有人在这里看到这可能导致内存泄漏或性能问题......?

java memory-leaks memory-management jdbc resultset

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

您是否总是为新对象创建变量?

我经常问自己一个问题,如果你需要在一个对象上调用一个方法,最好使用一个变量吗?到目前为止,我已经猜到答案是肯定的 - 您的选择是什么,原因是什么?

随变量:

MyObject mo = new MyObject();
mo.MyMethod();
//mo not used again
Run Code Online (Sandbox Code Playgroud)

没有变量:

new MyObject().MyMethod();
Run Code Online (Sandbox Code Playgroud)

我对.NET特别感兴趣,但是如果在其他语言中有任何危险点,我也更愿意预先警告.

.net

4
推荐指数
3
解决办法
185
查看次数

TFS分支图

有没有人有很好的想法或经验围绕TFS轻松制作Branch Diagrams?

diagram tfs branch

6
推荐指数
1
解决办法
4822
查看次数

我怎样才能知道这个Java API发生了什么变化?

在某些时候java.lang.Override开始可用于接口中声明的方法的实现.我很确定有一段时间它只适用于超类中定义的方法的覆盖.

我怎样才能知道这种变化发生的时间(即哪个版本)?

java

5
推荐指数
1
解决办法
143
查看次数

.Net framework 3.5中的新功能是什么?

我尽量保持简单.我在.Net 3.5fx中看到的只是语言升级,即C#3.0,VB.Net 9,仍然核心CLR基于2.0fx.我真的没有找到任何新功能(LINQ再次是语言功能).

.Net框架3.5就像固定版的.Net 3.0框架一样吗?

我真的没能在核心框架中找到一些新东西:(

.net .net-3.5

4
推荐指数
1
解决办法
4932
查看次数

使用MSBuild和TFS

我正在尝试使用MSBuild和TFS.

我已经设法创建了自己的MSBuild脚本,它在命令行中运行良好.该脚本适用于csproj文件,并编译,混淆,签名和复制所需的所有内容.

但是,查看TFS和Team Build的文档,它似乎希望解决方案成为脚本的"输入".

此外,我还没有找到一种简单/直观的方法来从TFS执行"获取最新版本"作为脚本的一部分.我假设Team Build会自动对它想要编译的解决方案做一个"获取最新",但是再次 - 我不(想要)使用解决方案......

任何见解?任何指针?任何链接?

msbuild tfs

2
推荐指数
1
解决办法
5735
查看次数

mysql_num_rows是否有效和/或标准实践?

不久之前,我正在尝试使用SQLite,试图将我的一些网站移植到使用它而不是MySQL.我很想知道缺少一个计算结果的函数,比如PHP mysql_num_rows().稍微搜索一下后,我发现了这个邮件列表,据我所知,SQLite没有这个功能,因为它效率低下.它声明编写需要知道返回多少行的代码是不好的形式.

我通常mysql_num_rows用来检查空的返回结果.例如:

$query = "SELECT * FROM table WHERE thing = 'whatever'";
$results = mysql_query($query);

if (mysql_num_rows($results)) {
    while ($row = mysql_fetch_array($results)) {
        echo "<p>$row[whatever]</p>";
    }
} else {
    echo "<p>No results found</p>";
}
Run Code Online (Sandbox Code Playgroud)

mysql_num_rows()对SQLite社区概念的强烈厌恶使我想知道它是否对PHP中的常规MySQL非常有效.

有没有更好的,更可接受的方法来检查PHP中的MySQL结果集的大小mysql_num_rows()

编辑:我不只是mysql_num_rows用来计算 - 我会用它来COUNT查询.在输出所有内容之前,我用它来检查是否有任何结果.这对于显示搜索结果等内容非常有用 - 并不总能保证会有结果.在SQLite世界中,我必须发送一个COUNT查询,检查是否有什么,然后发送SELECT查询以获取所有内容.

php mysql sqlite

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

如何限制在Perl脚本的特定部分中花费的时间?

有没有办法建立一个时间计数器,使脚本的部分运行只要它滴答?例如,我有以下代码:

for my $i (0 .. $QUOTA-1) {
    build_dyna_file($i);
    comp_simu_exe;
    bin2txt2errormap($i);
}
Run Code Online (Sandbox Code Playgroud)

从理论上讲,我想运行这个循环3分钟,即使循环指令尚未完成,它仍应在3分钟后突破循环.

实际上程序会打开一个时间计数器窗口,它与脚本的一部分并行工作(每次调用它).

另外,子调用'comp_simu_exe'运行外部模拟器(在shell中),当超时结束时 - 此过程也必须被杀死(不要假设在一段时间后返回).

sub comp_simu_exe{

system("simulator --shell");
}
Run Code Online (Sandbox Code Playgroud)

系统函数调用之间是否有任何关联?

perl timeout

7
推荐指数
2
解决办法
4373
查看次数

为什么我不能同时保留2种语言?

在家里,我正在开发一个用Java编写的大型个人项目.我最近找到了C#开发人员的工作.

经过8个小时的工作日阅读C#代码后,我发现很难在家里切换回Java.实际上,自从我受雇以来,我的家庭项目几乎完全停滞不前.

起初我以为我必须等待休假才能真正切换回Java,但即使在大脑上没有C#一周之后,我也无法再次进入Java风格.我不想承认我的家庭项目已经死亡,但我无法真正看到克服这个问题的方法.

programming-languages

7
推荐指数
6
解决办法
681
查看次数

更改ASP.NET控件的Access Modifiers

如果我把控件放在像这样的.aspx文件中;

<asp:TextBox ID="protectedTextBox" runat="server">Some info</asp:TextBox>
Run Code Online (Sandbox Code Playgroud)

我在页面的.aspx.designer.cs文件中获得了一个声明的控件;

protected global::System.Web.UI.WebControls.TextBox protectedTextBox;
Run Code Online (Sandbox Code Playgroud)

但是我想将控件的访问修饰符更改为public.我可以设置任何属性或类似物来更改访问修饰符吗?

就是我想要做的原因.我试图让跨页回发工作很好,整洁.我有两页:

FirstPage.aspx
    MyTextBox : textbox
    MyButton  : button, @PostbackUrl=Secondpage

SecondPage.aspx
    MyLabel : label
Run Code Online (Sandbox Code Playgroud)

当用户单击FirstPage.MyButton时,我想写入FirstPage.MyTextBox.Textinto 的值SecondPage.MyLabel.Text.我可以使用Page.FindControl来做到这一点,但这似乎是将上一页作为FirstPage对象进行转换并直接引用其上的MyTextBox控件的不良替代品.像这样的东西;

// on the page_load of SecondPage.aspx;
var previousPage = this.PreviousPage as FirstPage;
this.MyLabel.Text = previousPage.MyTextBox.Text;
Run Code Online (Sandbox Code Playgroud)

有没有办法更改访问修饰符?

c# asp.net controls access-modifiers

6
推荐指数
1
解决办法
3976
查看次数