草庐IT

应不应该

全部标签

java - RxJava-我什么时候应该关注取消订阅?

我想确保在使用RxJava时不会造成任何内存泄漏。请让我知道这些是否是处理每种情况的正确方法...案例1如果我在同一范围内创建一个Observable和一个Subscription,GC会处理它们,对吗?我必须在这里调用unsubscribe()吗?publicstaticvoidcreateObservableAndSubscribe(){Observablesource=Observable.just(1,6,3,2,562,4,6);Subscriptionsub=source.subscribe(i->System.out.println(i));sub.unsubscribe

java - 使用 Spring Security + CAS 获取循环重定向,但应该可以工作

我正在尝试将基本应用程序从仅使用SpringSecurity更改为使用CAS,以启用SSO。但是我在某处遇到了重定向循环,但我无法找出问题所在。我做了另外两个模拟应用程序,在CAS上没有问题,因为它们正在运行。我正在使用Java配置代替XML配置,取自here.我已经为示例尝试了XML配置,但我仍然得到相同的结果。我的猜测是authenticationManager有问题,无法从SpringSecurity检测到用户。至少,该日志指示一个AnonymousUser并抛出一个AccessDeniedException。但它适用于其他两个具有相似配置的模拟应用程序(我什至尝试复制它,但错误

java - 不应使用 "com.sun.*"和 "sun.*"包中的类 Sonar issue for Jersey client

我正在使用jersey客户端进行休息调用。我的代码的导入是:importcom.sun.jersey.api.client.Client;importcom.sun.jersey.api.client.ClientResponse;importcom.sun.jersey.api.client.WebResource;一切正常。我正在使用Sonar检查我的代码质量。Sonar显示的主要问题是:Classesfrom"com.sun."and"sun."packagesshouldnotbeused这实际上是使用来自sun的类的不良做法吗?如果是,有哪些替代方案?

java - 什么时候应该使用 Instance<T> 和 Provider<T> 在 CDI 中注入(inject) bean?

我一直在阅读Instance的API文档和Provider,但尚不完全清楚何时应使用它们。以下方法之间有什么区别?@InjectMyBeanbean;@InjectInstancebean;@InjectProviderbean; 最佳答案 Provider是一个由CDI接口(interface)扩展的JSR-330接口(interface)Instance.注入(inject)MyBean,当没有匹配的bean或有多个匹配的bean时,您的应用程序将在启动期间抛出异常。注入(inject)Instance,bean解析委托(del

java - 对于基于 I/O 的流,我应该在 flatMap 中使用 try-with-resource 吗?

AStream是一个AutoCloseable,如果基于I/O,应该在try-with-resourceblock中使用。通过flatMap()插入的基于I/O的中间流怎么样?示例:try(varfoos=foos()){returnfoos.flatMap(Foo::bars).toArray(Bar[]::new);}对比try(varfoos=foos()){returnfoos.flatMap(foo->{try(varbars=foo.bars()){returnbars;}}).toArray(Bar[]::new);}flatMap()文档说:Eachmappedstre

java - 我应该从两端关闭套接字吗?

我有以下问题。我的客户端程序监视本地网络中服务器的可用性(使用Bonjour,但它不支持mater)。一旦服务器被客户端应用程序“注意到”,客户端就会尝试创建套接字:Socket(serverIP,serverPort);。在某些时候,客户端可能会丢失服务器(Bonjour说服务器在网络中不再可见)。因此,客户端决定关闭套接字,因为它不再有效。某时服务器再次出现。因此,客户端尝试创建一个与该服务器关联的新套接字。但!服务器可以拒绝创建此套接字,因为它(服务器)已经有一个与客户端IP和客户端端口关联的套接字。发生这种情况是因为套接字是由客户端而不是服务器关闭的。它会发生吗?如果是这样,如

java - 我应该使用哪种密码散列方法?

这个问题让我又开始思考密码散列。我目前使用bcrypt(特别是py-bcrypt)。我听说过很多关于PBKDF2和scrypt的信息。我想知道是否有任何我可能不知道的“更现代”的密码散列方法(因为它们是新的,所以人们不会那么多地谈论它们),或者我可能不知道的其他方法不知道。然后从那里继续,我应该使用哪一个?大多数人似乎都推荐bcrypt,但我想知道这是否只是因为它很旧(阅读:众所周知)。scrypt似乎更好(内存使用量可变)。我对PBKDF2了解不多。所以如果我制定一个用户管理方案,我应该使用其中的哪一个?还是我应该使用完全不同的东西? 最佳答案

java - 应该如何在生产环境中配置/使用 jPOS?

在我目前的公司,我们正在考虑使用jPOS与其他系统进行ISO8583集成。我已经阅读了一段时间的免费文档,但我仍然有很多差距。例如:jPOS应该如何在产品中工作?我应该开始第二季度吗服务器,它会像端点接收或发送一样ISO8583消息?我应该如何将其与我的整合应用服务器?我应该在哪些情况下以及如何使用jPOS空间?我的基本用例是发送/接收ISO消息。我需要所有这些东西吗?是否有任何其他引用资料或此基本系统的示例可以接收ISO8583消息、执行一些操作然后在ISO8583消息中回复?谢谢, 最佳答案 HowisjPOSsupposedt

java - 如果使用来自 Guava 的 com.google.common,为什么不应该使用 Objects.requireNonNull()?

Preconditions的Javadoc来自Google的Guava库指出:Projectswhichusecom.google.commonshouldgenerallyavoidtheuseofObjects.requireNonNull(Object).Instead,usewhicheverofcheckNotNull(Object)orVerify.verifyNotNull(Object)isappropriatetothesituation.(Thesamegoesforthemessage-acceptingoverloads.)此建议背后的动机是什么?我在Javad

java - 为什么在每个 session 可能有并发请求的情况下不应该使用 Tomcat 的 PersistentValve?

在类评论顶部PersistentValve有一个使用限制:/**...*USAGECONSTRAINT:Toworkcorrectlyitassumesonlyonerequestexists*persessionatanyonetime....*/为什么这里有这个约束?仔细阅读代码,我发现了三个原因:在不同Tomcat实例上对同一session的并发请求可能会受到“最后写入获胜”的影响,因此可能会丢失session数据。由于session.recycle(),在同一个Tomcat实例上对同一个session的并发请求可能会导致NPE在thesharedsessionobject中将管