自从我更新了我的intelliJ版本(14.x到15.x)后,它已经开始在Java
编辑器中自动折叠单行方法:
以前的版本:
public void setContext(SecurityContext context) {
this.context = context;
}
Run Code Online (Sandbox Code Playgroud)
最新版本:
public void setContext(SecurityContext context) { this.context = context; }
Run Code Online (Sandbox Code Playgroud)
有办法防止这种情况吗?我发现眼睛上的原始版本更容易!
谢谢.
我刚刚从使用Eclipse的几年转移到IntelliJ的勇敢新世界,而我正试图解决那些让我失望的小事(琐碎的).
当你知道怎么做时,最新的希望是非常明显的.
我在源文件夹下创建了一个新包:
uk.ac.cam.admin
Run Code Online (Sandbox Code Playgroud)
我右键单击这个新包来创建另一个子包:
uk.ac.cam.admin.domain
Run Code Online (Sandbox Code Playgroud)
到目前为止一切顺利,现在我想创建一个service
与...相同级别的包domain
.然而,从uk.ac.cam.admin.domain
正确的结果uk.ac.cam.admin.domain.service
创建它导致并在源上创建它只会导致service
.
显然我可以从源代码创建一个新的包并输入完全限定的路径,但它是2013年,我很懒!;)
有谁知道IntelliJ为什么用红色文本将所有日志消息打印到我的控制台?这使得很难区分信息和跟踪消息以及我需要看到的实际错误消息!
如果这是相关的,我正在使用Tomee和CDI!
谢谢你的协助,
编辑 我的设置在首选项窗口中看起来都没问题:
我知道编译器如何解释Java中的final关键字,但是我们应该如何解释它的含义呢?应该是:
1)此变量无法更改(例如内部类使用)
要么
2)我不打算更改此变量(可能对成员变量有一些优化优势).
我问的是因为我已经处理了默认情况下所有内容都被声明为final的代码(上面的选项2),在我看来,这会使关键字贬值并隐藏真正无法改变的值!声明变量最终还有性能优势吗?
任何人都可以解释为什么这个代码导致下面的输出?
@Test
public void testBooleanArray() {
Boolean[] ab = new Boolean[]{a, b};
a = new Boolean(true);
b = new Boolean(false);
for(Boolean x : ab) {
System.out.println(x);
}
}
Run Code Online (Sandbox Code Playgroud)
结果:
null
null
Run Code Online (Sandbox Code Playgroud)
数组ab是否应保存指向对象a和对象b的指针,因此输出:
true
false
Run Code Online (Sandbox Code Playgroud) 为什么添加方法级断点会对调试模式下的程序性能产生负面影响?
采取以下(有点人为)的例子:
public static void main(String[] args) {
long start = System.currentTimeMillis();
for(int a = 0; a <Integer.MAX_VALUE; a++) {
long v = a * a;
if(v == 100) {
doSomething();
}
}
System.out.println("Time: " + (System.currentTimeMillis() - start) + " ms");
}
private static void doSomething() { //*** BREAKPOINT 2
System.out.println("done something"); //*** BREAKPOINT 1
}
Run Code Online (Sandbox Code Playgroud)
这个表现约为:
这是怎么回事?方法级别调试给我们带来的好处是普通方法不能做什么?
谢谢!
编辑
时间只是近似值,包括我对断点做出反应并继续应用程序所需的时间(看起来大约是1秒钟).
我很欣赏System.currentTimeMillis()不是100%准确,但结果在多次测试中是一致的,并且性能差异很大!事实上,添加方法级别断点会导致IntelliJ发出警告,它会对性能产生影响.
我已经使用 JSF 很多年了,在下一个项目中,我们的目标是使 Web 层尽可能无状态。我正在探索的一种可能性是去除@ViewScoped
豆子以支持@RequestScoped
(@SessionScoped
根据需要加上一两个豆子)。这对于带有 AJAX、数据表和条件渲染的复杂页面来说很麻烦。我的问题是:JSF(和 PrimeFaces)与无状态 Web bean 的工作情况如何?这是我应该继续探索的东西,还是@ViewScope
现在如此基本以至于不值得付出努力?
我很感激在我写这个问题时它可能会被关闭为“主要基于意见”,但我希望它不是,我对@ViewScope
解决的具体问题感兴趣,以及我必须重新解决哪些历史性的解决方法-通过忽略引入@ViewScoped
。
从DBCP连接池升级到Tomcat自己的实现(基于此处的优秀比较); 我有点困惑为什么他们放弃这两个属性,同时保留其他一切:
poolPreparedStatements="true"
maxOpenPreparedStatements="10000"
Run Code Online (Sandbox Code Playgroud)
这是否意味着此实现中不支持预准备语句池?默认情况下,每个连接是否都维护自己的预准备语句池?
我花了相当长的时间研究这个并找不到明确的答案!
谢谢你的时间.
我有一个字符串:
str =" 4 3"
,
我需要在'4'之前删除空白而不是在4和3之间删除空白.
这是我写的代码:"f4_ 3".但它给出了"4 _3".
private static String getFielName(String fieldName) {
String formattedName;
//here i need to delete the blanks before the '4'
formattedName = Character.isDigit(fieldName.charAt(0)) ? "f" + fieldName : fieldName;
return formattedName.trim().replace(' ', '_').replace(":", "").replace("°", "");
}
Run Code Online (Sandbox Code Playgroud) java ×7
autoboxing ×1
boolean ×1
console ×1
debugging ×1
final ×1
formatting ×1
intellij-14 ×1
intellij-15 ×1
jdbc ×1
jsf ×1
jvm ×1
performance ×1
primefaces ×1
string ×1
tomcat ×1
view-scope ×1