对于有经常使用制定者的一个长长的清单班,我发现这种方式非常有用(虽然我最近看了一下Builder模式在有效的Java是有点相同).
基本上,所有setter方法都返回对象本身,因此您可以使用如下代码:
myClass
.setInt(1)
.setString("test")
.setBoolean(true);
Run Code Online (Sandbox Code Playgroud)
塞特斯最终只返回这个:
public MyClass setInt(int anInt) {
// [snip]
return this;
}
Run Code Online (Sandbox Code Playgroud)
你有什么意见?优缺点都有什么?这对性能有影响吗?
也称为c ++中的命名参数idiom.
对于有ejb经验的人来说可能是一个愚蠢的问题......
我想为我的一个通过@Schedule注释使用Java EE调度程序的EJB bean动态读取和更改minute参数.任何人都知道如何在运行时执行此操作,而不是像下面那样在类中对其进行硬编码?如果我以编程方式执行此操作,我仍然可以使用@Schedule注释吗?
@Schedule(dayOfWeek = "0-5", hour = "0/2", minute = "0/20", timezone = "America/Los_Angeles")
private void checkInventory() {
}
Run Code Online (Sandbox Code Playgroud) 任何人都知道你是否可以以编程方式创建主题及其连接工厂?目前我使用glassfish管理实用程序来创建我的主题及其连接工厂.如果我不能在代码中创建它,glassfish/openmq有一个默认主题和我可以使用的conn工厂吗?
我被赋予了实现登录处理程序的任务.处理程序捕获的唯一细节是用户名和密码.最初我打算使用发布到servlet的JSP.servlet执行db查找并验证用户凭据的位置.成功登录后,您将被重定向但不成功会将您带回到jsp并显示相应的错误消息.
然而,在做了一些研究后,我发现了j_security_check和JAAS,并且不确定要使用哪个或是否要使用.
我从哪个方面获得哪些好处,哪个最适合我的任务??
什么决定分支是否处于非活动状态?客户使用是否有特定的时间段?
我们有很多不活跃的分支机构。值得我们花时间关闭它们吗?
该文档似乎没有指定如何确定非活动分支: https ://www.mercurial-scm.org/wiki/Branch
出于某种原因,当我在 Swing 中禁用进度条时,它看起来仍然相同。当 JProgressBar 被禁用时,外观不应该改变吗?标签的外观肯定会发生变化。这可能是因为我使用的是 windows xp 的外观和感觉吗?还是有另一种方法来实现这一目标?
更新
所以这是我在 Windows 7 上的快速测试。默认似乎是 Nimbus,禁用进度条将使其淡出。但是,当我使用 PLAF 时,禁用进度条没有任何影响。

我正在尝试使用imap从java中的电子邮件服务器中提取消息,我遇到了这个异常:
DEBUG: JavaMail version 1.4.2
DEBUG: successfully loaded resource: /META-INF/javamail.default.providers
DEBUG: Tables of loaded providers
DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]}
DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]}
DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map
DEBUG: getProvider() returning javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc]
DEBUG: mail.imap.fetchsize: 16384
DEBUG: mail.imap.statuscachetimeout: 1000
DEBUG: …Run Code Online (Sandbox Code Playgroud) 我以为我可以打电话给清楚,而不是
if (tmap.size() > 0) {
tmap.clear();
}
Run Code Online (Sandbox Code Playgroud)
或者更有效率?
我很难在NetBeans平台中自定义菜单.我见过的例子要求你有一个我不相信我在NetBeans平台项目中的Layer文件.
要通过图层隐藏菜单,您应该这样做:
<folder name="Menu">
<folder name="View_hidden"/>
<folder name="Edit">
<file name="org-openide-actions-FindAction.shadow_hidden"/>
</folder>
</folder>
Run Code Online (Sandbox Code Playgroud)
我想知道隐藏菜单的注释方式.但是,如果这是唯一的方法,我会在哪里放置图层文件,我会命名它?
我可以使用 java long 以合理的精度存储以微秒为单位的纪元时间,而不需要任何特殊的有符号到无符号转换技巧吗?如果是这样,我将如何计算结束日期范围?
这是通常的 8 字节日期范围:-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
更新
从使用建议:
new Date(Long.MAX_VALUE)
Run Code Online (Sandbox Code Playgroud)
这是嗯的结束日期:
new Date(Long.MAX_VALUE/1_000)
Sat Jan 09 20:00:54 PST 294247
Run Code Online (Sandbox Code Playgroud)
这是使用纳秒正长值的结束日期:
new Date(Long.MAX_VALUE/1_000_000)
Fri Apr 11 16:47:16 PDT 2262
Run Code Online (Sandbox Code Playgroud) 是否有一个简单的工具或实用程序可以用来缓冲最后 3 分钟的网络捕获,如果事件发生可能是通过 GPIO 触发器或 UDP 消息我将最后 3 分钟和接下来的 1 分钟写入磁盘?我们的网络冻结发生在 40 分钟到 14 小时之间,我想捕获检测到的事件时间周围的网络流量,以更好地了解情况。我过去曾使用过 tcpdump 和wireshark,但总是手动触发捕获的开始和停止,我需要自动停止时间,并希望避免记录一堆不相关的数据。如果重要的话,我们的大多数开发环境都使用 Ubuntu 18.04。
此时,如果需要,我们不限于任何语言或从头开始构建工具。
我正在做一个简单的注销,并希望确保我正确引用登录根.
<h:form>
<h:commandLink value="Logout" action="#{request.contextPath}/#{userController.logout()}" />
</h:form>
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
/topnav.xhtml @16,104 action="#{request.contextPath}/#{userController.logout()}" Not a Valid Method Expression: #{request.contextPath}/#{userController.logout()}
Run Code Online (Sandbox Code Playgroud)
UPDATE
现在我正在从登出链接添加导航规则到登录页面,因为登出链接在所有页面上,我需要添加规则以允许转换回登录页面.这似乎是一个简单的项目的很多配置.我希望只是让被调用的方法指示登录页面是最终目的地并且热门必须将导航条目从所有页面放入登录页面.