草庐IT

ignoring-library-code-while-debug

全部标签

java - 如何强制程序始终运行 while 循环的第一次迭代?

我正在编写一个程序来实现我在文献中找到的算法。在这个算法中,我需要一个while循环;while(solutionhaschanged){updateSolution();}为了检查while条件是否满足,我创建了一个名为copy的对象(与解决方案类型相同)。此副本是解决方案更新前的副本。因此,如果解决方案发生变化,则满足while循环中的条件。但是,在执行while循环时,我在为两个对象的条件找到最佳解决方案时遇到了一些问题,因为我从一个空解决方案(结果集)开始,并且当时副本也是空的(都调用了类的构造函数)。这意味着当执行while循环时,两个对象是相等的,因此不会执行while循环

java - 以编程方式(或替代方案)设置 Djava.library.path?

我希望以编程方式设置VM参数Djava.library.path。如果无法做到这一点,有什么替代方案(如果有的话)? 最佳答案 用这个方法很容易解决:publicstaticvoidaddLibraryPath(StringpathToAdd)throwsException{FieldusrPathsField=ClassLoader.class.getDeclaredField("usr_paths");usrPathsField.setAccessible(true);String[]paths=(String[])usrPat

java - 将循环(while 和 for)转换为流

我已经开始使用Java8并尝试将我代码中的一些循环和旧语法转换为lambda和流。因此,例如,我正在尝试将此while和for循环转换为流,但我没有做对:Listlist=newArrayList();if(!oldList.isEmpty()){//oldisaListIteratoritr=oldList.iterator();while(itr.hasNext()){Stringline=(String)itr.next();for(Map.Entryentry:map.entrySet()){if(line.startsWith(entry.getKey())){Stringn

Java+Eclipse : how do you debug a java program that is receiving piped/redirected stdin?

我正在使用Eclipse开发一个Java程序,我想我应该在我的程序中添加一个选项来在没有参数的情况下解析标准输入。(否则它解析一个文件)如果我执行"somecommand|java-jarmyjar.jar"并去调试,我会遇到问题......然后意识到我不知道如何在Eclipse中启动一个进程.如果我在命令提示符下运行它,我无法附加到正在运行的进程,因为该进程会立即启动。关于如何调试有什么建议吗?编辑:看,问题是,我最初编写我的程序是为了采用文件名参数。然后我认为它也采用stdin会很有用,所以我确实从我的程序中抽象了InputStream(正如Queue先生所建议的)。它在文件(ja

java.lang.OutOfMemoryError : Java heap space while initialising an array 错误

我正在尝试初始化一个大小为10位整数的boolean类型数组。它不断抛出OutOfMemoryException。我已将eclipse的堆空间大小从256增加到1024。有什么我想做的吗?intsize=1000000000;boolean[]primesList=newboolean[size]; 最佳答案 使用java.util.BitSet,与使用boolean数组相比,它会将位打包在八分之一的空间中。boolean数组元素占用1个字节而不是1位的原因是因为(大多数)CPU架构不提供直接读取和写入内存的各个位的能力。PC可以操

java - JNA UnsatisfiedLinkError - 当我将 java.library.path 设置为虚假值时有效

在Linux上使用JNA4.0.0,我试图加载一个本地库(libmean.so),它位于lib子目录中(该库是只是一个计算两个数字的平均值的简单示例)。我运行以下代码(在Eclipse中),在运行配置中设置了-Djna.library.path=lib。importcom.sun.jna.Library;importcom.sun.jna.Native;publicclassMean{publicinterfaceMeanLibextendsLibrary{MeanLibINSTANCE=(MeanLib)Native.loadLibrary("mean",MeanLib.class)

java - toString() : for debugging or for humans?

classAddress{privateenumComponent{NUMBER,STREET,STATE,COUNTRY}privateMapcomponentToValue=...;}我希望我的类包含两个方法:一个用于指示每个地址组件的值(这样我可以在出现任何问题时进行调试)。一个以人类期望的形式返回地址:“1600AmphitheatreParkwayMountainView,CA94043”。Object.toString()的最佳实践是什么?它主要用于#1还是#2?这些方法的命名是否有最佳实践? 最佳答案 您会在SMS消息

java - JPA 类格式错误 "Absent Code attribute in method that is not native or abstract in class file javax/persistence/Persistence"

当我尝试调用100%工作代码时,我从eclipse中得到错误。例如,它在我的netbeans中工作,但不是这个eclipse项目。这个错误是荒谬的,我几乎可以肯定它是由我正在使用的OPENJPA的一些Maven依赖性引起的。任何指针?Mapproperties=newHashMap();properties.put(PersistenceUnitProperties.JDBC_PASSWORD,"");properties.put(PersistenceUnitProperties.JDBC_USER,"root");properties.put(PersistenceUnitProp

Java 性能与代码风格 : Making multiple method calls from the same line of code

我很好奇在同一行代码中打包多个和/或嵌套方法调用是否会提高性能,这就是为什么一些开发人员这样做的原因,但代价是降低了代码的可读性。例如//likeSetjobParamKeySet=jobParams.keySet();IteratorjobParamItrtr=jobParamKeySet.iterator();也可以写成//dislikeIteratorjobParamItrtr=jobParams.keySet().iterator();就我个人而言,我讨厌后者,因为它在同一行中进行多次计算,而且我很难阅读代码。这就是为什么我试图尽一切办法避免对每行代码进行多次评估。我也不知道j

java - 如何退出Java循环?基本猜谜游戏中的 while 循环

我正在尝试编写一个小游戏,但一直停留在如何提示用户是否想再次玩以及如何退出循环如果他们不想再次玩......importjava.util.Random;importjava.util.Scanner;publicclassGuessinggame{publicstaticvoidmain(String[]args){System.out.println("Welcometoguessinggame!\n"+"Youmustguessanumberbetween1and100.");while(true){RandomrandomNumber=newRandom();Scannerg=