小编Jac*_*kWM的帖子

如果我们知道CFG只生成常规语言,我们可以得到相应的正则表达式吗?

我们知道,给定一个常规语法,我们有算法来获得它的正则表达式.

但是如果给定的语法是无上下文语法(但它只生成常规语言),就像

  • S->aAb
  • A->bB
  • B->cB|d

  • S->aAb
  • A->bB
  • B->cB|d
  • S->aAb
  • A->bB
  • B->cB|d
  • S->aAb
  • A->bB
  • B->cB|d

    是否有任何现有算法可以获得正则表达式?

    谢谢!

  • regex context-free-grammar regular-language

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

    启动时间在Java虚拟机中构成了什么?

    有时我听到人们讨论Java的启动时间.这似乎是一个重要的性能方面.但究竟是什么呢?

    • 它由什么组成?
      1. 动态类加载引起的类加载时间?
      2. 或者只编译JVM的第一次编译开销?
      3. 或者在Java程序执行的开始阶段导致"缓慢"的其他因素?

    然后,第二个问题是

    • 如何衡量Java程序的启动时间?从哪一点到哪个点的持续时间称为启动时间?

    我不知道我的问题是否以正确的方式提出; 如果没有,请告诉我.谢谢!

    java profiling jit jvm startup

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

    我们需要多少次运行Java程序来预热JVM?

    假设我有一个Java程序Test.class.我想测量它的执行时间.我写了一个包装器,如下所示:

    class RunTest {
    
        public static void main(String[] args) {
    
            long sum = 0;
            int iterations = 20;
            int warmupNum = 10;
    
            for(int i=0; i<iterations; i++){
    
                long start = System.nanoTime();
                Test.main(args);
                long end = System.nanoTime();
    
                if( i > warmupNum )
                  sum += end - start;
            }
    
           System.out.println("ave: "+sum/(iterations-warmupNum));
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

    在这里如何选择warmupNum,越大越好?多大就足够了?这是衡量Java程序性能的"标准/通用"方法吗?

    java jvm measurement startup warm-up

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

    不同套接字上的CPU如何通信?

    我正在调整我的并行Java程序的性能.我对建筑效果感到好奇.

    给定一台带有两个CPU插槽的机器,每个都带有一个四核Intel Xeon CPU,然后:

    • 两个CPU如何通信,它们通信的速度有多快?
    • 同一芯片上的两个内核通信的速度有多快?
    • 在通信或内存访问方面,同一芯片上的四个内核是否相同?

    networking multicore motherboard cpu-architecture

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

    用于列出文本文件中所有不同字符的脚本

    例如

    给定一个文件input.txt,其中包含以下内容:

    He likes cats, really?
    
    Run Code Online (Sandbox Code Playgroud)

    输出将是:

    H
    e
    
    l
    i
    k
    s
    c
    a
    t
    ,
    r
    l
    y
    ?
    
    Run Code Online (Sandbox Code Playgroud)

    请注意输出中字符的顺序无关紧要.

    bash awk sed

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

    "错误:JAVA_HOME定义不正确." 在建造Jikes rvm

    当我在Ubuntu上构建Jikes RVM时,我收到了这个错误.任何的想法?

    bin/buildit localhost production
    ---> Config: production
    /bin/bash --login -c  '/bin/bash --login -c  "   cd /home/jack/Programs/jikesrvm-3.1.2 &&  export JAVA_HOME=/opt/jdk1.6.0 &&   ant very-clean -Dhost.name=ia32-linux &&  ant check-components-properties -Dhost.name=ia32-linux -Dtarget.name=ia32-linux -Dcomponents.cache.dir=/home/jack/.buildit_components_cache  &&   ant -Dtarget.name=ia32-linux -Dconfig.name=production -Dhg.revision= -Dhost.name=ia32-linux -Dcomponents.cache.dir=/home/jack/.buildit_components_cache "' 
    Error: JAVA_HOME is not defined correctly.
      We cannot execute /opt/jdk1.6.0/bin/java
    Wed Jun 13 12:23:37 EDT 2012
    ===================== Summary =====================
    Local   : /home/jack/Programs/jikesrvm-3.1.2
    Build   : ubuntu:/home/jack/Programs/jikesrvm-3.1.2
    Target  : ubuntu:/home/jack/Programs/jikesrvm-3.1.2
    Start   : Wed Jun 13 12:23:37 EDT 2012
    Config  : production [FAILED Wed Jun …
    Run Code Online (Sandbox Code Playgroud)

    java jvm environment-variables java-home jikes

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

    什么是Java方法的内部标识?

    众所周知,在Java中,方法名称不足以区分不同的方法.

    我认为(可能是错的),要区分方法,需要以下信息:

    (className, methodName, methodParameters)
    
    Run Code Online (Sandbox Code Playgroud)

    进一步,

    • 如何在内部更有效地识别方法?
    • 我听说过"方法ID".这是否意味着上面的三元组和一个整数之间存在映射,因此JVM在解析后只使用方法ID?
    • 如果是这样,它是否位于符号表中?

    谢谢!

    java methods function symbol-tables symbol-table

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

    如何用Eclipse快捷打开Eclipse中的运行配置窗口?

    当我进行多个Java应用程序时,我经常需要打开它

    运行 - >运行配置

    设置应用程序输入或其他参数.那么有没有办法用快捷方式打开这个窗口?

    eclipse keyboard-shortcuts

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

    如何在ssh中使用eclipse,以便远程项目可以通过本地eclipse进行编辑?

    我经常使用远程服务器来存储和运行我的Java项目.但这阻止了我使用eclipse.所以我有两个问题:

    1. 我可以使用本地eclipse管理远程服务器上的Java项目吗?(我通常ssh用来访问服务器)

    2. 如果有问题1的解决方案,那么Java程序是否也可能在远程服务器上运行?(即只有eclipse的GUI显示在本地)

    对于第二个问题,我知道ssh -X可以这样做(在远程服务器上运行eclipse),但它太慢了.有任何想法吗?

    java eclipse ssh eclipse-plugin

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

    如何在Python中为一个集添加多个字符串?

    我是Python的新手.当我添加一个带有add()函数的字符串时,它运行良好.但是当我尝试添加多个字符串时,它将它们视为字符项.

    >>> set1 = {'a', 'bc'}
    >>> set1.add('de')
    >>> set1
    set(['a', 'de', 'bc'])
    >>> set1.update('fg', 'hi')
    >>> set1
    set(['a', 'g', 'f', 'i', 'h', 'de', 'bc'])
    >>>
    
    Run Code Online (Sandbox Code Playgroud)

    我想要的结果是 set(['a', 'de', 'bc', 'fg', 'hi'])

    这是否意味着该update()功能不适用于添加字符串?

    使用的Python版本是:Python 2.7.1

    python python-2.7

    6
    推荐指数
    4
    解决办法
    5574
    查看次数