我在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
我在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) 有没有人有任何比较不同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池更少,更大).
我有一个spring应用程序,它不会在关闭时调用bean destroy方法.我已经看到了由于在beanRefFactory实例化这个存在引用,这可以通过手动调用registerShutdownHook()上的应用context.This方法来规避似乎已经从版本2.0之间的弹簧消失 - 2.5.
有人能指出我现在的方向吗?
谢谢.
启动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"之类的东西)它工作正常.但似乎没有拿起系统属性.有没有正确的方法来做到这一点?
有没有办法在运行时创建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)
编辑:找到一个更短的解决方案,从Jared的帖子中指出(虽然它仍然不是线程安全的).谢谢您的帮助.
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) 在ubuntu上加载emacs的奇怪行为,似乎有一些初始化不在.emacs中,也不在emacs报告通过"emacs --debug-init"加载的任何文件中.我发现了一些与字体相关的大小调整的引用,但这种行为似乎并不局限于此(例如重新出现的菜单和工具栏).
有没有人有关于emacs初始化过程的任何其他信息?它是否在.emacs之前或之后加载/etc/emacs/site-start.d文件,是否有默认加载的其他位置?
我的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论坛上也有类似的抱怨.有没有人找到解决这个问题的方法?
我不明白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不应该出现在第一个命令中吗?
根据我的经验,大多数架构文档充其量只是临时性的,除了更加结构化的死树类型的写作之外,我还没有在实际使用中看到正式的UML,而且我和很少有开发人员一起工作过.能够清楚或正确地构建UML图 - 它似乎更多地被用作一种"图形伪代码".
鉴于此,我很好奇是否有人在内部文档中使用UML并在团队成员之间交流系统功能.这是人们日常使用的沟通工具/模式吗?它是否有用,过度指定?您是否在精确UML重要或有用的环境中工作过?