我发现了一些建议使用的参考文献(例如)final
尽可能多地使用,我想知道它有多重要.这主要是在方法参数和局部变量的上下文中,而不是最终方法或类.对于常数,它显然是有道理的.
一方面,编译器可以进行一些优化,这使得程序员的意图更加清晰.另一方面,它增加了详细程度,优化可能是微不足道的.
这是我应该努力记住的事情吗?
严格来说,style
标签是否需要在head
HTML文档中?4.01标准意味着,但没有明确说明:
STYLE元素允许作者将样式表规则放在文档的头部.HTML允许文档的HEAD部分中的任意数量的STYLE元素.
我说"严格来说"因为我有一个应用程序将样式元素放在正文中,而我测试过的所有浏览器似乎都使用了样式元素.我只是想知道这是否合法.
在Java中使用Readers和Streams总是让我感到困惑的一件事是该close()
方法可以抛出异常.因为将close方法放在finally块中是个好主意,这需要一些尴尬的情况.我通常使用这种结构:
FileReader fr = new FileReader("SomeFile.txt");
try {
try {
fr.read();
} finally {
fr.close();
}
} catch(Exception e) {
// Do exception handling
}
Run Code Online (Sandbox Code Playgroud)
但我也看到了这种结构:
FileReader fr = new FileReader("SomeFile.txt");
try {
fr.read()
} catch (Exception e) {
// Do exception handling
} finally {
try {
fr.close();
} catch (Exception e) {
// Do exception handling
}
}
Run Code Online (Sandbox Code Playgroud)
我更喜欢第一个结构,因为只有一个挡块,它看起来更优雅.是否有理由更喜欢第二种或替代结构?
更新:如果我指出两者read
并且close
只抛出IOExceptions ,它会有所作为吗?因此,在我看来,如果读取失败,关闭将因同样的原因而失败.
我不太明白dbms_lob.createtemporary()函数.怎么:
DECLARE
myclob CLOB;
BEGIN
myclob := 'foo';
END;
Run Code Online (Sandbox Code Playgroud)
任何不同于:
DECLARE
myclob CLOB;
BEGIN
dbms_lob.createtemporary( myclob, TRUE );
myclob := 'foo';
dbms_lob.freetemporary( myclob );
END;
Run Code Online (Sandbox Code Playgroud)
我假设创建和免费调用之间的操作使其相关,但我只是不清楚如何.
Oracle Apex很棒.我遇到的最大问题是使用它和源代码控制.通常在进行更改后,将导出整个应用程序,并将生成的SQL脚本检入源代码控制.
问题是,因为不清楚大多数导出脚本在做什么,所以我必须将其视为二进制文件.这意味着不能将来自多个源代码分支的更改合并在一起,这严重限制了其有用性.
我听说有些人导出每个页面并将它们单独放入源代码控制中.首先,这听起来像是一个重大的痛苦.其次,Apex不允许您将页面导入除导出页面之外的任何应用程序.因此,很难让两个开发人员同时使用他们自己的应用程序副本.
有没有人找到一个很好的方法来处理源代码控制Apex?我正在使用Subversion,我想我怀疑它有所不同.
Oracle中是否有任何方法可以确定包是否具有状态或无状态?我不知道数据字典中包含该信息的任何视图.
"ORA-04068:包字符串的现有状态已被丢弃"错误相当令人讨厌.可以通过从包中删除包变量来消除它.11g引入了一个特性,即包含所有编译时常量变量的包将被视为无状态.
我可以有两个会话并将包编译成一个并在另一个中调用它,看看它是否抛出异常,但这需要调用包中的过程,这可能是不可取的.
在某些语言中(想到ColdFusion),您可以对先前查询的结果集运行查询.是否有可能在php(用MySQL作为数据库)中做类似的事情?
我有点想做:
$rs1 = do_query( "SELECT * FROM animals WHERE type = 'fish'" );
$rs2 = do_query( "SELECT * FROM rs1 WHERE name = 'trout'" );
Run Code Online (Sandbox Code Playgroud) 我想在SQLite中创建一个视图,其中一行中的字段取决于前一行中字段的值.我可以使用LAG
分析函数在Oracle中执行此操作,但不确定如何在SQLite中执行此操作.
例如,如果我的表看起来像:
ITEM DAY PRICE
apple 2011-01-07 1.25
orange 2011-01-02 1.00
apple 2011-01-01 1.00
orange 2011-01-03 2.00
apple 2011-01-08 1.00
apple 2011-01-10 1.50
Run Code Online (Sandbox Code Playgroud)
我希望我的观点看起来像WHERE item = 'apple'
:
DAY PRICE CHANGE
2011-01-01 1.00 (null)
2011-01-07 1.25 0.25
2011-01-08 2.00 0.75
2011-01-10 1.50 -0.50
Run Code Online (Sandbox Code Playgroud)
编辑:
相当于我正在寻找的查询会在Oracle中看起来像(没试过这个,但我认为这是正确的):
SELECT day, price,
price - LAG( price, 1 ) OVER ( ORDER BY day ) AS change
FROM mytable
WHERE item = 'apple'
Run Code Online (Sandbox Code Playgroud) 我打算在一些业余爱好Java项目上工作.我做过一些小规模的项目,所以我熟悉语言本身并使用Swing构建GUI.我想让我的工作不那么特别,也许会找到一些可能在现实世界中有用的工具.
NetBeans现在与Swing应用程序框架捆绑在一起,这似乎是一个非常有用的工具.它有助于弥合了解如何创建JFrame以及如何在更大的应用程序的上下文中有效地使用JFrame之间的鸿沟.问题是,有大量的API完全没有记录,并且几乎没有关于如何使用它的文档.常见问题解答中只有两个问题,邮件列表几乎已经死了,我甚至无法判断项目是否正在积极开发或是否已被放弃.我已经成功地开始运行它,主要基于项目主页上发布的两年前的JavaOne演示文稿.
还有更好的选择吗?是否有另一个工具/库/ API以更新手友好的方式做同样的事情?请注意,我目前正计划开发桌面应用程序,而不是在寻找像Spring和Hibernate这样的J2EE框架.
我已经看过几次这样的问题,并且我正在尝试以非重叠的方式决定存储范围的最佳方式.例如,在安排某种资源时,一次只能有一个人使用.我看到的大多数是这样的:
PERSON ROOM START_TIME END_TIME
Col. Mustard Library 08:00 10:00
Prof. Plum Library 10:00 12:00
Run Code Online (Sandbox Code Playgroud)
防止新条目与现有时间表重叠的最佳方法是什么,例如,如果Scarlet小姐想要从11:00到11:30预订图书馆?内联约束不起作用,我不认为这可以在触发器中轻松完成.处理最初在表中查找现有冲突的所有插入的过程?
其次,处理并发问题的最佳方法是什么?说,Scarlet小姐在13:00到15:00之间想要图书馆,White夫人想要从14:00到16:00.(1)的程序会发现这些时间表都可以接受,但是明确地将它们放在一起,它们不是.我唯一能想到的是手动锁定表格或某种互斥锁.
上面的表((room,start_time)的主键是什么?