草庐IT

Elastic安全

全部标签

java - jmx mbean线程安全

如果我有一个类,它也是一个mbean,并且我在我的代码中仅在一个线程中使用该类的函数,并且还通过jmx调用一个函数,我应该同步该代码吗?谢谢 最佳答案 代码应该是线程安全的,是的。如果您选择使用synchronized使其成为线程安全的,那由您决定。通过JMX调用的MBean将由容器调用,使用它自己的线程,与您自己的代码的线程分开。 关于java-jmxmbean线程安全,我们在StackOverflow上找到一个类似的问题: https://stackove

Java EE 安全性 - 使用哪种方法?

哪一个是在JavaEE中实现安全性的最佳途径/方法?(JPA/JSP)我正在从事一个个人项目,因此我可以学习JavaEE,但我对如何在我的网站上处理AUTHORIZATION和AUTHENTICATION过程感到有些困惑。我有不同的角色,我不希望某些用户访问网站的某些部分。所以我一直在搜索文档和教程等,但我发现的所有内容都可以追溯到3-4年前。最近有什么我应该研究的吗?以下是我发现的一些东西:http://www.oracle.com/technetwork/developer-tools/jdev/oc4j-jaas-login-module-083975.html任何帮助将不胜感激

java - 没有 happens-before 的安全发布?除了 final 还有什么?

根据JCP(16.2.2.安全发布):Thishappens-beforeguaranteeisactuallyastrongerpromiseofvisibilityandorderingthanmadebysafepublication.WhenXissafelypublishedfromAtoB,thesafepublicationguaranteesvisibilityofthestateofX,butnotofthestateofothervariablesAmayhavetouched.ButifAputtingXonaqueuehappens-beforeBfetches

java - 在 Java 中保护用户密码安全?

我已经到了需要选择一种方法来安全地将用户密码保存在数据库中并能够在用户登录网站时检查它们是否匹配的时候。我目前正在使用Spring2.5,但正在慢慢升级到Spring3。你会建议我什么来保证密码安全?我知道这个问题已经在这里和那里以类似的形式得到了回答,但我希望看到一些关于如何做到这一点的准确的、最新的答案,这也可以防止今天的密码黑客攻击技术。用salt散列密码的最合适方法是什么?我的意思是什么算法可以更好地使用(如果有的话)?我应该改用bcrypt吗?jBCrypt是一个很好的库吗?有没有更好的方法来保护密码?使用Jasypt怎么样?您使用什么技术来安全地存储用户密码?编辑:虽然我没

java - 使用单例 ExecutorService 安全吗

在同一个线程池中使用单例ExecutorService和多个CompletionService实例是否安全?CompletionServicecollector=newExecutorCompletionService(threadPool);因此,将有多个线程创建实例,如上所示,“收集器”具有一个单例线程池。 最佳答案 会好的。ExecutorCompletionService的每个实例都维护自己的已完成任务队列,并仅使用底层Executor来处理每个任务。如果完成服务的数量很大,线程池有上限,任务之间可能会在性能上相互干扰,但不

java - 泛型和( super ?)类型标记可以帮助构建类型安全的新闻聚合器吗?

我有这个基本的News界面interfaceNews{StringgetHeader();StringgetText();}和像SportsNews这样的具体类和FinancialNews提供特定方法,如getStockPrice(),getSport()等等。新闻旨在发送给interfaceSubscriber{voidonNews(Nnews);}问题是如何注册和维护订阅。我尝试的第一种方法是使用中央Aggregator,在Class之间保留map对象和Set>,但很快这种方法就显露出行不通了。这是所需的APIpublicclassAggregator{publicvoidsubs

java - Spring Data (JPA) Repository 是线程安全的吗? (也就是 SimpleJpaRepository 线程安全的)

我正在使用SpringData(JPA)repository处理CRUD样板文件。我这样定义我的存储库接口(interface):importorg.springframework.data.repository.CrudRepository;publicinterfaceFooRepositoryextendsCrudRepository{publicFoofindByXAndYAndZ(Xx,Yy,Zz);}然后Spring自动神奇地为我生成了所述接口(interface)的实现。我们得到的是一个代理,但我相信最终我们会得到一个org.springframework.data.jp

java - 向类型安全的异构容器中插入对象时,为什么需要类引用?

我正在检查Bloch的EffectiveJava中的异构容器模式,并试图确定为什么在将对象插入异构容器时需要类引用。我不能使用instance.getClass()来获取这个引用吗?不是JPA的entitymanager举个例子?interfaceBlochsHeterogeneousContainer{voidput(Classclazz,Tinstance);Tget(Classclazz);}interfaceAlternativeHeterogeneousContainer{//Classnotneededbecausewecanuseinstance.getClass()vo

java - 线程安全但快速访问 "eventually final"变量?

我有一个有点像这样的服务器:classServer{privateWorkingThingworker;publicvoidinit(){runInNewThread({//thiswilltakeaboutaminuteworker=newWorkingThing();});}publicResponsehandleRequest(Requestreq){if(worker==null)thrownewIllegalStateException("Notinitedyet");returnworker.work(req);}}如您所见,有处理请求的线程和初始化服务器的线程。请求可以在

java - 使用修饰符创建不可变类的好方法(线程安全)

我有一个案例,当我想避免防御性副本时,对于可能仍然被修改但通常只是读取而不是写入的数据。所以,我想使用不可变对象(immutable对象),使用函数式修改器方法,这很常见(javalombok能够或多或少地自动完成)。我的处理方式如下:publicclassPerson{privateStringname,surname;publicPerson(Stringname,Stringsurname){....}//getters...//andinsteadofsetterspublicPersonwithName(Stringname){Personp=copy();//createa