我可以找出java程序是使用java还是javaw启动的

这与其他用户的早期问题有关,询问如何检测代码是否在eclipse IDE中运行 。 我注意到Eclipse总是使用javaw而不是java来启动程序。 (这并不意味着用Eclipse启动了一个用Eclipse启动的程序)。 我可以找到使用的参数 RuntimeMXBean RuntimemxBean = ManagementFactory.getRuntimeMXBean(); List lst = RuntimemxBean.getInputArguments(); for (int i = 0; i < lst.size(); i++) System.out.println(lst.get(i)); 但这并没有告诉我它是使用java还是javaw启动的。 有没有办法找出它是使用java还是javaw启动的? 为什么Eclipse使用javaw来启动程序?

奇怪的PNG错误:IHDR块的长度不正确

inheritance人错误: Exception in thread “main” javax.imageio.IIOException: I/O error reading PNG header! at com.sun.imageio.plugins.png.PNGImageReader.readHeader(PNGImageReader.java:307) at com.sun.imageio.plugins.png.PNGImageReader.readMetadata(PNGImageReader.java:637) at com.sun.imageio.plugins.png.PNGImageReader.readImage(PNGImageReader.java:1212) at com.sun.imageio.plugins.png.PNGImageReader.read(PNGImageReader.java:1560) at javax.imageio.ImageIO.read(ImageIO.java:1422) at javax.imageio.ImageIO.read(ImageIO.java:1282) at Bundle.iconExists(Bundle.java:139) at Bundle.dPhIconExists(Bundle.java:158) at BundleAnalyzer.supports6(BundleAnalyzer.java:14) at TheifReader.(TheifReader.java:14) at TheifReader.main(TheifReader.java:63) Caused by: javax.imageio.IIOException: Bad length for IHDR chunk! at com.sun.imageio.plugins.png.PNGImageReader.readHeader(PNGImageReader.java:239) … 10 more 以及导致它的代码: bimg = ImageIO.read(icons[i]); icons是一个文件数组。 奇怪的是,我的电脑可以在任何图像浏览器中读取图像。 谷歌搜索错误没有给我带来任何结果。 我需要阅读大量图像,除了将图像转换为BufferedImage之外,还有另一种获取图像尺寸的方法吗? 这会解决问题吗? […]

强制基本方法调用

Java或C#中是否有强制inheritance类来调用基础实现的构造? 你可以调用super()或base()但是如果没有调用它可能会抛出编译时错误吗? 那会很方便.. – 编辑 – 我主要是对重写方法感到好奇。

JAVA:处理sockets断开连接

两台计算机通过套接字连接。 如果服务器/客户端从它们的末端关闭连接(即关闭InputStream , OutputStream和Socket ),那么如何通知另一端断开连接? 我知道有一种方法 – 尝试从InputStream读取,如果连接关闭则抛出IOException ,但有没有其他方法可以检测到这种情况? 另一个问题,我在互联网上看了问题,看到inputStream.available()没有解决这个问题。 这是为什么? 附加信息:我要求另一种方式,因为如果我必须尝试从InputStrem读取以检测断开连接,我的项目将变得难以处理。

如何在JavaFX中监听Stage的resize事件?

我想在窗体的resize事件(或Scene或Stage无论它是什么)上执行一些function。 但是如何在JavaFX中检测表单的resize事件?

奇怪的InetAddress.isReachable()问题

