我想确保给定的一组对象是不可变的.
我正在考虑以下方面的事情:
所以我想我的问题是:可能吗?
我可以递归地检查一个类的每个成员是否都有它的字段private final,但这还不够,因为一个类可以有一个名为e的方法getHaha(param),它将给定的param添加到一个数组中.
那么有一个很好的方法来检查一个对象是不可变的还是甚至可能?
谢谢,
我需要定义类似于这个正则表达式的东西:
[0-9]{1, 5}
Run Code Online (Sandbox Code Playgroud)
在PrimeFaces <inputMask>元素上:
<p:inputMask mask="regexGoesHere" value="#{someBean.val}"/>
Run Code Online (Sandbox Code Playgroud)
我看了PrimeFaces展示,但我无法弄清楚如何做到这一点.
除了JavaScript之外,有没有人知道如何以任何方式做到这一点?
我并不是在寻找一个解决方案,<inputMask>任何限制我在客户端输入字母输入信件都可以.
谢谢
问题基本上包含在标题中.
假设您的应用程序已达到其JVM -Xmx限制.当该应用程序需要更多内存时,是否强制进行垃 (在HotSpot JVM中)
我无法解释的第二个奇怪的事情是,我目前有一个运行-Xmx = 2048m的应用服务器,"top"命令(在linux上)为其进程报告2.7g.
那么应用程序如何/何时允许超过其-Xmx?
谢谢,
我之前已经问过类似的问题,但我找不到能回答我确切问题的问题.
我需要一种方法来String使用最少的代码读取文件,并尽可能简单和最佳.
我不是在寻找:
final BufferedReader br = new BufferedReader(new FileReader(file));
String line = null;
while ((line = br.readLine()) != null) {
// logic
}
Run Code Online (Sandbox Code Playgroud)
而且我知道我可以写自己的助手类来做到这一点.
我正在寻找更多的东西:
final String wholeFileAsStr = Something.load(file);
Run Code Online (Sandbox Code Playgroud)
哪里Something.load()是超级优化,而阅读呢,正在文件的大小考虑,例如适当缓冲文件.
任何人都可以推荐一些我不知道的Guava或Apache的东西吗?
提前致谢.
这可能是微不足道的,但我会喜欢一些帮助.
我明白了:
javax.ejb.EJBException: java.lang.IllegalStateException: Illegal to call this method from injected, managed EntityManager
11:54:37,105 ERROR [STDERR] at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:77)
11:54:37,105 ERROR [STDERR] at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)
11:54:37,105 ERROR [STDERR] at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:190)
Run Code Online (Sandbox Code Playgroud)
做的时候:
@PersistenceContext(unitName = "someName")
private EntityManager em;
...
final EntityManager entityManager = getEntityManager();
final EntityTransaction tx = entityManager.getTransaction(); // here
Run Code Online (Sandbox Code Playgroud)
谁能告诉我原因可能是什么?
我有这个例外:
SEVERE: Context initialization failedorg.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'myService': Bean with name 'myService' has been injected into other beans [otherService] in its raw version as part of a circular reference, but has eventually been wrapped. This means that said other beans do not use the final version of the bean. This is often the result of over-eager type matching - consider using 'getBeanNamesOfType' with the 'allowEagerInit' flag turned off, for example.
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议找到循环依赖来源的好策略吗?
我目前正在查看上下文定义,但正如您可能想象的那样,在某个成熟度的项目中,这需要相当长的时间.
所以我一般都在寻找快速找到循环bean依赖关系的想法.
有点长的头衔,但这通常是个问题.
我想知道您是否认为执行以下操作是个好主意.
代替:
public void buyItem(int itemId, int buyerId) {
if (itemId <= 0) {
throw new IlleglArgumentException("itemId must be positive");
}
if (buyerId <= 0) {
throw new IlleglArgumentException("buyerId must be positive");
}
// buy logic
}
Run Code Online (Sandbox Code Playgroud)
我希望有类似的东西:
@Defensive("isPositive(#itemId, #buyerId)")
public void buyItem(int itemId, int buyerId) {
// buy logic
}
Run Code Online (Sandbox Code Playgroud)
你认为这是好/可怕/太花哨/太慢?如果你真的认为它很好我想用SpEL来实现它,那么有没有人有更好/更轻/更快的东西?
谢谢,
我在这个主题上看到了几个问题,但由于它们与错误相关,我不认为这是重复的.
我的问题是我无法登录.我正在JBoss 6 EAP上部署.war,但是也没有记录错误.在JBoss的/ log文件夹下还有一个名为my .war的文件,但它也是空的.
.war部署罚款和工作.由于我使用Spring,我甚至看不到它初始化它的上下文.
在Tomcat 7下使用相同的.war进行日志记录.
我创建了一个log4j.xml并将其放在我的WEB-INF/classes目录中(我也尝试过/ WEB-INF):
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %c{1} - %m%n"/>
</layout>
</appender>
<root>
<priority value ="info" />
<appender-ref ref="console" />
</root>
</log4j:configuration>
Run Code Online (Sandbox Code Playgroud)
我正在使用log4j 1.2.17,Spring 3.1和JBoss 6 EAP.
任何帮助非常感谢,谢谢
任何人都可以给我一个语言列表,其中类不变性可以编译器强制执行和测试吗?
我需要能够做到这样的事情:
class immutable Person {
private String name = "Jhon"; // lets say the String is mutable
public Person(String name) {
this.name = name; // ok
}
public void setName(String newName) {
this.name = newName; // does not compile
}
public void getName() {
return this.name; //returns reference through which name can't be mutated
}
private void testImmutability() {
getName().setFirstChar('a'); // does not compile
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:
有关更多说明,请参见此处.
language-agnostic programming-languages language-design immutability
在URL中公开DB内部ID是不好的做法吗?
例如,假设我有一个users表,每行有一些ID(主键).暴露URL myapp.com/accountInfo.html?userId=5,在哪里5是一个真正的主键,被视为"坏事",为什么?
还假设我们正确防御SQL注入.
我最感兴趣的是与Java Web技术堆栈相关的答案(因此是java标签),但一般的答案也会非常有用.
谢谢.
java ×8
coding-style ×2
immutability ×2
aop ×1
database ×1
ejb-3.0 ×1
hibernate ×1
jboss-eap-6 ×1
jpa ×1
jsf ×1
log4j ×1
obfuscation ×1
performance ×1
primefaces ×1
spring ×1
spring-aop ×1
text-files ×1
transactions ×1
unit-testing ×1
url ×1
web ×1