Questions tagged «java»

Java是一种流行的高级编程语言。如果您在使用或理解语言本身时遇到问题,请使用此标签。这个标签很少单独使用,最常与[spring],[spring-boot],[jakarta-ee],[android],[javafx],[gradle]和[maven]结合使用。

12
如何在没有IllegalMonitorStateException的情况下在Java中使用等待和通知?
我有2个矩阵,我需要将它们相乘,然后打印每个单元格的结果。准备好一个单元格后,我就需要打印它,但是例如,即使[2] [0]的结果先准备好,我也需要在单元格[2] [0]之前打印[0] [0]单元格。所以我需要按顺序打印它。所以我的想法是让打印机线程等待,直到multiplyThread通知它准备打印正确的单元格,然后printerThread它将打印该单元格并返回等待状态,依此类推。 所以我有这个线程做乘法: public void run() { int countNumOfActions = 0; // How many multiplications have we done int maxActions = randomize(); // Maximum number of actions allowed for (int i = 0; i < size; i++) { result[rowNum][colNum] = result[rowNum][colNum] + row[i] * col[i]; countNumOfActions++; // Reached …

2
我们可以将字节数组转换为Java中的InputStream吗?
我们可以将字节数组转换为Java中的InputStream吗?我一直在寻找互联网,但找不到它。 我有一个具有InputStream作为参数的方法。 cph我拥有的InputStream 是base64编码的,因此我不得不使用 BASE64Decoder decoder = new BASE64Decoder(); byte[] decodedBytes = decoder.decodeBuffer(cph); 现在如何decodedBytes再次转换为InputStream?
129 java  base64  inputstream 

7
Byte []到InputStream或OutputStream
我的数据库表中有一个blob列,必须byte[]在Java程序中将其用作映射,并使用此数据将其转换为InputStream或OutputStream。但是我不知道这样做的时候内部会发生什么。有人能简要解释一下我进行此转换时发生了什么吗?

7
String类如何覆盖+运算符?
当String是类时,为什么在Java中可以使用+运算符添加String?在String.java代码中,我找不到此运算符的任何实现。这个概念是否违反了面向对象?
129 java  string  object 

3
Java GC(分配失败)
为什么总是“ GC(分配失败)”? 适用于linux-amd64 JRE(1.8.0_25 -b17)的Java HotSpot(TM)64位服务器VM(25.25- b02), CommandLine flags: -XX:CMSInitiatingOccupancyFraction=60 -XX:GCLogFileSize=10485760 -XX:+HeapDumpOnOutOfMemoryError -XX:InitialHeapSize=32212254720 -XX:MaxHeapSize=32212254720 -XX:NewRatio=10 -XX:OldPLABSize=16 -XX:ParallelGCThreads=4 -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintStringTableStatistics -XX:+PrintTenuringDistribution -XX:StringTableSize=1000003 -XX:SurvivorRatio=4 -XX:TargetSurvivorRatio=50 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParNewGC -XX:+UseConcMarkSweepGC 27.329: [GC (Allocation Failure) 27.329: [ParNew Desired survivor size 44728320 bytes, new threshold 15 (max 15) - age 1: 16885304 bytes, …

11
在Java中获取2D数组的数组长度
我需要获取行和列的2D数组的长度。我已经使用以下代码成功完成了此操作: public class MyClass { public static void main(String args[]) { int[][] test; test = new int[5][10]; int row = test.length; int col = test[0].length; System.out.println(row); System.out.println(col); } } 这将按预期打印出5、10。 现在看一下这一行: int col = test[0].length; 注意,实际上我必须引用特定的行才能获取列的长度。对我来说,这似乎非常丑陋。此外,如果数组定义为: test = new int[0][10]; 然后,当尝试获取长度时,代码将失败。有其他方法(更智能)吗?

4
如何使用JSONObject在Java中创建正确的JSONArray
如何使用JSONObject在Java中创建如下所示的JSON对象? { "employees": [ {"firstName": "John", "lastName": "Doe"}, {"firstName": "Anna", "lastName": "Smith"}, {"firstName": "Peter", "lastName": "Jones"} ], "manager": [ {"firstName": "John", "lastName": "Doe"}, {"firstName": "Anna", "lastName": "Smith"}, {"firstName": "Peter", "lastName": "Jones"} ] } 我找到了很多示例,但没有找到我确切的JSONArray字符串。
129 java  json  arrays 


11
覆盖Java System.currentTimeMillis以测试对时间敏感的代码
System.currentTimeMillis除了在主机上手动更改系统时钟外,是否可以通过代码或JVM参数覆盖通过(通过)显示的当前时间? 一点背景: 我们有一个系统,该系统运行许多会计工作,这些工作围绕其当前日期(即每月的1号,每年的1号等)进行逻辑转换。 不幸的是,许多传统代码都调用诸如new Date()或的函数Calendar.getInstance(),而这两个函数最终都调用到System.currentTimeMillis。 出于测试目的,现在,我们不得不手动更新系统时钟,以操纵代码认为正在运行测试的时间和日期。 所以我的问题是: 有没有办法覆盖返回的内容System.currentTimeMillis?例如,要告诉JVM在从该方法返回之前自动添加或减去一些偏移量? 提前致谢!
129 java  testing  jvm  systemtime 

11
intellij的想法-错误:java:无效的源版本1.9
我正在尝试运行我的JSQL解析器类,但是 Error: java: invalid source release 1.9。 我试图遵循这个答案。我更改了文件>构建,执行,部署> Java编译器>项目字节码版本:1.8。但是,我无法将模块语言级别和项目语言级别更改为1.8,因为没有选择。我仍然在下面收到相同的错误。 错误 码 package cs4321.project2; import java.io.FileReader; import net.sf.jsqlparser.parser.CCJSqlParser; import net.sf.jsqlparser.statement.Statement; import net.sf.jsqlparser.statement.select.Select; public class Parser { private static final String queriesFile = "resources/input/queries.sql"; public static void main(String[] args) { try { CCJSqlParser parser = new CCJSqlParser(new FileReader(queriesFile)); Statement statement; while ((statement …


2
从整数转换为BigInteger
我想知道是否有任何方法可以将Integer类型的变量转换为BigInteger。我尝试过类型转换Integer变量,但是却收到一条错误消息,指出不可转换的类型。
129 java  biginteger 


7
寻找最短路径时,广度优先搜索如何工作?
我已经进行了一些研究,但似乎缺少该算法的一小部分。我了解广度优先搜索的工作原理,但我不了解它如何将我带到特定的路径,而不是仅仅告诉我每个节点可以到达的位置。我想解释我的困惑的最简单方法是提供一个示例: 例如,假设我有一个这样的图形: 我的目标是从A到E(所有边均未加权)。 我从A开始,因为那是我的血统。我排队A,然后立即将A出队并对其进行探索。因为A连接到B和D,所以得到B和D。因此,我将B和D都排队。 我将B出队并进行探索,发现它导致了A(已经探索过)和C,因此我将C排队。然后出队D,发现它导致了我的目标E。然后我将C出队,并发现它也导致了我的目标E。 我从逻辑上知道最快的路径是A-> D-> E,但是我不确定广度优先搜索到底有多大帮助-我应该如何记录路径,以便在完成后可以分析结果并查看最短的路径是A-> D-> E? 另外,请注意,我实际上并没有使用树,因此没有“父”节点,只有子节点。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.