草庐IT

native-methods

全部标签

java - 遍历列表,修改每个元素 : is there a faster method?

我有一个List的String,我想trim()列表的每个元素。目前,我正在使用ArrayList,对元素进行简单的循环,并将修剪后的元素添加到返回列表中,如下所示:intlistLen=listToTrim.size();ListtrimmedList=newArrayList(listLen);for(inti=0;i对于大型列表,是否有更有效的方法? 最佳答案 不,你很好。这与它的效率差不多。没有什么魔法可以避免迭代。有一点要记住,'不过:如果listToTrim不是随机访问列表(即它不实现RandomAccess),那么使用

java - 为什么 native String getBytes 方法比自定义实现的 getBytesFast 方法慢?

当运行以下代码时,JavaString的本地方法getBytes()的执行似乎比自定义的getBytesFast()慢/strong>实现。您可以使用Arrays.equals(str.getBytes(),getBytesFast(str))来验证两个字节数组是否相等。getBytesFast实现是本编程技巧文章(1997年)中包含的实现的修改版本:http://java.sun.com/developer/technicalArticles/Programming/Performance/我正在寻找一个有据可查的答案,说明为什么native实现比自定义实现慢。packagecom.

java.lang.ClassFormatError : Duplicate method name&signature in class file 错误

我们正在将我们的应用程序从Weblogic10.3.0升级到10.3.6。当我们尝试部署它时,我们收到错误:java.lang.ClassFormatError:Duplicatemethodname&signatureinclassfile...经过进一步调查,我们发现问题是由如下代码引起的:interfaceFoo{voidfoo();}interfaceBar{voidfoo();}interfaceBazextendsFoo,Bar{}BazEJBimplementsBaz....这会导致在Baz中生成2个foo方法....ELOImpl.class,这会在我们尝试部署ear文

Java Web Start - 使用另一个 native 依赖项加载 native 依赖项

我正在使用JavaWebStart启动依赖于某些第三方native库的Java应用程序。然后,这些native库随后使用LoadLibrary/dlopen加载另一个native库(commonLib)作为它们的依赖项。当不使用WebStart时,当native库位于同一目录时,一切都按预期工作。但是,WebStart要求将native库打包到jar文件中并在jnlp文件中引用,我就是这么做的:native库加载正常,但它们无法加载其依赖项commonLib-C++LoadLibrary/dlopen调用失败,因为该文件存在于某个jar/cache文件夹中,而不是在当前库搜索路径上。在

java - 谷歌分析 - 缺少 OAuth2Native 类

我正在尝试运行一个来自https://developers.google.com/analytics/solutions/articles/hello-analytics-api的简单示例访问Google分析数据。从https://code.google.com/p/google-api-java-client/downloads/list下载了javaapi-librarygoogle-api-java-client-1.17.0-rc.zip,示例代码显示编译错误:privatestaticfinalHttpTransportHTTP_TRANSPORT=newNetHttpTra

java - 如果缺少 @PreAuthorize 注释,则 Spring Security : Deny access to controller methods,

我有一个Web应用程序配置为以标准方式使用SpringSecurity3.2。我正在使用@PreAuthorize注释来保护Controllers方法。现在,我想拒绝访问每个Controller方法除非它被注释为@PreAuthorize。我尝试了以下方法:superController每个Controller都从一个带有注释的superController扩展:@PreAutorize("denyAll")。这种方法似乎不起作用,因为Controller的方法注释被忽略了。一切都被禁止。@PreAutorize("denyAll")publicclassSuperController

java - 带有 native 代码的多核 Java 程序

我在Java程序中使用nativeC++库。Java程序是为使用多核系统而编写的,但它无法扩展:最好的速度是在6个内核左右,即添加更多内核会减慢速度。我的测试表明,对native代码的调用本身会导致问题,因此我想确保不同的线程访问native库的不同实例,从而消除并行任务之间的任何隐藏(内存)依赖性。换句话说,而不是静态blockstatic{System.loadLibrary("theNativeLib");}我想为每个线程动态加载库的多个实例。主要的问题是这是否可能。然后怎么做!注意事项:-我在Java7fork/join以及Scala/akka中都有实现。因此,感谢每个平台的任

Java 泛型 : how to get a generic type from a method?

虽然我的问题是关于Java泛型的,但我已经放了一些与JPA相关的代码来向您展示真实的上下文。我正在使用JPA2.0和基于CriteriaAPI的查询。我所有的查询都遵循相同的模式(比较简单的属性;不需要路径导航),所以我试图编写一个通用类来处理JPA,同时将业务逻辑保留在单独的类中。我的目标是有一个方法,给定一个实体类型和一个存储定义标准的对(字段名称->期望值)的映射,返回一个具有某些实体字段值的bean(或bean集合).我所有的实体都实现了Persistible接口(interface),而我所有的传输对象都继承自QueryBean.我认为那些类与问题无关,因此我跳过了它们的代码

java - 卡在 java.net.SocketInputStream.socketRead0(Native Method)

我在java.net.SocketInputStream.socketRead0(NativeMethod)上卡住了。请看下面的线程转储,它已经处于这种状态3个小时了。Thread-0"prio=10tid=0x00007facd02a5000nid=0x309runnable[0x00007facd4a43000]java.lang.Thread.State:RUNNABLEatjava.net.SocketInputStream.socketRead0(NativeMethod)atjava.net.SocketInputStream.read(SocketInputStream.

java - 从 Java 6 升级到 Java 7 时 native 堆上出现 OutOfMemoryError

我们最近将我们的大型网络应用程序(在jboss5上运行)从java6升级到java7。几小时内,我们看到了OutOfMemory错误,看起来是native堆用完了。我们运行的是32位JVM,因此限制为4GB,而JVM分配了2GB。在Java6下,整个进程占用了大约2.3GB,但在Java7中,这个数量大大增加了,我们达到了4GB的限制,但没有触发完整的GC,因为Java堆仍未满。堆栈跟踪显示XML解码代码在每个请求上创建新的SAXParserFactory,用于解压缩jar文件的Inflater类将大量数据存储在native堆中(约200,000个Inflater实例)。这让我觉得效率