草庐IT

starter实现

全部标签

java - Java实现定时刷新Cache

我的用例是对存储在持久性数据库中的数据维护内存缓存。我使用数据来填充UI上的条目列表/映射。在任何给定时间,UI上显示的数据都应尽可能更新(这可以通过缓存的刷新频率来完成)。常规缓存实现与此特定缓存之间的主要区别在于它需要定期批量刷新所有元素,因此与LRU类型的缓存有很大不同。我需要用Java来实现这个实现,如果有任何现有的框架可以用来围绕它们构建这个框架,那就太好了。我探索了GoogleGuava缓存库,但它更适合按条目刷新而不是批量刷新。没有简单的API可以刷新整个缓存。我们将不胜感激任何帮助。此外,如果可以逐步进行刷新,那就太好了,因为刷新整个缓存时出现的唯一限制是,如果缓存的大

java - 在不重新编译实现类的情况下更改接口(interface)

我有以下类(class)publicabstractinterfaceX{publicabstractvoidf()throwsjava.io.IOException;}publicclassYimplementsX{publicvoidf()throwsjava.io.IOException{thrownewjava.ioIOException("Hello");}publicstaticvoidmain(String[]args){Xx=newY();try{x.f();}catch(IOExceptione){System.out.println("Caught");}}}现在我

Java - 泛型和通配符以及接口(interface)与实现

我有一个关于Java泛型的问题。假设我有以下界面:publicstaticclassSomething{publicvoidset(Tt){}}publicstaticinterfaceManager{publicvoidadd(finalStringkey,finalSomethingo);publicSomethingget(finalStringkey);}用法示例:finalManagerm=...;m.add("key",newSomething());m.get("key").set(newInteger(5));我还希望能够添加Something,Something,..

java - 同一接口(interface)的Spring多重实现

我有一个接口(interface)和这个接口(interface)的多个实现类,大约有10个。我有一个像prefix+name+suffix这样的命名约定所以在运行时,我可以添加@AutowiredprivateMapmyImplementations;然后使用myImplementations.get()访问实现类方法。有没有更好的方法来访问这些实现?我只知道哪个暗示。我在运行时需要,更改取决于我收到的消息。 最佳答案 你可以实现BeanFactoryAware类中的接口(interface),然后使用注入(inject)的bea

java - 如何使用Spring Batch实现步骤的分布式处理

使用Spring批处理,我希望我的步骤跨节点分布,并让它们针对给定的作业执行。我有一个用例,其中一个作业有多个步骤,每个步骤都可以在托管应用程序的多个节点中运行。有人试过这个吗?任何关于相同的想法将不胜感激! 最佳答案 有两种方法:Remotechunking-您在主节点上读取数据并在从节点上处理/写入数据Remotepartitioning-您将数据集分成多个分区,并在远程节点中读取/处理/写入您的分区。所以master只是协调和决定如何划分分区。我写了一本关于EnterpriseSpring的书,并创建了这两种方法的示例。这些是

java - 抽象方法的 native 实现

在Java中是否允许在一个类中有一个抽象方法,然后在另一个使用JNI的本地语言中实现它。例子:abstractclassMommy{abstractprotectedvoidcall();}classSonextendsMommy{nativeprotectedvoidcall()/*'nativecode'*/}预期的行为是什么,它是可能发生的运行时错误还是“解决方法”一切正常? 最佳答案 Whatistheexpectedbehaviourisitaruntimeerrorthatmayoccursoreverythingisf

java - 对具有多版本实现的模块使用 jdeps,但根模块没有

不太确定如果当前模块具有多版本依赖项,如何使用jdeps检查模块。jdeps一直要求我提供--multi-version9但其他依赖模块不是多版本。这种情况下如何正确使用jdeps?命令:jdeps-cp.\..\..\..\modules--module-path.\..\..\..\modules-sws-gen.jar错误:jaxb-api.jar是多版本jar文件,但未设置--multi-release选项命令:jdeps--multi-release9--module-path.-filter:package-sjaxb-api.jarError:bcprov-jdk15on

Java:在运行时创建类型的新实现?

所以,我意识到这个问题的答案可能是“这很难”,但是:我有一个奇怪的想法,想知道是否可以在Java中创建如下方法:TwrapInterface(ClassinterfaceClass,TwrappedObject){if(mClass.isInterface()){//createanewimplementationofinterfaceClassthat,ineachmethod,//doessomeactionbeforedelegatingtowrappedObjectreturnthatImplementation;}}所以基本上,如果我的接口(interface)Foo定义了一

java - 在运行时替换(覆盖)类实现 (Java)

是否有任何方法可以替换(覆盖)Java类实现,该实现已经由系统类加载器加载到另一个实现(以字节数组形式提供)?为了说明我的疑问,请遵循以下代码:publicclassMain{publicstaticvoidmain(String...args){Foofoo=newFoo();foo.print();ClassLoadercl=...Foofoo2=(Foo)cl.newInstance();foo2.print();}}第一个Foo的print()方法打印“Implementation1”,第二个Foo打印“Implementation2”。foo的第二个实例由类加载器从字节数组中

java - Java 中可靠的 UDP 协议(protocol)实现——为什么会这样?

我目前正在使用ReliableUDP协议(protocol)的Java实现,发现here.该项目完全没有教程,所以我发现很难发现问题。我已经设置了客户端和服务器。服务器在localhost:1234上运行,客户端在localhost:1235上运行。服务器首先建立,并循环监听连接-try{ReliableSocketclientSocket=server.socket.accept();InetSocketAddressclientAddress=(InetSocketAddress)clientSocket.getRemoteSocketAddress();Logger.getLog