小编Ami*_*far的帖子

问号在GSP/Grails中意味着什么?

我在生成的GSP页面中看到了这一点.那是什么意思?

<g:textField name="name" value="${phoneInstance?.name}" />
Run Code Online (Sandbox Code Playgroud)

grails groovy operators gsp

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

编辑为非root用户后,以root身份保存文件

好的,所以这一切都发生在我身上.必须有一个更好的解决方案.让我们说你做vim /etc/somefile.conf,然后你做i但却意识到你不是sudo,你不能写.那么我就失去了我的改变,:q然后sudo !!又做了我的改变.有一个更好的方法吗?

linux vim bash sudo

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

Scala - 可以使用for循环多次使用?

一个例子:

val l = List(1,2,3)
val t = List(-1,-2,-3)
Run Code Online (Sandbox Code Playgroud)

我可以这样做吗?

for (i <- 0 to 10) yield (l(i)) yield (t(i))
Run Code Online (Sandbox Code Playgroud)

基本上我想为每次迭代产生多个结果.

scala yield cartesian-product

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

使用class.isEnum()或instanceof Enum更好吗?

我有一个对象.我想检查它是否是enum类型.有两种方法可以做到这一点.

object.getClass().isEnum()
Run Code Online (Sandbox Code Playgroud)

要么

object instanceof Enum
Run Code Online (Sandbox Code Playgroud)

一个更好吗?

java enums

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

与命令行相比,为什么我的应用程序在IntelliJ中运行得更快?

我们有一个应用程序通过拆分数据并对其进行排序来导入大量文件.运行JUnit测试用例时,整个过程大约需要16分钟.

同样的测试,mvn clean test -Dtest=MyTest34分钟内完成.

我们正在调用/bin/sort对文件进行排序.这种情况似乎需要更长的时间.我不明白有什么不同.

看看它运行的IntelliJ

/Library/Java/JavaVirtualMachines/1.6.0_26-b03-383.jdk/Contents/Home/bin/java -Didea.launcher.port=7532 -Didea.launcher.bin.path=/Applications/IntelliJ IDEA 10.app/bin -Dfile.encoding=UTF-8 -classpath %classhpath% com.intellij.rt.execution.application.AppMain com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 -junit4 xxx.IntTestImportProcess,testImportProcess
Run Code Online (Sandbox Code Playgroud)

我在OS X上.所有类都是使用Spring注入的.有哪些可能的建议是关于IntelliJ中这种性能提升背后的理论?测试是相同的.我无法分享所有代码,因为有这么多.但是我可以根据要求添加任何细节.

这是我的主要课程,以及我如何运行这两个课程.

public static void main(String... args) throws IOException {
        if(args.length != 2) {
            System.out.println("Usage: \n  java -jar client.jar spring.xml data_file");
            System.exit(1);
        }
        ApplicationContext applicationContext = new FileSystemXmlApplicationContext(args[0]);
        PeriodFormatter formatter = new PeriodFormatterBuilder()
                .appendMinutes()
                .appendSuffix("minute", "minutes")
                .appendSeparator(" and ")
                .appendSeconds()
                .appendSuffix("second", "seconds")
                .toFormatter();
        URI output = (URI) applicationContext.getBean("workingDirectory");
        File dir = …
Run Code Online (Sandbox Code Playgroud)

java ide performance

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

如何在Scala中省略匹配词?

在Scala中,你可以做到

list.filter { item =>
    item match {
      case Some(foo) => foo.bar > 0
    }
}
Run Code Online (Sandbox Code Playgroud)

但是你也可以通过省略来更快地做到match:

list.filter {
  case Some(foo) => foo.bar > 0
}
Run Code Online (Sandbox Code Playgroud)

Scala如何支持这一点?这是2.9的新功能吗?我一直在寻找它,我可以弄清楚是什么让这成为可能.它只是Scala编译器的一部分吗?

scala

12
推荐指数
3
解决办法
1118
查看次数

为什么使用char []而不是String?

在第146行的Thread.java中,我注意到作者使用了一个char[]而不是一个String名字字段.有没有我不知道的性能原因?getName()在返回名称之前,还将字符包装在String中.使用一个不是更好String吗?

java performance

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

为什么在Guava中不推荐使用Files.deleteDirectoryContents()?

在Guava 10+中,Google弃用了Files.deleteDirectoryContents().JavaDoc说

已过时.该方法存在差的符号链检测和竞争条件.只有通过外壳操作系统命令(例如rm -rf或del/s)才能适当地支持此功能.计划在Guava版本11.0中从Guava中删除此方法

我很困惑为什么会有竞争条件.我认为使用这种方法实际上是有用的,并找到一个糟糕的解决方案.作者可以分享为什么做出这个决定?

java deprecated guava

9
推荐指数
2
解决办法
5235
查看次数

如何从业务逻辑中分离数据

这是场景,

假设我有一个像这样的用户类:

public class User{
  private String firstName;
  private String lastName;
//...
// setter, getters
}
Run Code Online (Sandbox Code Playgroud)

然后我有一个像这样的类来处理用户评论:

public class Comments{
  // some fields
  public static loadComments(User user, int count){...}
}
Run Code Online (Sandbox Code Playgroud)

到目前为止非常基本的东西 但是,我想添加一些帮助程序,以便更容易为用户加载注释.所以我可以在User类中创建一些东西:

final static int defaultCount = 10;
...
public Comment comments(){
  return Comments.loadComments(this, defaultCount);
}
Run Code Online (Sandbox Code Playgroud)

我认为这是一种不必传递用户实例的简单方法.但是在这一点上,我很不高兴,因为我已经将我的用户bean对象与加载注释的业务逻辑相结合.我还保存了不属于那里的用户类的默认计数.那么最好的方法是什么?我的目标是将此对象传递给jsp,以便可以调用JSTL函数.我有一个想法,创建一个看起来像这样的UserWrapper ...

public class UserWrapper{
  private final static defaultCount = 10;
  private final User user;
  public UserWrapper(User user){
    this.user = user;
  }

  // should probably cache this but i am not going to show …
Run Code Online (Sandbox Code Playgroud)

java architecture jsp packaging jstl

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

Java中的抽象?

今天我从朋友那里听到,封装不仅实现了信息隐藏,还实现了抽象.它是如何实现的?

public class employee {

     private String name;
     private int id;

     public void setName(String name){
         this.name = name;
     }

     public String getName(){
         return name;
     }
}
Run Code Online (Sandbox Code Playgroud)

上面的例子实现了封装,我允许类访问我的公共方法而不是私有成员,但这里的抽象在哪里?任何人都可以用一种清晰的方式向我解释抽象.

java

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