如果变量在调试Java时在IntelliJ IDEA中具有名称“this $ 0”,这意味着什么?

我试图通过在调试模式下运行名为testSendStream的测试并在测试执行时逐步执行代码来了解此 Functional Reactive Java库。 上面的快照显示有一个名为this$0的奇怪命名变量。 这个名字来自哪里? 这个名字是什么意思? 为什么这个变量有这个名字? 给它这个名字背后的原因是什么? 当然这个名称不是来自代码本身,它是由IntelliJ或javac / java生成的。 但为什么 ? 如果我通过标签Mystery Object标记此对象,那么看到会发生什么也很有趣。

Java instanceof运算符

是否有一个可以与instanceof运算符一起使用的有效类Type变量? 例如: String s = “abc”; Class classType = String.class; if (s instanceof classType) { //do something } 作为替代方案: if (s.getClass() == classType) { //do something } 是否会有任何性能优势?

错误com.xuggle.ferry.JNILibraryLoader – 无法加载库:xuggle-xuggler; 版本:3;

我最近从这个链接下载了Xuggler Tutorial:Frames Capture和Video Creation的代码,我在项目中添加了运行此代码所需的所有.jar文件但是,当我运行此代码时,我得到了错误: 这是我的代码: package xug; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import com.xuggle.mediatool.IMediaReader; import com.xuggle.mediatool.MediaListenerAdapter; import com.xuggle.mediatool.ToolFactory; import com.xuggle.mediatool.event.IVideoPictureEvent; import com.xuggle.xuggler.Global; public class VideoThumbnailsExample { public static final double SECONDS_BETWEEN_FRAMES = 10; private static final String inputFilename = “e:/low_light.mp4”; private static final String outputFilePrefix = “e:/Frames/processedImages”; // The video stream index, […]

使用PreparedStatement在Java中插入blob数据

我使用以下代码在数据库中插入图像。 它将存储两个图像,因为我使用了PreparedStatement和Statement 。 当我运行此代码时,我在数据库中获得两个图像。 但这两个图像是不同的,我不明白为什么。 使用PreparedStatement ,它完全插入。 我想在使用Statement时拥有相同的图像。 为什么它现在不起作用,我怎样才能使它工作? import java.io.*; import java.sql.*; public class Image { public static void main(String args[]) throws Exception { System.out.println(“kshitij”); Class.forName(“com.mysql.jdbc.Driver”); Connection cn=DriverManager.getConnection(“jdbc:mysql://localhost:3306/jsfdb”,”root”,”kshitij”); Statement st=cn.createStatement(); File f1=new File(“c:\\k1.jpg”); FileInputStream fin=new FileInputStream(f1); //DataInputStream dataIs = new DataInputStream(new FileInputStream(f1)); PreparedStatement pst = cn.prepareStatement(“insert into registration(image) values(?)”); //pst.setInt(1,67); pst.setBinaryStream(1,fin,fin.available()); pst.executeUpdate(); //int length=(int)f1.length(); […]

如何将参数传递给JavaFX应用程序?

我正在运行我的JavaFX应用程序: public class MainEntry { public static void main(String[] args) { Controller controller = new Controller(); Application.launch(MainStage.class); } } MainStage类扩展了Appication 。 Application.launch在一个特殊的FX线程中启动我的JavaFX窗口,但在我的main方法中,我甚至没有我的MainStage类的实例。 如何将非String参数(在我的情况下为控制器 )传递给MainStage实例? 这是一个有缺陷的设计吗?

如果main方法在java文件的“非公开类”里面怎么办?

我有一个包含多个类的java文件,其中一个是公共的。 如果main方法在非公共类中。 我无法运行该java文件。 这是为什么? 并且没有编译错误。 如果是这样,我该如何使用该主要方法?

三元运算符不工作

Netbeans说我的三元运算符不是声明。 怎么来的? int direction; direction = (Math.random() < 0.5) ? 0 : 1; // direction is either L or R (0 or 1) direction == 0 ? System.out.print('L') : System.out.print('R'); 我试过它是if / then / else对应的并且它工作正常: int direction; direction = (Math.random() < 0.5) ? 0 : 1; // direction is either L or R (0 or […]

Kryonet数据包未发送

所以我正在尝试kryonet,发送自定义数据包,但我服务器中的监听器似乎无法接收它。 server.addListener(new Listener() { @SuppressWarnings(“unused”) public void received(Connection connection, Object object) { System.out.println(“received”); if (object instanceof Packet) { Packet p = (Packet) object; System.out.println(p.name); } } }); 发送: Packet p = new Packet(); p.name = “test”; client.sendTCP(p); 通过其他线程读取,我尝试使用new Thread(client).start(); 而不是client.start(); ,我已经将空构造函数添加到我的数据包类中,但是客户端要么连接,要么挂起并且永远不会断开连接(如果我正在使用新的线程(客户端).start())或连接然后立即断开连接(如果我是使用client.start())。 什么都没有打印过。 任何帮助表示赞赏。

为什么Hibernate 4.2使用jandex和classmate,如果它的Maven POM将它们定义为测试范围?

我正在用Hibernate开发一个简单的例子,在任何容器之外使用它。 我正在使用Maven,因此配置了JBoss存储库(请参阅https://community.jboss.org/wiki/MavenGettingStarted-Users )并将以下依赖项添加到我的项目的POM中: org.hibernate hibernate-core 4.2.0.CR1 com.h2database h2 1.3.170 然后我继续配置Hibernate来使用像这样的H2数据库(文件hibernate.cfg.xml): org.h2.Driver jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1;MVCC=TRUE sa 1 org.hibernate.dialect.H2Dialect org.hibernate.cache.internal.NoCacheProvider true update 最后,我为一个简单的联系人类创建了一个POJO,如下所示: @Entity public class Contact { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @Basic private String name; @Basic private String email; /* Getters and setters omitted for brevity. */ } 最后,我创建了一个获取会话工厂,会话并最终持久化实体的类。 代码如下: ServiceRegistry registry = new ServiceRegistryBuilder().configure().buildServiceRegistry(); […]

使用OGNL 在Struts 2中使用2个操作参数创建动态URL

如果我有一个url: www.myurl.com/books并希望能够通过传递Sartre和1942作为参数来创建新的过滤作者和年份: www.myurl.com/books/Sartre/1942到动作类,它将使书页显示适当的结果。 如何在Struts2中执行此操作? 我有后端逻辑,所以如果: 我可以重用与永久链接www.myurl.com/books使用的相同的jsp和动作类。 即使在get请求加载了页面之后, www.myurl.com/books/Sartre/1942在地址栏中显示动态呈现的URL www.myurl.com/books/Sartre/1942 (即www.myurl.com/books )。