我有一个简单的类,它启动3个线程并在每个线程中保存一个新对象.但我得到了一些我无法理解的异常.任何人都可以帮助我理解为什么例外?
package test;
import java.util.Date;
import org.hibernate.Session;
import domain.Event;
import util.HibernateUtil;
public class EventBeanTest {
public static void main(String [] args) {
Event e1 = new Event();
e1.setTitle("111");
e1.setDate(new Date());
Event e2 = new Event();
e2.setTitle("222");
e2.setDate(new Date());
Event e3 = new Event();
e3.setTitle("333");
e3.setDate(new Date());
Thread t1 = new Thread(new EventRunnable(e1));
Thread t2 = new Thread(new EventRunnable(e2));
Thread t3 = new Thread(new EventRunnable(e3));
t1.setName("event - 111");
t2.setName("event - 222");
t3.setName("event - 333");
t1.start();
t2.start();
t3.start();
}
}
class EventRunnable …Run Code Online (Sandbox Code Playgroud) 我今天在接受采访时被问到这个问题.我尝试了一个解决方案,但想知道是否有更好的解决方法:
问题:我有一个arraylist说500,000个元素,使得arraylist的每个元素的值与索引相同.例如:list.get(0)= 0; list.get(1)= 1 ...等.但只有一个元素与此排序不同步[即list.get(i)!= i].你怎么找到这个元素.
我的答案:使用多个线程迭代列表,每个线程处理一个arraylist的某个拼接,每次比较list.get(i)和i.找到元素后,设置一些布尔变量以向其他线程指示已找到该元素.
有没有办法解决这个问题而不迭代列表?还是更好的方法?
这是一种真正了解何时使用 LinkedList 的尝试;
据我了解,由于 java.util.LinkedList 不支持随机访问,获取第 n 个元素的唯一方法是从 1 跳到 (n-1) 或使用本身效率很低的 get(n)。那么为什么要使用 LinkedList 呢?除非您想使用 ListIterator 从双方迭代集合,否则 ArrayList 将在大部分情况下使用?
我有一个"登录"域对象:
public class Login extends AuditEntity {
private static final long serialVersionUID = -309839789761736747L;
private String userName;
private String password;
private Timestamp lastLogin;
private Set customers = new HashSet(0);
private Set addresses = new HashSet(0);
public Set getCustomers() {
return this.customers;
}
public void setCustomers(Set customers) {
this.customers = customers;
}
public Set getAddresses() {
return this.addresses;
}
public void setAddresses(Set addresses) {
this.addresses = addresses;
}
//Other setter, getters
Run Code Online (Sandbox Code Playgroud)
这是来自hibernate映射文件的片段:
<set name="customers" fetch="select" lazy="false">
<key>
<column name="LoginID" />
</key> …Run Code Online (Sandbox Code Playgroud) 我有这个swing客户端 - 服务器应用程序.
我想以编程方式模拟' Ctrl + Shift + f1 '效果并写入我的log4j日志文件,查看我为加载调试目的而加载的某些帧.我打电话打开这个选项是否有摆动方法?我该怎么做呢?
或者在加载和写入日志文件时是否有更好的方法来了解布局?
谢谢.
java ×5
hibernate ×2
algorithm ×1
awtrobot ×1
collections ×1
jpa ×1
orm ×1
swing ×1
transactions ×1