我正在读一本关于编程技巧的书,其中作者问受访者:"你如何崩溃JVM?" 我认为你可以通过编写一个最终耗尽所有内存的无限for循环来实现.
有人有什么想法吗?
有没有理由为什么Java的设计者觉得局部变量不应该被赋予默认值?说真的,如果实例变量可以给出一个默认值,为什么我们不能对局部变量做同样的事情呢?
它也会导致问题,如本评论中对博客文章的解释:
这个规则在尝试关闭finally块中的资源时最令人沮丧.如果我在try中实例化资源,但尝试在finally中关闭它,我会收到此错误.如果我在try之外移动实例化,我会收到另一个错误,指出它必须在try中.
很沮丧.
我经常听到这个术语被使用,但我从来没有真正理解它.
这是什么意思,任何人都可以举一些例子/指点我的链接?
编辑:感谢大家的回复.你能告诉我规范表示在equals()性能中是如何有用的,如Effective Java中所述?
我刚读过Joel Spolsky的文章"没有芭蕾舞短裙的塔塔",乔尔说,
在那些日子里,没有应用程序服务器.
和
那些日子里确实没有任何其他应用服务器.
基本上,那些时候人们如何编写网络应用程序?他们是否编写了自己的Web服务器和应用服务器实现?公司什么时候开始推出Tomcat,JBoss等"标准"网络/应用服务器?人们也可以分享任何与此相关的轶事,如果有的话吗?网站链接也表示赞赏......
我听说过桌面应用程序,其代码是开源的,但有没有任何网站的代码是开源的?我不认为我听说过.如果没有,有什么理由吗?
这样做的好处是不必等待Web开发团队包含新功能.此外,这将确保更多的眼睛看到代码,确保更低的错误数量.当然,黑客行为很容易.
我有一个Hashmap类型的变量<String,Integer
>.
在这种情况下,Integer值可能需要进行一些操作,具体取决于flag变量的值.我这样做了......
Hashmapvariable.put( somestring,
if (flag_variable) {
//manipulation code goes here
new Integer(manipulated value);
} else {
new Integer(non-manipulated value);
}
);
Run Code Online (Sandbox Code Playgroud)
但是我收到一个错误:
令牌上的语法错误,错误的结构.
在Hashmapvariable.put调用.
我还得到另一个错误
令牌")"上的语法错误,删除此令牌.
在最后");" 线.但是我不能删除")" - 它是put方法调用的右括号.
我不懂.我做错了什么?