小编Buh*_*ndi的帖子

如果线程不会自行停止,如何停止?

在java Runnable中,我通常会写一个循环,就像

while(running) {
   ......
}
Run Code Online (Sandbox Code Playgroud)

然后设置运行以false使线程停止.但是如果runnable是一个没有任何循环的漫长过程,并且不能被任何标签控制.如何让线程在另一个线程中停止?

谢谢

java multithreading

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

jdbc 连接与java,单例连接对象还是spring jdbc 连接?

我正在用 java 操作 postgresql 数据库。请帮我选择一个开发实践。

我必须吗:

  • 创建一个 jdbc 单例对象?
  • 为每个请求创建一个新连接?
  • 或使用 jdbc api for spring 框架?

哪个是最佳实践?

java sql postgresql spring jdbc

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

如何在servlet中处理UTF-8编码的字符串

在寻找连续4个小时后,我不得不放弃并问你们.我有一个非常简单的表单,它将接受输入和操作,将其写入我的Oracle DB(支持UTF-8).

<form action="test.jsp" method='GET' accept-charset="UTF-8">
    <label for='NAME'>Name</label><input type="text" id="NAME" name="NAME"/>
    <button type="submit">Submit</button> 
 </form>
Run Code Online (Sandbox Code Playgroud)

我想要做的就是能够接受é?等字符的表单,并在不改变编码的情况下存储它们.

我已经尝试(和组合)选项,如设置

request.setCharacterEncoding("UTF-8");

或使用编码参数构建新的String:

new String(request.getParameter("NAME").getBytes(), "UTF-8")

但它总是在数据库中像这样结束:??????(输入??)

任何有关该主题的帮助将不胜感激.

java jsp tomcat servlets utf-8

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

Java泛型 - 接受<?的方法不允许使用类型为T的对象.延伸T>

在下面的例子中,编译器在行上抱怨:handler.handle(info); 有错误:

Event.Handler类型中的方法句柄(捕获#3-of?extends T)不适用于参数(T)

即使在这种情况下处理程序被声明为接受T的任何子类,编译器也不会接受类型为T本身的方法调用.

public class Event<T> {
    public interface Handler<U> {
        public void handle(U info);
    }

    private final Handler<? extends T> handler;
    private final T info;

    public Event(Handler<? extends T> handler, T info) {
        this.handler = handler;
        this.info = info;
    }

    public void doEvent() {
        handler.handle(info);
    }
}
Run Code Online (Sandbox Code Playgroud)

此示例的另一个有趣功能是,如果键入:"handler".在eclipse中,给出了以下建议"handle(null info):void".不知何故,类型'null'被建议为可接受的类型.

从命令行使用javac进行编译仍会产生类似的错误,因此这不仅仅是一个eclipse问题.

我的问题:

  1. 这是java编译器的正确行为吗?
  2. 如果这是正确的行为,我应该怎么做以保持我的事件类的类型安全?
  3. 什么是null类型?

java generics

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

线程"main"中的异常java.lang.NoSuchMethodError:java.lang.Character.isAlphabetic(I)Z

我正在尝试运行一个在我自己的计算机上正常运行的.jar,但在其他人身上给出了以下异常.

Exception in thread "main" java.lang.NoSuchMethodError: java.lang.Character.isAlphabetic(I)Z
    at chatai.Word.shrinkEndPunct(Word.java:91)
    at chatai.Word.createWord(Word.java:36)
    at chatai.ChatAI.addSentence(ChatAI.java:54)
    at shared.Initializer.main(Initializer.java:130)
Run Code Online (Sandbox Code Playgroud)

我之前从未见过(I)Z部分,有谁知道这意味着什么?我已经尝试过更新Java了.

java jar executable-jar nosuchmethoderror

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

在Java中进行编程的最有效方法

好吧,假设你有一个简单的程序,它采用字母az,如果你输入"c"它会做一些事情,例如"e"可能会添加2个随机数,"h"显示单词"hello","x"显示时间等

现在,我试图通过26种不同的方法来解决这个问题,每个字母一个,然后是一个主体代码,扫描用户输入然后调用适当的方法.

现在他们显然有100种方法可以解决这个问题,但我正在考虑的主要问题是你可以有26个if或者一个switch语句(例如,if(userInput.equals("a"))然后调用方法a等).或者我正在考虑的另一种方法是使用标记为az的方法,然后让用户输入"f"而不是检查它是哪个字母而不是信任用户并完全调用他们输入的字母.

例如:

- >用户输入Y.

userInput = y;

userInput(); - (这实际上是调用y(),这是一个方法名称).

我相信有一种方法可以使用"反思"来阅读这里,但我听说要避免过早优化,但在这种情况下,这不是最合乎逻辑的事情吗?

java logic

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

Java - 在保留所有文件属性的同时复制JPG

在保持其所有属性(创建日期,日期等)的同时移动/复制文件的最佳方法是什么?

谢谢

java jpeg copy

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

Struts + Spring + Hibernate集成

例如,我们有下一堆:Struts,Spring,Hibernate.你能帮我理解每个元素所起的作用吗?

我知道这Hibernate对数据库的所有人负责.

但是,什么样的作用Struts,并Spring在这种情况下?

谢谢.

java spring struts hibernate

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

在Java中创建一个数组作为参数的对象

好吧,我真的很陌生,我甚至不确定我问的是正确的问题,但我想创建一个具有一些regualr值的对象,如字符串和整数等.但另外我想要一个属性是一个像这样的字符串数组:

int hp =100;
int level =1;
int exp=0;
String[] items = {"hpPot","blank","blank","blank","blank"};
return new player(level, exp, hp, name, items[] );
}
Run Code Online (Sandbox Code Playgroud)

这不起作用,至少我想确切知道原因.

谢谢.

java arrays string variables object

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

装饰模式与调用超级方法相同吗?

这是装饰模式的一个例子.

public class Computer {
public String Description(){
    return "Computer";
}
}

public abstract class Decorator extends Computer{
public abstract String description();
}

public class Monitor extends Decorator{

Computer computer;
public Monitor(Computer c){
    computer = c;
}

public String description() {
    return computer.Description() + " and Monitor";
}
}

public class main {
public static void main(String args[]){
    Computer c = new Computer();
    Monitor m = new Monitor(c);
    System.out.println(m.description());
}
}
Run Code Online (Sandbox Code Playgroud)

调用超类的超级方法是否相同?比如当监视器从计算机继承然后调用监视器类中的Description方法内的计算机类中的super.Description()?

java design-patterns

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