小编Ste*_* B.的帖子

缺少Java中的语言环境?

我在java语言环境中找到了许多缺少的国家 - 如果我打印出可用语言环境列表,

TreeSet< String > m = new TreeSet< String >();
for ( Locale l : Locale.getAvailableLocales() ) {
    m.add( l.getDisplayCountry() );
}
for ( String s : m ) {
    System.out.println( s );
}
Run Code Online (Sandbox Code Playgroud)

我错过了一些国家,包括尼日利亚,伊朗,吉尔吉斯斯坦和巴基斯坦.任何人都可以对此有所了解,或者是否有更好(更全面)的方式获取java中的国家/地区列表?

1.6.0_16-B01

java

10
推荐指数
2
解决办法
5144
查看次数

在javax.scripting javascript环境中导入地图

我在javax.scripting地图实现中看到了一些奇怪的行为.

在线示例显示了在js环境中添加到列表的示例:

ScriptEngineManager mgr = new ScriptEngineManager();
  ScriptEngine jsEngine = mgr.getEngineByName("JavaScript");
  List<String> namesList = new ArrayList<String>();
  namesList.add("Jill");
  namesList.add("Bob");
  namesList.add("Laureen");
  namesList.add("Ed");
  jsEngine.put("namesListKey", namesList);
  System.out.println("Executing in script environment...");
  try
  {
   jsEngine.eval("var names = namesListKey.toArray();" + "for(x in names) {" + "  println(names[x]);" + "}"
     + "namesListKey.add(\"Dana\");");
  } catch (ScriptException ex)
  {
   ex.printStackTrace();
  }
  System.out.println(namesList);
Run Code Online (Sandbox Code Playgroud)

但是,如果您尝试使用地图执行类似操作,则会看到奇怪的行为.首先,如果您尝试迭代地图键,例如

 HashMap<String, Object> m = new HashMap<String, Object>();
 jsEngine.put("map", m);
Run Code Online (Sandbox Code Playgroud)

无法获取地图密钥 - 如果您尝试迭代密钥,则会获得方法名称 -

jsEngine.eval(" for (var k in m.keySet()){ println(k)};");
Run Code Online (Sandbox Code Playgroud)

结果是 :

notifyAll
removeAll
containsAll …
Run Code Online (Sandbox Code Playgroud)

java rhino

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

JDBC连接池的性能比较

有没有人有任何比较不同ConnectionPool实现的性能特征的信息?

背景:我有一个应用程序,它将后台线程中的db更新运行到同一个盒子上的mysql实例.使用数据源com.mchange.v2.c3p0.ComboPooledDataSource会偶尔给我们带来SocketExceptions:com.mysql.jdbc.CommunicationsException:由于底层异常导致通信链接失败:

** BEGIN NESTED EXCEPTION ** 

java.net.SocketException
MESSAGE: Broken pipe

STACKTRACE:

java.net.SocketException: Broken pipe
        at java.net.SocketOutputStream.socketWrite0(Native Method)
Run Code Online (Sandbox Code Playgroud)

增加mysql连接超时会增加这些错误的频率.

切换到不同的连接池时,这些错误消失了(com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource); 但是性能可能更差,内存配置文件明显如此(我们得到的GC比c3p0池更少,更大).

java performance connection-pooling jdbc

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

在Spring 2.5中注册关闭钩子

我有一个spring应用程序,它不会在关闭时调用bean destroy方法.我已经看到了由于在beanRefFactory实例化这个存在引用,这可以通过手动调用registerShutdownHook()上的应用context.This方法来规避似乎已经从版本2.0之间的弹簧消失 - 2.5.

有人能指出我现在的方向吗?

谢谢.

java spring

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

有没有办法在leinegen中设置系统属性?

启动lein任务(实际测试,默认使用:test profile运行).我想做的是从等效的开始

java -Dproperty1 = value -Dproperty2 = value2任务

网上有一些参考资料表明这应该可以正常工作:

project.clj:

...
:profiles {:test {:jvm-opts ["-Dproperty1=value" "-Dproperty2-value"]}}
Run Code Online (Sandbox Code Playgroud)

