小编Koh*_*chi的帖子

如何以不同方式映射Ctrl + A和Ctrl + Shift + A?

在终端中,人们无法区分Ctrl+ ACtrl+ Shift+,A因为它们都发出相同的密钥代码,所以我可以看出为什么Vim不能这样做.但作为X应用程序的gVim可以区分Ctrl+ ACtrl+ Shift+ A.有没有办法以不同的方式映射这两件事?

对于初学者,我想做类似以下的事情:使"从剪贴板粘贴"像Gnome终端一样工作,同时保持Ctrl+ V到视觉模式.

:nmap <C-S-V> "+gP
Run Code Online (Sandbox Code Playgroud)

vim

77
推荐指数
4
解决办法
3万
查看次数

好的Java属性文件编辑器

我在一个开源Java项目上工作,我们有很多资源属性文件,包含可本地化的消息资源.这些文件由志愿者翻译成20多种语言,我是一名主要编辑代码的开发人员.

在Java中,不同语言环境的资源文件按命名约定分组在一起.例如,如果默认(通常是英语)资源是"foo.properties",则日语资源在"foo_ja.properties"中,法语一个是"foo_fr.properties",等等.为了这个问题,让我们调用这个组一个"资源组".

现在,我经常需要重构那些资源文件.另外,我需要该工具来支持属性文件的基础知识.总而言之,我的要求列表如下:

  1. 重命名属性键名称,我想要一个工具来重命名同一组中所有文件中的所有键,而不需要单独检查它们.
  2. 将属性从一个资源组移动到另一个资源组,我想要一个工具为组中的每个资源文件执行此操作.
  3. 在Java中,资源文件采用ISO-8859-1编码,而不是平台默认编码.
  4. 我不想在编辑/浏览属性文件时看到\ uXXXX,但我确实希望该工具能够保留它们.
  5. 我不希望该工具重新排列资源文件中的属性顺序,也不希望该注释混乱.我希望该工具能够保留它们.
  6. 我希望该工具能够处理资源文件的其他语法细节,例如多行文本.

不幸的是,我找不到符合这些标准的好工具.我主要是IntelliJ IDEA用户,但它不做#2和#3.Eclipse内置的属性文件编辑器更糟糕,而AFAICT它没有做#1,#2,#4.实际上,它缺少跨越同一组中的资源文件的视图.NetBeans同样具有原始性.NetBeans也是如此,尽管它确实是#4.

有谁知道一个适合该法案的好工具?

java ide resources properties editor

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

内核线程转储中的"isra"是什么

Linux内核调用堆栈转储通常包括以".isra.NNN"结尾的函数名,其中NNN是某些数字.例如,请看这里这里.

这意味着什么,这个数字意味着什么?

linux-kernel

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

哪个JVM打印出这样的线程转储?

我习惯于看到如下所示的Java线程转储,这是由Sun HotSpot JVM及其衍生产品(如OpenJDK)生成的:

"main" prio=10 tid=0x00007f4020009000 nid=0x538c in Object.wait() [0x00007f402891f000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000000614ea64e8> (a java.lang.Object)
    at java.lang.Object.wait(Object.java:503)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.join(QueuedThreadPool.java:386)
    - locked <0x0000000614ea64e8> (a java.lang.Object)
    at org.eclipse.jetty.server.Server.join(Server.java:398)
    at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:531)
    at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:364)
    at org.mortbay.jetty.plugin.JettyRunMojo.execute(JettyRunMojo.java:528)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
Run Code Online (Sandbox Code Playgroud)

现在,在协助其他用户使用我的软件时,我偶尔会遇到另一种形式的线程转储,如下所示:

Thread 9255: (state = BLOCKED)
 - sun.reflect.annotation.AnnotationType.getInstance(java.lang.Class) @bci=0, line=63 (Interpreted frame)
 - sun.reflect.annotation.AnnotationParser.parseAnnotation(java.nio.ByteBuffer, sun.reflect.ConstantPool, java.lang.Class, boolean) @bci=94, line=202 (Interpreted frame)
 - sun.reflect.annotation.AnnotationParser.parseAnnotations2(byte[], sun.reflect.ConstantPool, java.lang.Class) @bci=39, line=69 (Compiled frame) …
Run Code Online (Sandbox Code Playgroud)

java thread-dump

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

在Java Generics中驯服类型检查器

我以为我很了解Generics,但显然我没有.

以下是问题的测试用例:

import java.util.ArrayList;

class Job<J extends Job<J,R>, R extends Run<J,R>> {}
class Run<J extends Job<J,R>, R extends Run<J,R>> {}

class Job2 extends Job<Job2,Run2> {}
class Run2 extends Run<Job2,Run2> {}

class RunList<J extends Job<J,R>, R extends Run<J,R>> extends ArrayList<R> {}

class Foo {
    // #1 problem
    public void test1(RunList<Job,Run> why) {}
    // #2 this doesn't work either
    public void test2(RunList<Job<Job,Run>,Run<Job,Run>> why) {}
    // #3 this works
    public void test3(RunList<Job2,Run2> why) {}
}
Run Code Online (Sandbox Code Playgroud)

编译器不允许上面的test1方法,说"Job"不在其类型范围内.我有点理解它 - Job因为原始类型不会延伸Job<Job,Run>,因此错误.相比之下,test3有效.

现在,问题是,我该如何做这项工作?我已经尝试过#2,但这也不起作用.我认为问题与#1非常相似--- Job<Job,Run> …

java generics

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

标签 统计

java ×3

editor ×1

generics ×1

ide ×1

linux-kernel ×1

properties ×1

resources ×1

thread-dump ×1

vim ×1