小编M.J*_*.J.的帖子

如何在Java中在运行时创建动态类

是否可以在运行时更改其某些属性后从现有Java文件创建新的Java文件?

假设我有一个java文件

public class Student {
    private int rollNo;
    private String name;
    // getters and setters
    // constructor
}
Run Code Online (Sandbox Code Playgroud)

是否有可能创建这样的东西,只要它rollNo是表的关键元素?

public class Student {
    private StudentKey key;
    private String name;
    //getters and setters
    //constructor
}

public class StudentKey {
    private int rollNo;
    // getters and setters
    // construcotors
}
Run Code Online (Sandbox Code Playgroud)

请帮忙.谢谢.

java class dynamic

5
推荐指数
0
解决办法
6973
查看次数

解析xml文件时出现未知主机异常

当我试图解析一个xml时,我得到以下异常: -

java.net.UnknownHostException: hibernate.sourceforge.net
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at sun.net.NetworkClient.doConnect(Unknown Source)
    at sun.net.www.http.HttpClient.openServer(Unknown Source)
    at sun.net.www.http.HttpClient.openServer(Unknown Source)
    at sun.net.www.http.HttpClient.<init>(Unknown Source)
    at sun.net.www.http.HttpClient.New(Unknown Source)
    at sun.net.www.http.HttpClient.New(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
    at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source)
    at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown Source)
    at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
    at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
    at …
Run Code Online (Sandbox Code Playgroud)

java xml parsing

5
推荐指数
2
解决办法
2万
查看次数

native和increment id生成器类型之间的区别

我们在hibernate中使用native和输入incrementid生成器之间的基本区别是什么.

因为我有一个实体,其中发电机是previuosly native,但后来改变incremental了一段时间,它正常工作.但就在昨天,当我native再次进入时,插入失败了Contraint Violation.

我在id字段中设置了索引,这是自动生成的.

我在这里错过了一些东西.

谢谢

java hibernate id-generation

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

Log4j配置并观看无法正常工作

我在我的应用程序中使用log4j进行登录.从现在开始配置日志记录我使用以下代码:

LogManager.resetConfiguration();
InputStream stream = Thread.currentThread().getContextClassLoader().getResourceAsStream("log4j.properties"); 
Properties props= new Properties();
props.load(stream);
PropertyConfigurator.configure(props);
Run Code Online (Sandbox Code Playgroud)

但问题是,每当我想在此过程中更改日志记录级别时,我必须重新启动服务器.所以我将代码更改为: -

LogManager.resetConfiguration();
PropertyConfigurator.configureAndWatch(("log4j.properties", 900000L);
Run Code Online (Sandbox Code Playgroud)

理想情况下,此代码应该有助于在指定的时间后重新加载log4j.properties文件,我已经提到15分钟.但是代码仍然没有用

我在代码中错过了什么吗?

问候.

java log4j

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

遍历列表时获取ConcurrentException

我处于一个非常特殊的状态.我有一个如下列表: -

List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
Run Code Online (Sandbox Code Playgroud)

现在当我进行多种类型的遍历时,比如使用高级for,iterator和normal for循环,下面是示例代码片段: -

1>高级循环: -

try {
    for(String a : list) {
        System.out.println(a);
        list.add("f");
    }
} catch (Exception e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

2>迭代器: -

try {
    Iterator<String> itr =  list.iterator();
    while(itr.hasNext()) {
        System.out.println(itr.next());
        list.add("f");
    }
} catch (Exception e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

3>正常循环: -

for (int i=0;i<list.size();i++) {
    System.out.println(list.get(i));
    list.add("f");
}
Run Code Online (Sandbox Code Playgroud)

现在,一个特殊的问题是,当使用高级for循环和迭代器时,我得到以下异常: -

java.util.ConcurrentModificationException
    at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
    at java.util.ArrayList$Itr.next(Unknown Source)


the reason i know, that while iterating through a list, one …
Run Code Online (Sandbox Code Playgroud)

java foreach iterator for-loop list

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

从SQL存储过程创建/更改

我想从一个过程调用create table/alter table命令.可能吗?

我的要求是更改所有表中列的数据类型.所以,我只是从中获取列名user_tab_cols.现在我想创建一个需要create语句的临时表..但是我无法在proc中使用它.

有人可以帮帮我吗?

sql oracle plsql stored-procedures

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

如果守护程序线程正在运行,如何使程序保持活动状态?

我有一个要求,我想启动一个轮询器,它将一直运行,直到机器重新启动或进程被杀死.现在,我尝试使用shell脚本从主方法启动轮询器,但问题是,只要main方法完成执行,轮询器也会停止工作,因为我没有使用任何服务器来实现这一点.

我听说过一些事情daemon threads,但我想知道如何创建一个将永远运行的守护程序线程,并帮助我的轮询器也运行.

更新:

public class SomeThread extends Thread {

    @Override
    public void run() {
        UnitPoller unitPoller = new UnitPoller();
        unitPoller.doPolling();
    }

    public static void main(String[] args) {
        SomeThread someThread = new SomeThread();
        someThread.setDaemon(true);
        someThread.start();
    }
}
Run Code Online (Sandbox Code Playgroud)

上面是我更新的类,现在每当我从main方法执行此线程时,它都会创建一个线程但是一旦main方法的执行完成,我的poller就会停止工作,因为JVM关闭了.

有了这个问题,我该怎么办.

谢谢

java daemon

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

如何在|上拆分字符串 (管道)在Java中

我有一个字符串|serialNo|checkDelta?|checkFuture?|checkThis?|.

现在我使用以下代码分割字符串.

String[] splitString = str.split("|");

但是当我用这个,我得到一个包含每个字符串数组,而我需要包含了像字母串serialNo,checkDelta?,checkFuture?,checkthis?.

如何获得这些?我错过了什么吗?

java string split

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

如何使用反射更改属性值

是否可以使用反射更改类的属性值.

以下是我的班级: -

public class LoggerManager {

    private static LoggerManager _instance = new LoggerManager();

    private LoggerManager() {
    }

    public static LoggerManager getInstance() {
            return _instance; 
    }

    public Logger getLogger(String FQCN) {
        Logger logger =  Logger.getLogger(FQCN);
        logger.setLevel(Level.INFO);
        return logger;
    }
}
Run Code Online (Sandbox Code Playgroud)

我想_instance用反射改变变量的值..

基本上我想改变相同的值_instance = new NewLoggerManager();,

提供的 NewLoggerManager extends LoggerManager

是否有可能这样做,因为我知道如何调用方法,但如何做到这一点.. ???

java reflection

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

从Java调用C,C++程序

是否可以从Java代码调用C或C++代码,我可以用Java重新编写代码,但需要重用现有代码.

谢谢

c c++ java

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