import java.util.LinkedList;
import java.util.Scanner;
import java.util.InputMismatchException;
import java.util.*;
class Customer {
public String lastName;
public String firstName;
public Customer() {
}
public Customer(String last, String first) {
this.lastName = last;
this.firstName = first;
}
public String toString() {
return firstName + " " + lastName;
}
}
class HourlyCustomer extends Customer {
public double hourlyRate;
public HourlyCustomer(String last, String first) {
super(last, first);
}
}
class GenQueue<E> {
private LinkedList<E> list = new LinkedList<E>();
public void enqueue(E item) {
list.addLast(item);
}
public E dequeue() {
return list.poll();
}
public boolean hasItems() {
return !list.isEmpty();
}
public boolean isEmpty()
{
return list == null;
}
public E removeFirst(){
return list.removeFirst();
}
public E getFirst(){
return list.getFirst();
}
public int size() {
return list.size();
}
public void addItems(GenQueue<? extends E> q) {
while (q.hasItems()) list.addLast(q.dequeue());
}
}
public class something {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String input1;
String input2;
int choice = 1000;
GenQueue<Customer> empList;
empList = new GenQueue<Customer>();
GenQueue<HourlyCustomer> hList;
hList = new GenQueue<HourlyCustomer>();
do{
System.out.println("================");
System.out.println("Queue Operations Menu");
System.out.println("================");
System.out.println("1,Enquene");
System.out.println("2,Dequeue");
System.out.println("0, Quit\n");
System.out.println("Enter Choice:");
try{
choice = sc.nextInt();
switch(choice){
case 1:
do{
System.out.println("\nPlease enter last name: ");
input1 = sc.next();
System.out.println("\nPlease enter first name: ");
input2 = sc.next();
hList.enqueue(new HourlyCustomer(input1, input2));
empList.addItems(hList);
System.out.println("\n"+(input2 + " " + input1) + " is successful queued");
System.out.println("\nDo you still want to enqueue?<1> or do you want to view all in queue?<0> or \nBack to main menu for dequeueing?<menu>: ");
choice = sc.nextInt();
}while (choice != 0);
System.out.println("\nThe customers' names are: \n");
while (empList.hasItems()) {
Customer emp = empList.dequeue();
System.out.println(emp.firstName + " " + emp.lastName + "\n" );
int choose=100;
System.out.println("\nGo back to main?<1=Yes/0=No>: \n");
choose = sc.nextInt();
if(choose == 1){
continue;
}
else
{
break;
}
}
break;
case 2:
if (empList.isEmpty()) {
System.out.println("The queue is empty!");
}
else{
System.out.println("\nDequeued customer: " +empList.getFirst());
empList.removeFirst();
System.out.println("\nNext customer in queue: " +empList.getFirst()+"\n");
}
break;
default:
System.out.println("Invalid choice");
}
}
catch(InputMismatchException e){
System.out.println("Please enter 1-5, 0 to quit");
sc.nextLine();
}
}while(choice != 0);
}
}
这个问题是由于JVM不能保留足够的内存空间造成的,这意味着您的OS没有足够的内存来启动JVM,这个内存是由java_opts
vmargs参数设置的。
您可以尝试减少-xmx
和-xms
指定的内存。
有关XMS
、XMX
的详细信息
我试着做一个我的世界服务器,使用我看到人们告诉别人使用纸API的建议。所以我得到了所有的文件,我给它分配了512 MB的内存(使用-Xmx512M),它运行得非常好!但是它遇到了内存的限制太多,所以我试着把它推到3 GB(使用-Xmx3G)。(对于我使用它的目的来说,这有点过分,但它会帮助我晚上睡觉,因为我知道我有一个没有遇到问题的服务器),但后来我遇到了Java根本不想启动的问题。 我实验了一下
VM初始化期间出错,无法为对象堆保留足够的空间 请检查为中的gradle进程定义的JVM参数: 格拉德尔。项目根目录中的属性
问题内容: 每次尝试运行该程序时,我都会反复收到以下异常。 VM初始化期间发生错误 无法为对象堆保留足够的空间 无法创建Java虚拟机。 我试图增加虚拟内存(页面大小)和RAM大小,但无济于事。 如何消除此错误? 问题答案: 使用或任意数量)(或简称)运行JVM
当我运行时,每次尝试运行程序时,我都会反复遇到以下异常。 Liferay v6.1 CE 服务器 (Tomcat 7) 在本地主机上所需的多个端口(8005、8080、8009)已在使用中。服务器可能已在另一个进程中运行,或者系统进程可能正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。 我试图增加我的虚拟内存(页面大小)和ram大小。但是现在不行了,我用的是win 7 64位,ja
这是在“Gradlew Build”期间在Android Studio中发生的。 错误:“VM初始化时发生错误,无法为3174400KB对象堆保留足够的空间”(3.18GB) 项目文件夹本身只占用1.1GB,所以我不知道这是怎么可能的。 更新:这个问题似乎已经自行解决。