Tag: 运行时

是否可以获取类的所有子类?

可能重复: 如何在Java中找到给定类的所有子类? 嗨, 我想获得一个在运行时用Java实现接口的类列表,这样我就可以进行查找服务而无需对其进行硬编码。 有一个简单的方法吗? 我不担心。

Java:将类转换为不相关的接口

显然,这会导致编译错误,因为Chair与Cat无关: class Chair {} class Cat {} class Test { public static void main(String[] args) { Chair chair = new Char(); Cat cat = new Cat(); chair = (Chair)cat; //compile error } } 那么为什么我在运行时只将Cat引用转换为不相关的接口Furniture时才会出现exception,而编译器显然可以告诉Cat不实现Furniture? interface Furniture {} class Test { public static void main(String[] args) { Furniture f; Cat cat = new Cat(); f = […]

如何在Java中更改光标图标?

我想在Java应用程序执行时将光标图标更改为我自定义的32×32图像。 我查找并搜索,我发现的只是在JComponent上设置光标。 但是,只要Java应用程序仍在运行,或者您可以说程序运行时,我希望将光标更改为指定的图标,无论它在何处移动,浏览和单击。 非常感谢。

如何通过reflection阅读Javadoc注释?

我需要知道如何在运行时读取Javadoc注释(可能是通过reflection?) 说我有以下function: /** * function that do some thing */ public void myFunc() { //… } 在运行时,我可以通过reflection获得有关此函数的大量信息。但是无法读取注释。 所以问题是,如何在运行时阅读这个javadoc注释。

如何模糊图像?

我正在尝试在java游戏上实现模糊机制。 如何在运行时创建模糊效果?

从IntelliJ Ultimate外部运行时,Tomcat的“服务器日志”在哪里?

在macOS Sierra上从IntelliJ Ultimate 2017.2外部在Tomcat 8.5上运行我的Vaadin应用程序时,收到一条错误消息: 神器时计-ui:战争爆炸:神器部署期间出错。 有关详细信息,请参阅服 ➠这个’服务器日志’在哪里? 当我查看apache-tomcat-8.5.20 > logs ,该文件夹为空。 实际上,我找不到在apache-tomcat-8.5.20部署我的应用程序的任何痕迹。 ➠还有一些其他地方IntelliJ + Tomcat放置我的应用程序和服务器日志? “日志”对话框的屏幕截图”>

从java程序运行jar文件

我试图从另一个Java程序执行jar文件。 我使用以下代码: try { Runtime runtime = Runtime.getRuntime(); runtime.exec(“path upto jar”); } catch (Exception ex) { JOptionPane.showMessageDialog(null, “Exception occured” + ex); } 但它不起作用。 我试过谷歌,它给了我使用ProcessBuilder的例子,但这也没有用。

在运行时加载jar

我试图在运行时将jar文件添加到classpath。 我用这个代码 public static void addURL(URL u) throws IOException { URLClassLoader sysloader = (URLClassLoader) ClassLoader .getSystemClassLoader(); Class sysclass = URLClassLoader.class; try { Method method = sysclass.getDeclaredMethod(“addURL”, parameters); method.setAccessible(true); method.invoke(sysloader, new Object[] { u }); System.out.println(u); } catch (Throwable t) { t.printStackTrace(); throw new IOException(“Error”); } } 系统输出打印此url: file:/B:/Java/Tools/mysql-connector-java-5.1.18/mysql-connector-java-5.1.18/mysql-connector-java-5.1.18-bin.jar 我仔细检查了这条路,这个jar子存在。 即使这个测试显示com.mysql.jdbc。 驱动程序类存在。 javap -classpath “B:\Java\Tools\mysql-connector-java-5.1.18\ mysql-connector-java-5.1.18\mysql-connector-java-5.1.18-bin.jar” […]

关于java:从`String.class`得到`String .class`,如果`String.class`是“运行时类型”怎么办?

这是一个变量Class cls ,现在我想获得另一个组件类型为cls Array Class Object 。 例如,如果cls = String.class ,我想得到String[].class ; 如果cls = int.class ,我想得到int[].class ,我该怎么办? 你看,从String[].class获取String.class非常容易String[].class : Class arrayCls = String[].class; if(arrayCls.isArray()){ Class cls = arrayCls.getComponentType(); } 但我找不到简单的方法来做相反的事情。 这是一个可能的解决方案: Class clazz = String.class; Class arrayClass = Array.newInstance(clazz,0).getClass(); 请问有什么方法可以做到这一点吗?

有没有办法在运行时获取类的字节码?

在Java中,是否有一种方法(在运行时)获取定义特定类的字节码? 换句话说,有没有办法在加载特定类时获取传递给ClassLoader.defineClass(String name, byte[] b, int off, int len)的byte[]数组? 我看到这个方法被声明为final ,因此创建一个自定义ClassLoader来拦截类定义似乎是不可能的。 在过去,我使用类的ClassLoader通过getResourceAsStream(String)方法获取字节码,但我更喜欢更规范的解决方案。