草庐IT

static_check

全部标签

java - 如何解决 Java 中的 "Double-Checked Locking is Broken"声明?

我想在Java中实现多线程的延迟初始化。我有一些类似的代码:classFoo{privateHelperhelper=null;publicHelpergetHelper(){if(helper==null){Helperh;synchronized(this){h=helper;if(h==null)synchronized(this){h=newHelper();}//releaseinnersynchronizationlockhelper=h;}}returnhelper;}//otherfunctionsandmembers...}我收到“双重检查锁定已损坏”声明。我该如何解

java - 我们应该什么时候使用 "public static final String"?

我见过很多人写的代码publicstaticfinalStringmystring=...然后只使用一个值。为什么他们必须这样做?为什么他们必须在使用之前将值初始化为final?更新好的,谢谢大家的回答,我理解这些键的含义(publicstaticfinal)。我不明白的是为什么人们会使用它,即使常量只会在一个地方并且只在同一个类中使用。为什么要宣布它?为什么我们不只使用变量? 最佳答案 final表示变量的值不会改变——也就是说,一个constant,它的值在声明之后就不能被修改。当你想创建一个String时使用publicfin

java - 'public static final' 还是带有 setter/getter 的 'private static final'?

在Java中,变量应该保持私有(private)以实现更好的封装,但是静态常量呢?这个:publicstaticfinalintFOO=5;结果与此等价:privatestaticfinalintFOO=5;...publicstaticgetFoo(){returnFOO;}但哪种做法更好? 最佳答案 不直接在代码中使用常量的原因之一。假设FOO稍后可能会更改(但仍保持不变),例如publicstaticfinalintFOO=10;。只要没有人愚蠢到直接硬编码值,就不应该破坏任何东西吗?没有。Java编译器会将上面的Foo等常量

Java 8 : Mandatory checked exceptions handling in lambda expressions. 为什么是强制性的,而不是可选的?

我正在使用Java8中的新lambda功能,发现Java8提供的实践非常有用。但是,我想知道是否有一种good方法可以解决以下情况。假设您有一个对象池包装器,它需要某种工厂来填充对象池,例如(使用java.lang.functions.Factory):publicclassJdbcConnectionPoolextendsObjectPool{publicConnectionPool(intmaxConnections,Stringurl){super(newFactory(){@OverridepublicConnectionmake(){try{returnDriverManag

java - Spring MVC 异常 - 调用请求方法导致异常 : public static native long java. lang.System.currentTimeMillis()

我刚刚在我的日志文件中多次看到此异常:Invokingrequestmethodresultedinexception:publicstaticnativelongjava.lang.System.currentTimeMillis()java.lang.IllegalArgumentException:Invalidhandlermethodreturnvalue:1302697287376atorg.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerExceptionResolver.getModel

spring - Spring 4.0 + Security 3.2 + j_spring_security_check 的 JavaConfiguration

创建登录页面TestLogin"method="POST">Username Password  Failedtologin.Reason:声明一个WebSecurityConfigurer这里是我缺少j_username和j_password的地方@Configuration@EnableWebSecurity@ComponentScan(basePackages={"com.sample.init.security"})publicclassWebSecurityConfigurerextendsWebSecurityConfigurerAdapter

java - Spring 3 安全性 j_spring_security_check

我正在尝试了解SpringSecurity的工作原理,因此我下载了一些示例项目,然后尝试在我的项目中实现该解决方案。但是当我尝试登录时,我得到404错误,并且在地址栏中我有http://localhost:8080/fit/j_spring_security_check。我试图在这里查看类似的问题,但我无法意识到如何将其应用于我的项目。如果有经验更丰富的人能帮助我,我将不胜感激。我的应用结构如下所示:applicationContext.xml:applicationContext-web.xml:applicationContext-security.xml:

java - SONAR 提示 Make the enclosure method "static"or remove this set

我的程序中有以下代码,在将其与Maven集成后,我正在运行SonarQube5以对其进行代码质量检查。但是,Sonar要求将封闭方法设为“静态”或删除此集合。方法是setApplicationContext。如何消除此错误?为什么会出现这个错误?publicclassSharedContextimplementsApplicationContextAware{publicstaticfinalStringREPORT_ENGINE_FACTORY="reportEngineFactory";privatestaticApplicationContextapplicationContex

Spring : serving static resources outside context root

在网络应用程序中,我需要提供位于应用程序上下文目录之外的静态内容(图像)。整个应用程序架构需要我使用Tomcat来执行此操作。我以为我可以从Spring的中受益配置应用程序URL和目录内容之间的映射。但是AFAIK是mapping属性仅处理上下文相关或类路径映射。因此,我想使用什么:不起作用。由于我宁愿避免编写简单的文件传输servlet,如果有人能给我一些关于现有基于Spring的解决方案/解决方法的指示,我会很高兴。非常感谢。荷马 最佳答案 可以从外部提供资源,你需要使用通常的Springresourcepathsyntax:

java - 如何使用 <sec :authorize access ="hasRole(' ROLES)"> for checking multiple Roles?

我想使用SpringSecurityJSP标签库根据角色有条件地显示一些内容。但是在SpringSecurity3.1.x中只检查一个角色。我可以使用,但ifAllGranted已弃用。有什么帮助吗? 最佳答案 springsecurity中有一个特殊的安全表达式:hasAnyRole(listofroles)-trueiftheuserhasbeengrantedanyoftherolesspecified(givenasacomma-separatedlistofstrings).我从未使用过它,但我认为它正是您想要的。示例用法