小编Ros*_*atl的帖子

高级Java优化

关于如何进行低级Java优化有很多问题和答案以及意见,包括for,while和do-while循环,以及是否有必要.

我的问题更多的是基于高级别的设计优化.我们假设我必须做以下事情:

对于给定的字符串输入,计算字符串中每个字母的出现次数.

当字符串是几个句子时,这不是一个主要问题,但如果相反,我们想要计算900,000个单词文件中每个单词的出现.建设循环只是浪费时间.

那么什么是可以应用于此类问题的高级设计模式.

我想我的主要观点是我倾向于使用循环来解决许多问题,并且我想摆脱使用循环的习惯.

提前致谢

山姆

ps如果可能,你可以产生一些伪代码来解决900,000字的文件问题,我倾向于理解代码比我能理解英语更好,我认为对于这个网站的大多数访问者来说都是一样的

java language-agnostic algorithm distributed bigdata

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

资源包中的值作为formatDate中的模式

我想从资源包中读取JST formatDate的模式,但这种天真的方法不起作用,我做错了什么?

在com/company/MyPortlet.properties中是这个键:

company.date.format = yyyy-MM-dd HH:mm:ss
Run Code Online (Sandbox Code Playgroud)

在页面我有:

<fmt:setBundle basename="com.company.MyPortlet"/>
<fmt:formatDate value="${date}"  pattern="${company.date.format}" />
Run Code Online (Sandbox Code Playgroud)

java jsp localization jstl

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

有条件地启动JSF对话框

如何根据某些条件启动对话框?我正在使用primefaces组件.

java jsf primefaces

4
推荐指数
2
解决办法
3454
查看次数

是否在TLAB中分配了ThreadLocal?

我想,ThreadLocal变量是在Thread Local allocation Buffer(s)或TLABs中分配的,我是对的吗?

我没有成功找到任何文件,说明究竟是什么让一些类存储在TLAB中.如果您了解一些,请发布链接.

java performance memory-management thread-local

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

无限循环当在try-catch块中捕获InputMidmatchException时

我一直在无限循环中捕获我的代码.

它没什么可提升的,但我无法理解我的生活!

有人请帮忙

我只是重新创建了特定的错误,没有我在实际程序中的所有if语句.

    package bs;

    import java.util.InputMismatchException;
    import java.util.Scanner;

    public class bs {

        public static void main(String[] args) {

            Scanner sc = new Scanner(System.in);

            boolean continueVar = true;

            while (continueVar) {

                try {
                    System.out.println("Enter Something");
                    int input = sc.nextInt();

                } catch (InputMismatchException i) {
                    System.out.println("What the f***?");
                    continueVar = true;
                }
            }


        }
    }
Run Code Online (Sandbox Code Playgroud)

捕获输入不匹配异常时会发生无限循环.我认为它至少会要求用户重新输入他们的输入,但不是这样做,而是继续循环,如下所示:

    run:
    Enter Something
    df
    What the f***?
    Enter Something
    What the f***?
    Enter Something
    What the f***?
Run Code Online (Sandbox Code Playgroud)

它的行为就像只是忽略扫描仪对象sc?!

java exception-handling try-catch infinite-loop java.util.scanner

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

在Java中拆分*?

我想String在Java中拆分*使用该split方法.这是代码:

String str = "abc*def";
String temp[] = str.split("*");
System.out.println(temp[0]);
Run Code Online (Sandbox Code Playgroud)

但是这个程序给了我以下错误:

Exception in thread "main" java.util.regex.PatternSyntaxException: 
Dangling meta character '*' near index 0 *
Run Code Online (Sandbox Code Playgroud)

我稍微调整了一下代码,'\\*'用作分隔符,它完美地运行.任何人都可以解释这种行为(或建议一个替代解决方案)?

我不想用StringTokenizer.

java regex string split escaping

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

在构建过程中获取 git 分支名称

我想获取当前的 git 分支名称以使用包含分支名称的文件名构建二进制文件。在 Netbeans(7.1) 中使用 ant 可以吗?

git ant netbeans-7

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

无法将Java Project性质添加到嵌套的m2Eclipse项目中

