草庐IT

Final_action

全部标签

java - 没有 final 修饰符,Initialization On Demand Holder 成语线程安全吗

我有一种预感,即使用holder惯用法而不将holder字段声明为final不是线程安全的(由于不变性在Java中的工作方式)。有人可以证实这一点(希望有一些消息来源)吗?publicclassSomething{privatelonganswer=1;privateSomething(){answer+=10;answer+=10;}publicintgetAnswer(){returnanswer;}privatestaticclassLazyHolder{//noticenofinalprivatestaticSomethingINSTANCE=newSomething();}p

java - JSF : model, Action 、getters、导航、phaselisteners 中的最佳实践

我参与了一个重构JSF实现的项目。现有代码未遵循正确的JSF标准。为了实现这一目标,我正在学习JSF中的所有概念(我已经亲body验了JSF)。具体来说,我想问一下我的想法。在MVC模式中,JSF中的模型组件是什么?是托管Bean吗?在操作方法中编写业务逻辑是个好主意吗?我见过数百行写在Action方法中的行。您认为我们可以在getter方法中编写任何逻辑吗?在JSF生命周期中调用了多少次getter或setter。编写faces-config.xml的常规方法是什么。我在一份文档中读到,它说将托管bean声明和该bean的导航案例一起编写是一种很好的做法。它将更具可读性。编写阶段监听

java - 为什么 CDI bean 不支持 final方法

我刚刚在GlassFish服务器下遇到了臭名昭著的JavaEECDI错误:org.glassfish.deployment.common.DeploymentException:CDIdeploymentfailure:ExceptionListwith2exceptions:Exception0:org.jboss.weld.exceptions.DeploymentException:WELD-001437NormalscopedbeanclassASControllerisnotproxyablebecausethetypeisfinaloritcontainsafinalmet

java - 方法签名中的 final 关键字

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Finalargumentsininterfacemethods-what’sthepoint?在尝试做一些实验时,我遇到了一个问题,该问题在thispage中有所描述。.interfaceB{publicintsomething(finalinta);}abstractclassC{publicintother(finalintb);}classAextendsCimplementsB{publicintsomething(inta){returna++;}publicintother(intb){retur

java - 访问内部类的局部变量需要声明为final

我遇到了一个问题,即访问内部类的局部变量需要声明为final。从方法createGrids()->"squares[i][j]=0;"可以看出,i是一个需要声明为final的局部变量。我不知道为什么,我在字段中添加了final,但效果不佳。importjava.util.ArrayList;importjava.util.Random;//省略publicclassMinesweeper{privateJFrameframe;privateintcols=9;privateintrows=9;publicstaticfinalintGRID_HEIGHT=9;publicstaticf

java - 为什么struts Action类不是线程安全的?

我可以在许多网站上了解到StrutsAction类不是线程安全的。我无法理解为什么会这样。我还读了一本书,上面写着“StrutsAction类被缓存并重用以提高性能以必须以线程安全的方式实现操作类为代价的优化”缓存Action类和线程安全有什么关系?. 最佳答案 Howiscachingactionclassesandbeingthreadsaferelated?如果您缓存并重用一个类的实例,允许多个线程同时访问同一个实例,那么该类本质上不是线程安全的*。如果要在类上放置可变实例或静态字段,并发下的结果将是意想不到的和有问题的。另一

java - 为什么接口(interface)方法不能是 "static"& "final"?

在Java接口(interface)中,我们只能使用final变量。我们也可以在Interface中创建静态变量。但是,与此同时,我们无法创建静态/final方法,因为接口(interface)仅适用于静态方法。在接口(interface)中不允许静态/final方法的确切原因是什么? 最佳答案 final方法不能被覆盖。如果您无法实际实现该方法,那就违背了拥有接口(interface)的目的。静态部分见thisquestion. 关于java-为什么接口(interface)方法不能是

java - Java 与 .NET Func<> 和 Action<> 委托(delegate)最接近的是什么?

显然,Java没有委托(delegate)或函数作为第一类值,而是使用接口(interface),但最接近Func或Action.NET委托(delegate)的接口(interface)是什么?有Runnable和Callable,但仅限于不带参数的类型。由于Java不能有具有相同名称和不同数量的泛型类型参数的重载类型,我理解不能有单一的共享接口(interface)名称,但可以有Runnable1、Runnable2等等。这种编程风格是否没有在Java中使用,或者我是否缺少任何现有接口(interface)? 最佳答案 我对.N

java - Java 8 编译器是否将接口(interface)上的静态方法优化为 "Final?"

我的具体问题是:编译器是否将静态最终接口(interface)代码内联到其他编译方法中?我已经有一段时间不了解这种类型的优化了,想知道这是否仍在执行。 最佳答案 javac不会内联任何东西-它做的优化很少。JIT可能会内联它,这取决于该方法是否足够热并且可以内联并且没有达到阈值的事实。 关于java-Java8编译器是否将接口(interface)上的静态方法优化为"Final?",我们在StackOverflow上找到一个类似的问题: https://sta

java - Netty 4.0.19.Final 内存泄漏与 io.netty.channel.ChannelOutboundBuffer$Entry

我似乎经常遇到Netty4的内存问题。我的应用程序向Minecraft服务器查询信息并使用该信息更新数据库。目前,它每10秒创建300个连接请求,并在这些连接成功完成时发送数据包。我的查询应用程序的前一个迭代使用的是Netty3.2.5,它连续几个月不间断地运行,没有任何问题。然而,对于Netty4,它只运行几个小时就耗尽了所有可用资源。这是通过JMX连接进行内存采样的屏幕截图。如我们所见,io.netty.channel.ChannelOutboundBuffer$Entry占用了大量内存。知道如何解决这个问题吗?如果你们需要,我可以提供代码。谢谢!StephenC:这不是“如何查找