小编Ale*_*exR的帖子

实例变量同步

在下面的示例中,锁定是在实例变量employee上获得的(不在此),但在进入synchronized块时,TestClass1的Threads仍然被锁定.任何建议为什么这种行为.据我所知,如果它同步就应该被锁定.

public class TestClass{
  public static void main(String args[]){
    TestClass1 obj = new TestClass1();
    Thread t1 = new Thread(obj, "T1");
    Thread t2 = new Thread(obj, "T2");
    t1.start();
    t2.start();
  }
}

class TestClass1 implements Runnable{

Employee employee = new Employee();

public void myMethod () {
    synchronized (employee) {
        try {
            Thread.sleep(4000L);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

public void myOtherMethod() {
    synchronized (employee) {
        try {
            Thread.sleep(4000L);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

@Override
public …
Run Code Online (Sandbox Code Playgroud)

java multithreading thread-synchronization

2
推荐指数
1
解决办法
5580
查看次数

简单的java程序出错

我正在努力自学java,在使用类编写代码时遇到了这个错误

Exception in thread "main" java.util.NoSuchElementException
    at java.util.Scanner.throwFor(Unknown Source)
    at java.util.Scanner.next(Unknown Source)
    at java.util.Scanner.nextDouble(Unknown Source)
    at StateCalculator.getOperand(StateCalculator.java:29)
    at StateCalculator.main(StateCalculator.java:77)
Run Code Online (Sandbox Code Playgroud)

以下是我的代码:

import java.util.Scanner;


public class StateCalculator {
    private double currentValue = 0;

    //Initialize to 0
    public StateCalculator() {
    }

    public static int displayMenu() {
        Scanner keyboard = new Scanner(System.in);
        int menuChoice = 0;

        do {
            System.out.print("Menu\n 1. Add\n 2. Subtract\n 3. Multiply\n 4. Divide\n 5.Clear\n 6. Quit\n What would you like to do?: ");
            menuChoice = keyboard.nextInt();
        } while(menuChoice < 1 …
Run Code Online (Sandbox Code Playgroud)

java

2
推荐指数
1
解决办法
147
查看次数

使用Singleton模式的多线程环境中是否存在任何问题?

我已经实现了Singleton类,如下所示:

public class Singleton {

    private static  Singleton instance = null;


    private Singleton() { 
    }

private synchronized static void createInstance() {
    instance = new Singletone();
}


    public static Singleton getInstance() {
        if(instance == null){
            createInstance();
        }
        return instance;
    }

}
Run Code Online (Sandbox Code Playgroud)

但我想知道它是否是单例的正确实现.多线程环境中是否有任何问题.

java singleton multithreading design-patterns

1
推荐指数
2
解决办法
2763
查看次数

Java编码问题

我正在为我的"java简介"编程课程做一个代码,我遇到了一个错误,我真的不知道如何修复.我一直有错误说:

unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown
                Scanner fileIn = new Scanner(hours);
Run Code Online (Sandbox Code Playgroud)

这是代码:

import java.util.Scanner;

import java.io.File;

public class program2{

    public static void main(String[] args)  { 

        int[][] array = new int [8][7];
        int[] total = new int [array.length];
        int[] finalTotal = new int[array.length];
        int[] employees = {0,1,2,3,4,5,6,7};


        File hours = new File("prog2.dat"); //read file
        Scanner fileIn = new Scanner(hours);//assign hours to array


        while(fileIn.hasNext()){
            for(int i = 0; i < 8; i++) {
                for (int a …
Run Code Online (Sandbox Code Playgroud)

java arrays multidimensional-array

1
推荐指数
1
解决办法
74
查看次数

for-each和for循环

有几次我遇到过for-each循环会导致问题的情况,包括异常和崩溃,而for(it=list.iterator;it.hasNext();)没有任何问题.这包括修改集合(我知道不应该为每个集合发生,但不知道为什么)以及我克隆东西的其他情况.不记得任何具体的例子,我只是想到了它.

for-each只是我指向的第二个循环类型的快捷方式吗?有人可以解释那里的差异究竟是什么?

java loops

0
推荐指数
1
解决办法
411
查看次数

一个字符串中的多个方法?

我想对一个字符串使用两种方法,就像这样

outputLabel.setText(firstname.charAt(0) + toLowerCase());

如何让它在特定位置返回字符并将字符串转换为小写?

我希望输出是单个字符,转换为小写,并在一行上.

非常感谢!

java string methods line

0
推荐指数
1
解决办法
1827
查看次数

Netty客户端是否仅使用netty服务器?

我正在尝试开发一个客户端,使用自定义协议与生物识别设备进行通信,但似乎没有任何效果.我正在使用MessageToByteEncoder和MessageToByteDecoder来处理输入和输出数据:

public class PacketDecoder extends ByteToMessageDecoder {
    @Override
    protected void decode(ChannelHandlerContext context, ByteBuf input, List<Object> out) throws Exception {
        System.out.println("readable bytes: " + input.readableBytes());
        if (input.readableBytes() >= 1) {
            if (input.getByte(0) != DataCodes.START_BYTE) {
                input.readByte();
                return;
            }
        }
        if (input.readableBytes() >= 3) {
            byte command = input.getByte(2);
            boolean extendedLenght = (command & 0x80) == 0x80;
            short dataLength;
            int headerLength;
            if (extendedLenght) {
                byte[] dataLengthBytes = new byte[2];
                input.getBytes(3, dataLengthBytes);
                dataLength = Utils.getShort(dataLengthBytes);
                headerLength = 5;
            } else {
                dataLength = …
Run Code Online (Sandbox Code Playgroud)

java netty

0
推荐指数
1
解决办法
556
查看次数

用于生成基于正则表达式的随机字符串的Java代码

用于生成基于正则表达式的随机字符串的Java代码.我试过generex库,但它没有提供准确的输出.例如:

       Generex generex = new Generex("^[6-9]\\d{9}$");
       System.out.println(generex.random());
Run Code Online (Sandbox Code Playgroud)

输出是:^ 8677547981 $,而我期望输出为8677547981.似乎generex无法处理像"^","$"等特殊字符.

有人可以帮忙吗?

java

0
推荐指数
1
解决办法
3924
查看次数

迭代地添加到Hash Map

for(int i=0; i< n; i++) {
    hashMap.put("Name",name.get(i));
    hashMap.put("Website",website.get(i));
}
Run Code Online (Sandbox Code Playgroud)

我想迭代地向HashMap添加多个值我希望我的输出是这样的

  1. 姓名:Anna网站:www.anna.com
  2. 姓名:kayden网站:www.kayden.com
  3. 姓名:fred网站:www.fred.com
  4. 姓名:乔治网站:www.george.com

我如何添加到hashmap,我没有得到预期的结果.

java hashmap

-4
推荐指数
1
解决办法
348
查看次数