是否可以在运行时更改其某些属性后从现有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)
请帮忙.谢谢.
当我试图解析一个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) 我们在hibernate中使用native和输入incrementid生成器之间的基本区别是什么.
因为我有一个实体,其中发电机是previuosly native,但后来改变incremental了一段时间,它正常工作.但就在昨天,当我native再次进入时,插入失败了Contraint Violation.
我在id字段中设置了索引,这是自动生成的.
我在这里错过了一些东西.
谢谢
我在我的应用程序中使用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分钟.但是代码仍然没有用
我在代码中错过了什么吗?
问候.
我处于一个非常特殊的状态.我有一个如下列表: -
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) 我想从一个过程调用create table/alter table命令.可能吗?
我的要求是更改所有表中列的数据类型.所以,我只是从中获取列名user_tab_cols.现在我想创建一个需要create语句的临时表..但是我无法在proc中使用它.
有人可以帮帮我吗?
我有一个要求,我想启动一个轮询器,它将一直运行,直到机器重新启动或进程被杀死.现在,我尝试使用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关闭了.
有了这个问题,我该怎么办.
谢谢
我有一个字符串|serialNo|checkDelta?|checkFuture?|checkThis?|.
现在我使用以下代码分割字符串.
String[] splitString = str.split("|");
但是当我用这个,我得到一个包含每个字符串数组,而我需要包含了像字母串serialNo,checkDelta?,checkFuture?,checkthis?.
如何获得这些?我错过了什么吗?
是否可以使用反射更改类的属性值.
以下是我的班级: -
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
是否有可能这样做,因为我知道如何调用方法,但如何做到这一点.. ???