在SWT项目目前维持对每个支持的操作系统一个分配.例如:
swt-3.4.2-win32-win32-x86.zip
swt-3.4.2-gtk-linux-x86.zip
swt-3.4.2-carbon-macosx.zip
是否有正确的Thing™可分发,无论应用程序运行在哪个操作系统上?
假设您有一个定义copyFile(String, String)
方法的 Java 类:
public class FileSystem {
public static void copyFile(String sourcePath, String destinationPath)
throws IOException
{
// ignore the fact that I'm not properly managing resources...
FileInputStream source = new FileInputStream(sourcePath);
FileOutputStream destination = new FileOutputStream(destinationPath);
copyStream(source, destination);
source.close();
destination.close();
}
private static void copyStream(InputStream source, OutputStream destination)
throws IOException
{
byte[] buffer = new byte[1024];
int length;
while ( (length = source.read(buffer)) != -1 ) {
destination.write(buffer, 0, length);
}
}
}
Run Code Online (Sandbox Code Playgroud)
假设您将其包装在 Java 存储过程中: …
我是Java编程的新手.我有一个单元测试文件要运行.它有@Before
和的注释@Test
.我试图使用可用的在线资源来理解这些概念.
当我调试我的UnitTest.java文件时,只有@Before
部件被执行.它没有到达@Test
,程序失败说:
NativeMethodAccessorImpl.Object(....) not available.
当我运行单元测试时(而不是调试单元测试),这不会发生.我该如何解决这个问题?
我有一个 PL/SQL 包,没有指定(AUTHID
有效地创建它AUTHID DEFINER
)。然而,该包中恰好有一个过程需要作为AUTHID CURRENT_USER
. 这是可能的,还是我必须创建一个单独的顶级程序?
假设我在PL/SQL中定义了一些数据类型:
TYPE foo_t IS RECORD (...);
TYPE foo_table_t IS TABLE OF foo_t INDEX BY BINARY_INTEGER;
TYPE bar_t IS RECORD (...);
TYPE bar_table_t IS TABLE OF bar_t INDEX BY BINARY_INTEGER;
Run Code Online (Sandbox Code Playgroud)
我是否可以编写一个能够接受从TABLE派生的任何数据类型(例如,a foo_table_t
或a bar_table_t
)作为参数的过程?该过程不需要知道表的行类型.一个简单的例子:
PROCEDURE remove_last(some_table ...) IS
BEGIN
some_table.DELETE(some_table.LAST);
END;
Run Code Online (Sandbox Code Playgroud) 假设我有一个PL/SQL存储过程如下:
PROCEDURE do_something(foo VARCHAR2 DEFAULT NULL) IS
BEGIN
/* Do something */
END;
Run Code Online (Sandbox Code Playgroud)
现在,假设do_something
有两种不同的方式:
/* Scenario 1: The 'foo' parameter defaults to NULL */
do_something();
/* Scenario 2: The 'foo' parameter is explicitly set to NULL */
do_something(foo => NULL)
Run Code Online (Sandbox Code Playgroud)
如何定义do_something
过程以确定调用它的方案?
编辑:澄清我对此程序的意图:
FUNCTION find_customer(name VARCHAR2 DEFAULT NULL, number VARCHAR2 DEFAULT NULL) RETURN NUMBER IS
BEGIN
/* Query the "customer" table using only those parameters provided */
END;
Run Code Online (Sandbox Code Playgroud)
以下是此过程与所需关联SQL子句的示例用法:
/* SELECT * FROM customer WHERE customer.name = …
Run Code Online (Sandbox Code Playgroud) 听起来像一个明显答案的愚蠢问题:)
我仍然冒险要求加倍确定.
我们确实使用如下所示的断言
ArrayList alProperties = new ArrayList();
assert alProperties != null : "alProperties is null";
Run Code Online (Sandbox Code Playgroud)
问题是在断言上制作一个小而简单的文档是很困难的.有很多关于断言的书籍,但理想情况下,我喜欢给一个新的程序员非常简单的使用类似断言的指南.顺便说一句,像pmd这样的工具检查断言是否正确使用?
提前致谢.
我有一个程序,需要在给定的时间间隔内查询数据库,并通过它调用的记录执行一些操作,然后再次更新表.
我正在使用ExecutorService来运行线程,但是我想知道,如果每个线程都有自己的连接(因为它需要更新数据库),或者我可以使用我用来查询初始结果的相同连接吗?
可以连接池工作,我在Oracle 9i上.
假设你有一张桌子:
CREATE TABLE Customer
(
batch_id NUMBER,
customer_name VARCHAR2(20),
customer_address VARCHAR2(100)
)
Run Code Online (Sandbox Code Playgroud)
并假设您有一个控制文件来填充此表:
LOAD DATA INFILE 'customers.dat' REPLACE INTO TABLE Customer ( batch_id ??????, customer_name POSITION(001:020), customer_address POSITION(021:120) )
batch_id
我运行SQL*Loader时是否可以将值传递给我的控制文件?例如,是否可以指定绑定变量(将问号转换为:MY_AWESOME_BATCH_ID
)?
假设我有一个PL/SQL函数从表中选择一个值.如果查询没有返回任何记录,我希望NO_DATA_FOUND
传播错误(以便调用代码可以捕获它),但是在调用时会出现更有意义的错误消息SQLERRM
.
这是我想要完成的一个例子:
FUNCTION fetch_customer_id(customer_name VARCHAR2) RETURN NUMBER;
customer_id NUMBER;
BEGIN
SELECT customer_id
INTO customer_id
FROM CUSTOMERS
WHERE customer_name = fetch_customer_id.customer_name;
RETURN customer_id;
EXCEPTION
WHEN NO_DATA_FOUND THEN
meaningful_error_message := 'Customer named ' || customer_name || ' does not exist';
RAISE;
END;
Run Code Online (Sandbox Code Playgroud)
有没有办法meaningful_error_message
与NO_DATA_FOUND
错误相关联?
更新:有人建议我RAISE_APPLICATION_ERROR
在NO_DATA_FOUND
遇到时使用引发自定义错误代码.这个问题的目的是确定是否可以避免这种技术,以便调用代码可以捕获NO_DATA_FOUND
错误而不是自定义错误代码.捕获NO_DATA_FOUND
似乎在语义上更正确,但我可能是错的.
我的应用程序出现问题,并想知道为什么我没有得到任何堆栈信息;
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at com.x.y.z.()V(Unknown Source)
我正在使用Ant脚本构建 - 我是否需要摆弄某种编译详细程度设置?
PS我对NoClassDefFoundError不感兴趣,只是缺少堆栈跟踪.
它的Ershad在这里.我正在研究lucene.现在我能够搜索这个单词.但是如果我输入单词的一部分,我就无法得到结果.你能不能建议做些什么.
对于索引,我使用以下代码
writer = new IndexWriter(directory, new StandardAnalyzer(), true);
writer.SetUseCompoundFile(true);
doc.Add(Field.UnStored("text", parseHtml(html)));
doc.Add(Field.Keyword("path", relativePath));
writer.AddDocument(doc);
Run Code Online (Sandbox Code Playgroud)
对于搜索,我使用以下代码.
Query query = QueryParser.Parse(this.Query,"text",new StandardAnalyzer());
// create the result DataTable
this.Results.Columns.Add("title", typeof(string));
this.Results.Columns.Add("sample", typeof(string));
this.Results.Columns.Add("path", typeof(string));
// search
Hits hits = searcher.Search(query);
this.total = hits.Length();
Run Code Online (Sandbox Code Playgroud)