我正在寻找一种方法来列出Java中任意包的所有子包.
像这样的东西:
Package basePackage = getPackage("com.mypackage");
for(Package subPackage : basepackage.getSubPackages()){
System.out.println(subPackage.getName());
}
Run Code Online (Sandbox Code Playgroud)
有办法吗?提前致谢.
IDE(让我们说Netbeans)如何做到这一点?
更新:
我正在尝试找到MyBatis的所有mappers包.在我的项目中,所有映射器包都必须命名为"*.mappers".例如:"abmappers"或"abcmappers".问题是我只知道基础包,并且不确定它下面有多少个映射器包.
更新:这是我的代码试图使用反射库来做到这一点:
private Set<String> getPackagesNames() {
Reflections reflections = new Reflections("com.mypackage");
Set<Class<? extends Object>> allClasses = reflections.getSubTypesOf(Object.class);
Set<String> packageNames = new HashSet<>();
for( Iterator<Class<? extends Object>> it = allClasses.iterator(); it.hasNext(); ) {
Class<? extends Object> subClass= it.next();
packageNames.add(subClass.getPackage().getName());
}
return packageNames;
}
Run Code Online (Sandbox Code Playgroud)
不知道为什么这不起作用.这里没有上课....
UPDATE
这是我的代码.有点慢,但在我的情况下表现并不是那么大.我之前从未使用过Spring,所以如果有更好的方法可以做到,请告诉我.谢谢.
private static Set<String> getPackages(String basePackage) throws IOException, ClassNotFoundException {
Set<String> packagesNames = new HashSet<>();
ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
MetadataReaderFactory …
Run Code Online (Sandbox Code Playgroud) 我开始使用PostgreSQL为我的项目构建一个新数据库.(顺便说一下,我是PostgreSQL和数据库的新手.)
我认为我的开发工作流程非常糟糕,以下是其中的一部分:
以下是我能想到的一些不好的事情:
所以我的工作流程很糟糕.我想知道其他Postgres开发人员的工作流程是什么样的.
是否有任何好的工具(免费或便宜)用于编辑和保存脚本?好的IDE可能吗?
如果我可以为数据库创建自动化单元测试,那将是很棒的.
任何重建数据库的工具?CI服务器工具?
基本上我正在寻找任何建议,良好实践或数据库开发的好工具.
(对不起,这个问题可能不适合Q&A格式,但我不知道在哪里可以提出这个问题.)
我很难理解float(p)
PostgreSQL中的精度参数p .例如,float(1)
并且float(24)
似乎是完全一样的我.
有谁可以向我提供一些他们的差异的例子,好吗?
postgresql floating-point precision sqldatatypes floating-point-precision
我试图保存SELECT
查询的结果,传递它,并在另一个PL/pgSQL函数中重用它:
DECLARE
table_holder my_table; --the type of table_holder is my_table;
result text;
BEGIN
SELECT * INTO table_holder FROM table_holder ;
result = another_function(table_holder);
return result;
END
Run Code Online (Sandbox Code Playgroud)
代码another_function(table_holder my_table)
分别为:
BEGIN
RETURN QUERY
SELECT col FROM table_holder where id = 1;
END
Run Code Online (Sandbox Code Playgroud)
是否可以对SELECT
变量运行查询?如果没有,有没有办法解决这个限制?
我正在使用PostgreSQL 9.2.
我想弄清楚Postgres在比较varchar
时的作用char
.
这是我的一个测试:
test=# select 'a'::character varying = 'a '::character;
?column?
----------
t
test=# select 'ab'::character varying = 'ab '::character;
?column?
----------
f
Run Code Online (Sandbox Code Playgroud)
对我来说这看起来像个错误.有谁知道这里发生了什么?这个主题有好的文件吗?
我正在用double进行一些简单的测试,如下所示:
startTime = System.currentTimeMillis();
for (int i = 0; i < 100_000_000; i++)
{
doubleCalcTest();
}
endTime = System.currentTimeMillis();
System.out.println("That took " + (endTime - startTime) + " nanoseconds");
Run Code Online (Sandbox Code Playgroud)
.
public static double doubleCalcTest()
{
double x = 987.654321;
double y = 123.456789;
x = x + y;
x = x - y;
x = x * y;
return x / y;
}
Run Code Online (Sandbox Code Playgroud)
事实证明输出是0毫秒.这对我没有意义,因为如果我将for循环设置为仅运行100,000次,则输出为3毫秒.我发现int也以同样的方式行事.
任何人都可以帮我一把吗?谢谢.
我更改了我的代码以调用'System.nanoTime'时间并传递一个double值,该值按照建议的循环索引递增.
double x = 123.456789
startTime = System.nanoTime();
for (int i = 0; i < …
Run Code Online (Sandbox Code Playgroud) 我有时会看到这样的代码:
int length = 0x8FFFFFF; //128MB
byte buf = new byte[length];
Run Code Online (Sandbox Code Playgroud)
对我来说,这没有什么意义,因为:
0x8FFFFFF = 150,994,943
128MB = 128 * 1024 * 1024字节= 134,217,728字节
这两个数字不相等。我在这里想念什么?
谢谢,