为什么DataOutputStream.writeUTF()在开头添加额外的2个字节?

当我尝试使用sax在套接字上解析xml时,我遇到了一个奇怪的现象。 经过分析,我注意到DataOutputStream在我的数据前添加了2个字节。 DataOutputStream发送的消息: 0020 50 18 00 20 0f df 00 00 00 9d 3c 3f 78 6d 6c 20 P.. …. .. yongmook kim..10 0000 使用Transformer发送消息: 0020 50 18 00 20 b6 b1 00 00 3c 3f 78 6d 6c 20 76 65 P.. …. yongmook kim 00a0 c2 a7 3c 2f 6e 69 […]

使用java HTTP POST连接发送图像文件

我正在尝试使用Java HTTP POST请求将图像发送到网站。 我正在使用此处使用的基本代码将文件从Java客户端上传到HTTP服务器 : 这是我的修改: String urlToConnect = “http://localhost:9000/upload”; File fileToUpload = new File(“C:\\Users\\joao\\Pictures\\bla.jpg”); String boundary = Long.toHexString(System.currentTimeMillis()); // Just generate some unique random value. URLConnection connection = new URL(urlToConnect).openConnection(); connection.setDoOutput(true); // This sets request method to POST. connection.setRequestProperty(“Content-Type”, “multipart/form-data; boundary=” + boundary); PrintWriter writer = null; try { writer = new PrintWriter(new OutputStreamWriter(connection.getOutputStream())); […]

JSF 2.0可以与Websphere应用程序服务器版本7.x一起使用

JSF 2.0可以与WebSphere Application Server V7.x一起使用吗? 如果是这样,怎么样?

Java的>>对比>>>运营商?

我没有Java参考书,我很难找到谷歌的答案。 Java中的“>>”和“>>>”运算符有什么区别? int value = 0x0100; int result = (value >> 8); System.out.println(“(value >> 8) = ” + result); // Prints: “(value >> 8) = 1” result = (value >>> 8); System.out.println(“(value >>> 8) = ” + result); // Prints: “(value >>> 8) = 1”

Tomcat:热部署新的jar

你能在Tomcat 5上热部署JAR文件吗? 我们的想法是避免重新启动Tomcat,并且仍然可以从新添加的JAR中加载(通过reflection)某些类。 可以吗? 怎么样? 生产系统是不可取的? 谢谢 编辑 :我的场景需要添加新的JAR文件,这些文件的名称事先是未知的。 服务器可以“观察”JAR目录而不是特定JAR吗?

Java 5 HTML转义为防止XSS

我正在研究Java应用程序中的一些XSS预防。 我目前有自定义的例程,它将转义存储在数据库中的任何HTML,以便在我的jsps中安全显示。 但是,如果可能的话,我宁愿使用内置/标准方法来执行此操作。 我目前没有编码发送到数据库的数据,但也希望开始这样做。 有没有内置的方法可以帮助我实现这一目标?

如何在XSD中为基类型生成@XmlRootElement类?

我在使用XJC从XSD生成具有适当JAXB注释的Java类时遇到一些问题。 我有一个相对简单的XSD文件来定义我的XML模式。 XSD中的复杂类型利用标记inheritance。 我遇到的问题是我需要所有复杂类型来生成带有@XmlRootElement Java类。 不幸的是,XJC生成类的方式意味着只有派生类才能获得@XmlRootElement (而不是基类)。 我使用简单的全局绑定指令来确保它解决了我在XJC面临的许多其他问题。 以下是XSD的示例代码段: 正如我们从上面的代码片段中看到的, EmailArtifact扩展了Artifact 。 EmailArtifact的java类代码包含以下内容: @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = “EmailArtifact”, propOrder = { “subject”, “threadSubject”, “from”, “to”, “cc”, “bcc”, “messageId”, “date”, “size”, “hasAttachment”, “sensitivity”, “headerHash” }) @XmlSeeAlso({ ExtendedEmail.class }) @XmlRootElement(name = “EmailArtifact”) public class EmailArtifact extends Artifact { protected String subject; protected String threadSubject; protected String from; protected […]

Java Applet可以发现多少硬件细节?

我正在编写一个Java applet,以便在不同的硬件下以不同的方式运行。 例如,如果我知道计算机有大量的RAM但处理器很弱,我可以改变一些时间内存权衡的平衡。 能够发现运行applet的CPU的确切品牌和型号可能会有所帮助。 拥有这些信息将使我能够针对不同的系统对我的软件进行基准测试并找到瓶颈。 一般来说我正在寻找的是: 核心和/或处理器的数量 32位与64位CPU CPU缓存行大小 L1,L2,L3缓存的大小 设置缓存的关联性 TLB的大小 关于CPU的精确制造/型号信息 FSB信息 RAM的数量 交换/虚拟内存量 正在运行applet的JVM 操作系统运行JVM 系统负载 已使用/未使用的Kernal线程数 互联网连接的带宽 内存可用 显卡正在使用中 如果正在显示操作系统 正在使用的网络资源 是否有任何此类信息都包含在Java Applet中。 是否有用于查找此类信息的库? Applet基准测试工具来发现/猜测其中的一些? 你能想到任何聪明的技巧吗? 他们的计算机硬件的任何方面都是阻塞的。 也就是说,Java applet可以通过尝试访问它并被拒绝(可能是特定的TCP端口或图形加速器)来检测某些内容正在使用或不可用。 免责声明:我知道关心硬件违背了不关心硬件的Java意识形态。 虽然评论指出这可能对其他阅读此问题的读者有所帮助,但请注意,这些答案并不是我想要的。 编辑 添加了其他信息: java.lang中。 management提供有关运行JVM的系统的各种信息。 java.lang.management。 OperatingSystemMXBean提供: getAvailableProcessors()可用处理器的数量等效Runtime.availableProcessors() getSystemLoadAverage()系统上的平均负载,即系统最后一分钟的平均负载。 java.lang.management。 ManagementFactory getGarbageCollectorMXBeans()返回GarbageCollectorMXBeans的列表。 可以查询每个GarbageCollectorMXBean以获取以下信息: getCollectionCount()使用此bean发生的gc数。 getCollectionTime()在gc之间经过的近似累计时间(以毫秒为单位)。 (注意:Java虚拟机实现可能使用高分辨率计时器来测量经过的时间。) getName()内存管理器的名称。 getMemoryPoolNames()此gc管理的内存池。 getThreadMXBean()返回ThreadMXBean ,它提供: getCurrentThreadCpuTime()以毫秒为单位返回当前线程的总CPU时间。 […]

Java Concurrency in Practice – 示例14.12

// Not really how java.util.concurrent.Semaphore is implemented @ThreadSafe public class SemaphoreOnLock { private final Lock lock = new ReentrantLock(); // CONDITION PREDICATE: permitsAvailable (permits > 0) private final Condition permitsAvailable = lock.newCondition(); @GuardedBy(“lock”) private int permits; SemaphoreOnLock(int initialPermits) { lock.lock(); try { permits = initialPermits; } finally { lock.unlock(); } } /* other code omitted…. […]

generics实际上意味着什么?

可能重复: List 在javagenerics中的含义是什么? Javagenerics的类型参数中的问号是什么意思? 道歉,但很难尝试搜索 。 Javagenerics有什么意义? 我理解和 ,但我以前从未见过这个问号。