我正在玩Weld-SE(Java SE)并注意到如果类路径中有很多JAR,那么JVM启动时间会持续几秒钟.
有没有办法将扫描路径指定/限制为像Apache Ant或AspectJ中的包模式或路径模式?
PS:在Weld论坛注册只是不起作用 - 它一直说"你的密码是微不足道的"
我很惊讶地看到我们的许多应用程序线程竞争在从Calendar的构造函数访问的java.util.Hashtable.get(xx)方法上进行同步.
at java.util.Hashtable.get(java.lang.Object)
at java.util.Calendar.setWeekCountData(java.util.Locale)
at java.util.Calendar.<init>(java.util.TimeZone, java.util.Locale)
at java.util.GregorianCalendar.<init>(java.util.TimeZone, java.util.Locale)
Run Code Online (Sandbox Code Playgroud)
ctor查找一个静态哈希表,该哈希表用作缓存,但最终会阻塞所有线程.
/**
* Cache to hold the firstDayOfWeek and minimalDaysInFirstWeek
* of a Locale.
*/
private static Hashtable<Locale, int[]> cachedLocaleData = new Hashtable<Locale, int[]>(3);
protected Calendar(TimeZone zone, Locale aLocale)
{
.. .. snip ..
setWeekCountData(aLocale);
}
private void setWeekCountData(Locale desiredLocale)
{
/* try to get the Locale data from the cache */
int[] data = cachedLocaleData.get(desiredLocale);
....
}
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来操纵日期?Joda是否绕过了所有这些问题?
这是一个简单的程序:
searchArgument)来读取文件问题:
read(..)方法似乎返回所有记录,完全忽略了searchArguments.这是为什么?笔记:
我无法找到任何有用的单元测试来演示谓词下推如何在Orc(Orc on GitHub)中工作.我也无法找到有关此功能的任何明确文档.尝试看Spark和Presto代码,但我找不到任何有用的东西.
以下代码是https://github.com/melanio/codecheese-blog-examples/tree/master/orc-examples/src/main/java/codecheese/blog/examples/orc的修改版本
public class TestRoundTrip {
public static void main(String[] args) throws IOException {
final String file = "tmp/test-round-trip.orc";
new File(file).delete();
final long highestX = 10000L;
final Configuration conf = new Configuration();
write(file, highestX, conf);
read(file, highestX, conf);
}
private static void read(String file, long highestX, Configuration conf) throws IOException {
Reader reader = OrcFile.createReader(
new Path(file), …Run Code Online (Sandbox Code Playgroud) 1)有人可以向我解释一下MIN_NORMAL和MIN_VALUE之间的区别是什么?
System.out.println(Float.MIN_NORMAL);
System.out.println(Float.MIN_VALUE);
Run Code Online (Sandbox Code Playgroud)
2)另外,为什么仍然打印1.0?
float f = Float.MIN_NORMAL + 1.0f;
System.out.println(f);
double d = Float.MIN_NORMAL + 1.0f;
System.out.println(d);
Run Code Online (Sandbox Code Playgroud)
输出:
1.17549435E-38
1.4E-45
1.0
1.0
Run Code Online (Sandbox Code Playgroud) Java的ServiceLoader需要这些条目存在于JAR文件中.有没有办法在运行时以编程方式添加这些服务条目以进行单元测试?尤其是当JAR尚未建成时.