我知道并不是线程安全的。我试图对TreeMap和做一个比较。下面显示了我使用的代码,我想确定我得到的错误是否是由于TreeMap而不是线程安全,而不是因为其他原因。
线程中的异常“池-1-线程-52”在java.util.TreeMap.rotateLeft(TreeMap.java:2060) at java.util.TreeMap.fixAfterInsertion(TreeMap.java:2127) at java.util.TreeMap.put(TreeMap.java:574)在ThreadTestTreeMap$1.run(ThreadTestTreeMap.java:39
我对NullPointerException有一个小问题,我无法真正理解它。
我的代码运行24/7,运行良好,但我有一个异常,在应用程序启动后1天到1周之间随机弹出。
下面是堆栈跟踪:
java.lang.NullPointerException
at java.util.LinkedList.get(LinkedList.java:477)
at com.ch4process.acquisition.ScenarioWorker.eventHandling(ScenarioWorker.java:97)
at com.ch4process.acquisition.ScenarioWorker
嗨,我做了一个扩展线程的东西,它添加了一个有IP的对象。然后,我创建了这个线程的两个实例并启动了它们。他们使用相同的列表。
现在我想使用同步来停止并发更新问题。但它不起作用,我想不出原因。
我的主修班:
import java.util.*;
import java.io.*;
import java.net.*;
class ListTest2 {
public static LinkedList<Peer> myList = new LinkedList<Peer>();
public static void main(String [] ar
错误如下所示
Exception in thread "Thread-1" java.lang.NullPointerException
at java.util.LinkedHashMap$Entry.remove(LinkedHashMap.java:332)
at java.util.LinkedHashMap$Entry.recordAccess(LinkedHashMap.java:356)
at java.util.LinkedHashMap.get(LinkedHashMap.java:304)
at Server.getLastF
我正在使用gwt2.2,遇到以下异常: 18:43:48.896错误,无法通过延迟绑定创建'package.DMS‘的实例
java.lang.RuntimeException: Deferred binding failed for 'package.client.FileServiceAsync' (did you forget to inherit a required module?)
at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:53)
at com.go
我有多个文件和类。简单地说,一个类将计算一个粒子的位置,而另一个类将移动粒子。我遇到的问题是,粒子在第一个类完成计算之前就被移动了。我尝试使这两个方法同步,但似乎没有什么不同,是不是因为它们在不同的类中?做这件事最好的方法是什么?
编辑:我根本没有使用线程,只是看起来它在并行运行多个方法。
编辑2:下面是我的代码的概要
MovingParticle.java
public int x, y;
public void shootParticle(){
//move particle and change x, y values
//this method is called by a tim
我遇到了GWT的一个问题:
异常堆栈如下所示:
Caused by: java.lang.RuntimeException: Deferred binding failed for 'com.cme.reg.fltrs.common.service.AnnouncementService' (did you forget to inherit a required module?)
at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:53)
at com.google.gwt.c
我在用Java写简单的塔防御游戏。下面是一种方法,它查找从派生(在构造函数中设置)到最近基的路径。
public int[] findPath(Field startField) {
ArrayList<TestMonster> monsrs = new ArrayList<TestMonster>();
TestMonster first = new TestMonster(startField.getCenter(), getStartingDirection(startField), new int[0]);
monsters.add(fi
我试图用多线程来解决Java中的生产者/消费者问题,但是我一直陷入僵局,我不知道为什么。
BoundedBuffer.java
public class BoundedBuffer {
private final int[] buffer;
private final int N;
private int in = 0;
private int out = 0;
private int itemCount = 0;
public BoundedBuffer(int size) {
N = size + 1;
b
java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at com.alpha.beta.purchasing.item.VendorItemList.loadItems(VendorItemList.java:51)
at com.alpha.beta.purchasing.Shipment.loa
我正在尝试编译一个java文件。它被称为"Main.java“。当我使用javac Main.java时,我得到以下错误:
javac: not a file: Main.java
Usage: javac <options> <source files>
use --help for a list of possible options
我确实发现很多其他人得到了file not found,但从来没有一个不是文件。在Windows10下使用来自oracle的最新jdk (新下载)。
在99%的情况下,工作正常,有时应用程序被最小化,而我重新打开它时会出现异常:
java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0 at java.util.ArrayList.throwIndexOutOfBoundsException
for (int i = 0; i < list.size(); ++i)
{
description.setText(list.get(i).getStreet()); //this line Exception
}
我在onSta
ReentrantLock使用什么样的机制?我正在努力弄清楚它在Java飞行记录下会出现在哪里。我的期望是锁将在Java等待部分下,但情况似乎并非如此。
背景:
我试图通过捕获java飞行记录来调试有问题的ReentrantLock。锁本身非常简单:
public class SomeClass {
private final ReentrantLock lock = new ReentrantLock();
public void capture() {
boolean exclusive = someFunction();
try {
if (ex