草庐IT

memory_compiler

全部标签

java - 在 Maven 构建中使用 Eclipse Java Compiler (ecj)

Eclipse使用它自己的编译器(ECJ)来编译Java代码。调试使用Eclipse编译的程序更容易,因为可以立即应用简单的代码更改(通过热代码替换)。另一方面,Maven使用(默认情况下)oracleJDK,它生成不同的字节码,防止在Eclipse调试session中进行热代码替换。所以如果我打算调试程序,我想在我的Maven构建中使用EclipseECJ编译器。对我来说一种方便的方法是“ecj”配置文件:编译发布$mvnpackage使用启用的热代码替换编译快照$mvn-Pecjpackage还可以在settings.xml中指定配置文件激活甚至Eclipse项目属性。我的问题是:

Java/Wicket 口 : Compile Basic Hello World with Resources

我正在关注这个HelloWorldWicket应用程序示例https://www.ibm.com/developerworks/web/library/wa-aj-wicket/特别是我将HelloWorld.html放在我的源目录中HelloWorld.java旁边。我的文件结构是这样的:$tree.├──pom.xml├──src│  ├──main│  │  ├──java│  │  │  └──com│  │  │  └──example│  │  │  └──wicket│  │  │  ├──HelloWorld.html│  │  │  ├──HelloWorld.jav

tongweb生成hprof文件并结合Memory Analyzer Mat分析内存溢出(by lqw)

什么是堆JVM中的堆(Heap)是Java虚拟机管理的内存中的一部分,它用于存储所有的Java对象实例。堆内存被所有线程共享,其目的是为了存放对象实例和数组。堆的大小在JVM启动时就已经设定好了,大家可以通过选项“-Xmx”和"-Xms"来进行设置。“-Xms”用于表示堆区的起始内存,等价于-xx:InitialHeapSize。“-Xmx”用于表示堆区的最大内存,等价于-xx:MaxHeapSize。一旦堆区中的内存大小超过"-xmx"所制定的最大内存时,将会抛出outofMemoryError异常。通常会将-Xms和-Xmx两个参数配置相同的值,其目的是为了能够在Java垃圾回收机制清理完

导致虚拟机故障的 Java 映射/nio/NFS 问题 : "a fault occurred in a recent unsafe memory access operation in compiled Java code"

我已经为特定的二进制格式(nfdump如果有人感兴趣)编写了一个解析器类,它使用了java.nio的MappedByteBuffer。读取每个几GB的文件。二进制格式只是一系列header和大部分固定大小的二进制记录,通过调用nextRecord()将其馈送到被调用方,nextRecord()会推送状态机,完成后返回null。它表现良好。它在开发机器上运行。在我的生产主机上,它可以运行几分钟或几小时,但似乎总是抛出“java.lang.InternalError:afaultoccurredinarecentunsafememoryaccessoperationincompiledJa

java - 类型安全配置 : encryption/obfuscation of sensitive values in memory

我有一个需要多个密码才能工作的Akka项目:访问数据存储、分布式文件系统连接字符串...这些值没有硬编码在配置文件中,而是在应用程序启动期间在运行时从keystore中提取,然后存储在类型安全配置对象的内存中,因为第三方使用此配置获取密码并打开连接。我只是想知道这是否有风险,因为我猜这些字符串在内存中是清晰的。有没有办法透明地混淆/加密这些值?或者我是否需要在我这边实现它,并更新第三方以便他们在实际打开连接之前转换字符串。 最佳答案 在我看来,几乎在每个应用程序中,您都不应该担心安全风险。由于Scala在JVM上运行,请参阅:Sen

java - Json.obj Scala,字符串连接 : Compilation error

我正尝试在Scala中做下一步,我正在使用play2:valstr="another"valr=Json.obj("error_type"->"invalid_request_error","validation_errors"->(Json.obj("code"->"thismode"+str+"doesnotexist","param"->"mode")))但它给了我错误:Type mismatch, expected: (String, Json.JsValueWrapper), actual: String但如果我这样做:valr=Json.obj("error_type"->

Java 泛型错误 : inconvertible types from command line compiler

我有一些使用泛型的Guice绑定(bind)代码,这些代码可以在Eclipse的编译器中正常编译和运行,但不能在Java(命令行)编译器中正常运行。我升级到最新的(1.7.0_01)JavaSDK,但仍然出现以下错误。[error]...\BindCategorySelectorActivity.java:42:error:inconvertibletypes[error](Class>>)CategoryDataProvider.class);[error]^[error]required:Class>>[error]found:Class[error]1error[error]{f

java - Eclipse 无法编译通用代码,但 mvn compile 有效

在带有jdk1.7的EclipseKepler4.2中,我在Eclipse中遇到以下错误:Themethodor(capture#2-of?)inthetypeOptionalisnotapplicableforthearguments(Object)而它在运行时编译成功mvncompile.类如下所示:packagetestit;importjava.util.Map;importjava.util.Map.Entry;importcom.google.common.base.Optional;publicclassTest{privatestaticfinalObjectNO_VA

java - 泛型混淆 : deceiving the compiler

考虑一段代码:publicclassGenericsConfusion{publicstaticClassget(Classclazz){Mapmap=newHashMap();map.put(Integer.class,String.class);returnmap.get(clazz);}publicstaticvoidmain(String[]args){Classclazz=get(Integer.class);System.out.println(clazz);}}它可以完美地编译和运行。这个想法是在get方法中返回与输入类具有相同类型参数的类。但由于map的存在,它被打破了

java - SonarQube Findbugs "needs sources to be compiled"

我正在尝试让SonarQubefindbugs正常工作,但是当我尝试运行它时出现错误:“Findbugs需要编译源代码。请在执行Sonar之前构建项目并检查编译类的位置。”sonar.sources设置为包含我所有src文件的文件夹,sonar.binaries设置为包含我所有类和jar文件的文件夹。此布局适用于我的一个项目的findbugs,但在另一个项目中出现上述错误。我该如何解决这个问题,FindBugs是否需要某个文件夹才能工作?谢谢。 最佳答案 添加属性sonar.binaries=${workspace}/proy/bu