草庐IT

java - 有没有办法以编程方式从模板生成 java 类?

我需要一个库或方法来从模板文本文件生成java类(只需将类的源代码生成为文本格式,无需运行或使用它)。例如我有一个类模板packagepackagename.name.abc;importlib.sub.sub;importlib.sub.sub2;publicclasstemplateClass{publicStringgetTemplateText(){//someoperationshere.}PlaceControllergetPlaceController(){//someoperationshere.}}我想向模板添加一个库导入、一个函数导入和一个参数或行添加,并将模板添加

java - 通过 JAAS 以编程方式登录用户

我正在尝试通过以编程方式登录这样的用户(剥离异常处理),在不同的身份验证下在JBoss容器中运行代码:LoginContextctx=ctx=newLoginContext("MyLoginSchema",newUsernamePasswordCallbackHandler("newuser",""));ctx.login();Subject.doAs(ctx.getSubject(),newPrivilegedAction(){@OverridepublicTrun(){Subject.getSubject(AccessController.getContext());Initial

java - 编程实践(一些容易混淆的语句)

前几天,我正在阅读Kernighan和RobPike合着的编程实践。在第二章的搜索部分,我读到了其中的一些内容,这在我的脑海中造成了困惑。“没有什么比数组更适合存储静态表格数据了。编译时初始化使得构建这样的阵列既便宜又容易。(在Java中,初始化发生在运行时,但这是一个不重要的实现细节,除非数组很大。)”我的问题是,如果用户打算仅在运行时提供数组或变量,并且变量的内存分配也在运行时发生,那么在任何语言中如何进行数组或变量的编译时初始化。不知道内存地址如何初始化数组? 最佳答案 它并没有说数据是在运行时提供的。它只是说“静态”数据。如

java - LOG4J2 - 如何以编程方式创建文件附加程序?

我需要以编程方式设置文件附加程序。我想在log4j2.xml上设置我的附加程序,但我想在运行时(以编程方式)仅写入这些附加程序之一。示例:if(condition.equals("A")){//writelogonFile_1}elseif(condition.equals("B")){//writelogonFile_2}else{//writelogonFile_3}查看Internet上的各种教程,他们解释了如何在运行时以编程方式添加附加程序;有没有办法选择在运行时只有xml配置文件中定义的附加程序之一?第一个解决方案:我已尝试通过以下方式解决问题,但我对我的解决方案并不满意,因

java - 在 Java 中以编程方式获取 DNS 服务器的地址

是否有可能以编程方式获取在我进行主机名解析时将要使用的DNS服务器的地址?我想在Java中以独立于平台的方式执行此操作。我知道在Linux、一些WindowsAPI等中有一些方法可以做到这一点,但我可以从Java获得这些东西吗? 最佳答案 您可以使用dnsjava:importorg.xbill.DNS.*;StringdnsServers[]=ResolverConfig.getCurrentConfig().servers();(但是您不知道可能的多个服务器中的哪一个将用于给定的查找)

java - 如何以编程方式使用 Intellij IDEA 代码格式化程序?

我使用Eclipsejdt来格式化我生成的java文件,如下所示:publicStringformat(Stringcode)throwsMalformedTreeException,BadLocationException{Mapoptions=newjava.util.HashMap();options.put(JavaCore.COMPILER_SOURCE,"1.5");options.put(JavaCore.COMPILER_COMPLIANCE,"1.5");options.put(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM,"1.

java - 在 ExecutorService 上使用响应式编程有什么好处?

如果两者本质上都是异步的,那么在Java中使用Reactive编程而不是ExecutorService有什么用?与ExecutorService相比,响应式(Reactive)编程在哪些方面更有效? 最佳答案 异步编程通常包括一些类型的任务交互。不同类型的异步编程提供不同类型的任务交互。ExecutorService只要有可用的处理器就执行提交的任务,也就是说,它只提供最简单的异步编程形式,根本没有任务交互。响应式编程提供了通过背压交换消息的channel,这是一种相当高级的任务交互。但在幕后,它仍然使用ExecutorServic

java - 以编程方式启动 Eclipse IApplication

有谁知道如何以编程方式启动EclipseIApplication?这是一个命令行应用程序,我想为它编写单元测试。它应该这样工作:org.eclipse.equinox.app.IApplicationapp=newmyApp();try{app.start(???);}catch(Exceptione){e.printStackTrace();}start方法需要一个IApplicationContext。我从哪里得到这个?非常感谢您的帮助 最佳答案 您使用OSGiApplicationDescriptor服务启动此类应用程序。在E

java - 如何以编程方式自定义 Eclipse 透视图?

我想做出与我在透​​View上右键单击并选择自定义以获取此窗口时得到的相同的行为我只想以编程方式为我的视角自定义菜单和工具栏。实际上,我只想删除我视角中的大部分菜单和工具栏,让它们在我切换到任何其他视角时再次显示你能帮我解决这个问题吗? 最佳答案 This指南展示了如何根据当前视角以编程方式自定义工具栏,并暗示菜单的解决方案非常相似。此外,屏幕截图中的UI代码可用here,并且可能包含一些有关如何操作的有用提示。 关于java-如何以编程方式自定义Eclipse透视图?,我们在Stack

java - 以编程方式检测 JVM 是否正在使用类共享?

一些JVM有ClassSharing选项设置。有没有办法以编程方式检测该选项是打开还是关闭?谢谢 最佳答案 我所知道的没有理智的方法来得到这个......您可以获得用于调用您的JVM的命令行并查找描述的标志here.如果您想做的只是强制关闭该功能,那很容易-需要关闭标志。请注意,此文档适用于1.5,它说共享还取决于所使用的垃圾收集器,因此您也需要推断出这一点(也可能,给定jvm版本、命令行、操作系统版本等等耐心:-)).您还需要在每个jvm供应商上解决这个问题。ibmjvm,例如usesdifferentflags