我的工作是为零售环境开发适用于网络摄像机的软件。 我的团队正在开发的软件之一是一个网络服务器,它可以检索由摄像机本身(具有自己的嵌入式网络服务器)以HTML格式生成的各种报告并存储在摄像机上。 然后,我们的软件将从相机中获取这些报告并将其存储在中央网络服务器上。 虽然我们很好地将摄像机的IP插入到我们的软件中,但我正在开发一个简单的Java类,它将查询网络并找到网络上的所有摄像机。 但问题是,虽然它在我的PC和我的同事的PC上运行得很好,但是当我们尝试在将托管我们软件的实际网络服务器PC上运行它时…它会运行,但说子网中的每个IP都处于脱机状态/ unreachable除网关IP外。 例如,如果我在插入封闭的局域网时从我的PC或我的同事PC运行它,我会发现以下有效的IP以及一个告诉我它是否是相机的标志。 (网关是192.168.0.1,子网掩码是255.255.255.0,这意味着需要查找全部256个设备) IP:/192.168.0.1 Active:true Camera:false IP:/192.168.0.100 Active:true Camera:true <- this is camera 1 IP:/192.168.0.101 Active:true Camera:true <- this is camera 2 IP:/192.168.0.103 Active:true Camera:false <- my PC IP:/192.168.0.104 Active:true Camera:false <- this is our webserver 但出于某种原因,当使用相同的JRE从Web服务器PC运行相同的程序时,我只能找到以下内容 IP:/192.168.0.1 Active:true Camera:false 现在我的代码,而不是在主线程上按顺序枚举每个IP,而是为每个要检查的IP创建一个单独的线程并同时运行它们(否则在整个IP范围内枚举将花费21分钟以上)超时5000ms / IP)。 然后主线程反复每15秒重新运行这些IP扫描线程。 我已经检查过所有线程都在所有PC上运行完成,没有exception被抛出。 甚至证实没有线程被卡住。 每个线程从开始到完成大约需要5001到5050ms,那些具有活动IP的线程会更快完成(> 5000ms),所以我知道它在ipAddr.isReachable(5000)方法中正确等待了整整5000ms。 我和我的同事在这一点上很难过,而在我们的电脑上运行似乎可以达到那些活跃的IP,但是没有得到网络服务器PC的响应? 我们已经排除了防火墙问题,管理员访问问题等。唯一的区别是我们的网络服务器是嵌入式Win […]

在java中的套接字上发送屏幕截图(bufferedImage)

我在socket上发送bufferedImage,我正在使用这篇文章中的示例: 寄件人 BufferedImage image = ….; ImageIO.write(image, “PNG”, socket.getOutputStream()); 接收器 BufferedImage image = ImageIO.read(socket.getInputStream()); 它工作 – 如果,只有在这一行之后我关闭发送者的outputStream: ImageIO.write(image, “PNG”, socket.getOutputStream()); 除了关闭outputStream之外我还能做些什么吗? 另外,我还能做些什么来避免使用ImageIO吗? 似乎需要很长时间才能做任何事情。 另请注意,由于性能问题,应该不惜一切代价避免读取或写入硬盘。 我需要尽快进行这种传输,(我正在尝试并尝试创建类似于VNC的客户端并将每个屏幕截图保存到硬盘上会大大减慢一切) @Jon Skeet 编辑3: 发件人:(请注意,我发送的JPG图像不是PNG)。 int filesize; OutputStream out = c.getClientSocket().getOutputStream(); ByteArrayOutputStream bScrn = new ByteArrayOutputStream(); ImageIO.write(screenshot, “JPG”, bScrn); byte[] imgByte = bScrn.toByteArray(); bScrn.flush(); bScrn.close(); filesize = bScrn.size(); out.write(new String(“#FS ” […]

如何用JNI或JNA阅读窗口标题?

希望重新回到发展空间; 主要使用Java来调用一些原生的win32函数(我不想在.NET中构建)…. 有人能指出我可以使用Java(JNI / JNA / SWIG)从不同的运行窗口读取标题的地方。 假设您将知道您尝试连接的应用程序在内存空间中的位置。

如何在JTable中添加JCheckBox?

首先,我为我的英语疏忽道歉,我将解释我的所有问题。 首先,我想要JTable中的JCheckBox。 我正在从索引0和1列中的数据库中检索学生ID和学生姓名。我希望第三列应该是缺席/现在,这将最初取决于学生是否存在JCheckbox Value。 这里是JTable值的代码: Attendance.java /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package shreesai; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.Vector; /** * * @author Admin */ public class Attendance{ Connection con = Connectdatabase.ConnecrDb(); public Vector getEmployee()throws Exception { Vector<Vector> employeeVector […]

android 4.3蓝牙ble不叫onCharacteristicRead()

我已经将通知设置为android,它没有调用方法onCharacteristicRead() ???? 它不会进入该function。 为什么会这样? 任何帮助表示赞赏 请求解决方案。 这是我的代码: private final BluetoothGattCallback mGattCallback = new BluetoothGattCallback() { @Override public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) { if (newState == BluetoothProfile.STATE_CONNECTED) { Log.i(TAG, “Connected to GATT server.”); // Attempts to discover services after successful connection. Log.i(TAG, “Attempting to start service discovery:” + mBluetoothGatt.discoverServices()); } else if (newState […]