Tag: ibm jvm

使用SSL访问Web服务时出错

我有一个应该将文件发送到Web服务的程序,这需要SSL连接。 我按如下方式运行程序: SET JAVA_HOME=C:\Program Files\Java\jre1.6.0_07 SET com.ibm.SSL.ConfigURL=ssl.client.props “%JAVA_HOME%\bin\java” -cp “.;Test.jar” ca.mypackage.Main 这很好,但是当我改变第一行时 SET JAVA_HOME=C:\Program Files\IBM\SDP\runtimes\base_v7\java\jre 我收到以下错误: com.sun.xml.internal.ws.client.ClientTransportException: HTTP transport error: java.net.SocketException: java.lang.ClassNotFoundException: Cannot find the specified class com.ibm.websphere.ssl.protocol.SSLSocketFactory at com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:119) at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:140) at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:86) at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:593) at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:552) at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:537) at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:434) at com.sun.xml.internal.ws.client.Stub.process(Stub.java:247) at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:132) at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:242) at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:222) at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:115) at $Proxy26.fileSubmit(Unknown Source) […]

如何检测String.substring是否复制字符数据

我知道对于Oracle Java 1.7更新6及更高版本,当使用String.substring ,会复制String的内部字符数组,对于旧版本,它将被共享。 但我发现没有官方API会告诉我当前的行为。 用例 我的用例是:在解析器中,我喜欢检测String.substring复制还是共享底层字符数组。 问题是,如果共享字符数组,那么我的解析器需要使用new String(s)显式“取消共享”以避免内存问题。 但是,如果String.substring仍然复制数据,那么这不是必需的,并且可以避免在解析器中显式复制数据。 使用案例: // possibly the query is very very large String query = “select * from test …”; // the identifier is used outside of the parser String identifier = query.substring(14, 18); // avoid if possible for speed, // but needed if identifier internally // references […]