在我的测试运行器中忽略了这一点.配置文件是正确的,如果我插入一些实际的jvm args(例如"-XX:+ PrintGC"之类的东西)它工作正常.但似乎没有拿起系统属性.有没有正确的方法来做到这一点?

clojure leiningen

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

自定义日志记录以在运行时收集消息

有没有办法在运行时创建log4j Logger,将日志消息收集到缓冲区?

我目前有一个记录许多事件的类.对于需要监视记录的事件的远程应用,我想只是交换在记录到一个缓冲区记录,然后检索该缓冲区,而不是重构类.例如给出类似的东西:

Class Foo{
   Logger log = ....;

   public void doSomething(){ 
      log.debug(...
      .. actual code
      log.debug(...
   }
}
Run Code Online (Sandbox Code Playgroud)

//我想从一些外部代码做什么:

String showFooLog(){
   Foo f = new Foo();
   f.log=new Logger(... 
   f.doSomething();
   return f.log.contents();
}
Run Code Online (Sandbox Code Playgroud)

这可能吗?

编辑:找到一个更短的解决方案,从Jare​​d的帖子中指出(虽然它仍然不是线程安全的).谢谢您的帮助.

 Logger l = Logger.getLogger( ...  );
 StringWriter writer = new StringWriter();
 WriterAppender appender = new WriterAppender( new HTMLLayout(), writer );
 l.addAppender( appender );
    ... run code here
  writer.flush();
 l.removeAppender( appender );
 return writer.toString()
Run Code Online (Sandbox Code Playgroud)

java log4j

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

Emacs - Ubuntu初始化

在ubuntu上加载emacs的奇怪行为,似乎有一些初始化不在.emacs中,也不在emacs报告通过"emacs --debug-init"加载的任何文件中.我发现了一些与字体相关的大小调整的引用,但这种行为似乎并不局限于此(例如重新出现的菜单和工具栏).

有没有人有关于emacs初始化过程的任何其他信息?它是否在.emacs之前或之后加载/etc/emacs/site-start.d文件,是否有默认加载的其他位置?

emacs ubuntu

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

sencha android打包错误 - 无证参数?

我的sencha配置似乎缺少一个参数,无法弄清楚它是从构建中生成的.

执行 sencha package build config.json

使用sencha文档中指定的配置,该工具将生成以下命令:

android create project --target android-7 --name appname --activity STActivity --path apppath --package pkg

这会产生错误

无法创建android项目无法打包应用程序[错误]错误:目标ID无效.使用'android list targets'来获取目标ID.

在sencha论坛上也有类似的抱怨.有没有人找到解决这个问题的方法?

extjs

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

任何人都可以解释这个SVN日志输出吗?

我不明白SVN如何显示日志输出.假设我在修订版10中有一个项目.然后我改变项目中的子文件,现在是修订版11. svn log命令现在显示以下内容:

svn log -vv 
            r10 ...
            ------
            r9 ...
            ------
            r8 ...
Run Code Online (Sandbox Code Playgroud)

但是,只有在指定文件名时才会显示最新的更改(r11):

svn log -vv ChangedFilename
            r11 ...
Run Code Online (Sandbox Code Playgroud)

r11不应该出现在第一个命令中吗?

svn

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

UML的常见用法

根据我的经验,大多数架构文档充其量只是临时性的,除了更加结构化的死树类型的写作之外,我还没有在实际使用中看到正式的UML,而且我和很少有开发人员一起工作过.能够清楚或正确地构建UML图 - 它似乎更多地被用作一种"图形伪代码".

鉴于此,我很好奇是否有人在内部文档中使用UML并在团队成员之间交流系统功能.这是人们日常使用的沟通工具/模式吗?它是否有用,过度指定?您是否在精确UML重要或有用的环境中工作过?

uml

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

标签 统计

java ×5

clojure ×1

connection-pooling ×1

emacs ×1

extjs ×1

jdbc ×1

leiningen ×1

log4j ×1

performance ×1

rhino ×1

spring ×1

svn ×1

ubuntu ×1

uml ×1