我在Indigo有一个嵌套的m2Eclipse项目.父项目包含嵌套模块使用的src文件夹(请参阅下面的结构).

    • SRC
    • 的pom.xml
    • 模块1
      • 的pom.xml
    • 模块2
      • 的pom.xml

从Maven运行配置运行mvn包构建所有模块,因此依赖关系管理似乎正在运行.但是,我没有MAVEN DEPENDENCIES文件夹,我不能在任何源文件上使用Java内容辅助或任何其他Java项目功能.我尝试将项目转换为分面形式并添加java facet,但这也无效.

java eclipse dependencies m2eclipse facets

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

如何在wicket框架中将图像列添加到表中?

我想在wicket框架中的表的每个单元格中添加一个包含图像的列.我在java类中创建表,并具有createColumns()方法,如下所示:

private List<IColumn> createColumns() {
    List<IColumn> columns = new ArrayList<IColumn>();
    // Create the columns that will be displayed, second param is the sort
    // order
    // Use column position for aggregate functions
    // Otherwise the query uses column aliases so these need to match here

    columns.add(new PropertyColumn(new Model("Status"), "code") {
        private static final long serialVersionUID = 1L;
        @Override
        public void populateItem(Item item, String componentId, IModel model) {
            Object[] values = ((ArrayWrapper) model.getObject()).getArray();
            setStatus((Integer) values[0]);
            item.add(new Image(componentId, new ResourceReference(this.getClass(), getStatus())));
        } …
Run Code Online (Sandbox Code Playgroud)

java wicket

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

关于super在子类构造函数中?

我试图在子类中使用和理解构造函数是正确的.让我们从一些代码开始:

// creating an object
 account = new CreditAccount(accountNumber, personalNumber);

// constructor in superclass Account
public Account(int aNumber, int pNumber) {
accountNumber = aNumber;
personalNumber = pNumber;
}

// constructor in the subclass CreditAccount
public CreditAccount(int aNumber, int pNumber) {
super(accountNumber, personalNumber);
}
Run Code Online (Sandbox Code Playgroud)

当我创建新的对象,creditAccount我送accountNumberpersonalNumber在子类中的构造函数.但我做得对吗?(它没有用!)我是否会在子类中使用super来获取超类构造函数的内容?

由于子类只从超类而不是构造函数继承数据库和方法,我很好奇如何做到这一点?

java inheritance constructor

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

Java初学者问题 - String.format

当我在另一个类中调用displayTime12hrclock方法时,它拒绝打印出AM或PM.我无法理解为什么.

public class Tuna {


    private int hour;
    private int minute;
    private int second;



    public void setTime(int h, int m, int s){
        hour = h;
    minute = m;
    second = s;

        hour = ((h>= 0 && h <=24 ? h:0));
        minute = ((m>= 0 && m <=60 ? m:0));
        second = ((s>= 0 && s <=60 ? s:0));

    }

    public String displayTime(){
        return String.format("%02d:%02d:%02d", hour,minute,second);

    }

    public String displayTime12hrclock(){
    return String.format("%d:%02d:%02d", ((hour==0 || hour ==12)?12:hour%12), minute, second, (hour >=12)? "AM":"PM"); …
Run Code Online (Sandbox Code Playgroud)

java formatting

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

Java,按字母顺序排序字符串,不带数组

所以我还有另外一个任务,任务是使用compareTo方法按字母顺序分配3个字符串.基本上程序从测试器类接收3个字符串(a,b和c),它应该返回"getMin","getMiddle"和"getMax".

我想出了getmin和max,看起来很简单但是我遇到了getMiddle的问题.这就是我对min和max的看法:

        String min = "";
    if (a.compareTo(b) <= 0 && a.compareTo(c) <= 0) min = a;
    else if (b.compareTo(a) <= 0 && b.compareTo(c) <= 0) min = b;
    else if (c.compareTo(b) <= 0 && c.compareTo(a) <= 0) min = c;
    return min;
Run Code Online (Sandbox Code Playgroud)

并且类似地,get max仅略有不同.我该如何创建getMiddle.我们也不允许使用数组,因为我们尚未"学习"它们.而教授说,获得中间的代码应该在5-6行左右.

谢谢

java sorting collections

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