java中程序的入口点通常是这样的
// MyMain.java
public class MyMain{
//whatever
public static void main(String args[]){
System.out.println("balderdash");
}
}
Run Code Online (Sandbox Code Playgroud)
但是,由于main中只有一个SOP,因此上述类可能是这样的
// MyMain.java
public class MyMain{
//whatever
static {
System.out.println("balderdash");
}
}
使用main(...)的一个明显优点是参数可以传递给程序.另一个(我在这里猜测)可能与垃圾收集器有关,不同地处理在静态块中创建的对象.
使用语言定义的入口点还有其他好处 - public static void main(String args [])而不是使用静态初始化程序.
ps上述代码段仅供参考,可能无法编译
我正在考虑允许模块在属性文件中使用类; 就像是
availableModules.properties
Contact=org.addressbook.ContactMain
Business=org.addressbook.BusinessMain
Notes=org.addressbook.Notes
Run Code Online (Sandbox Code Playgroud)
...
我的框架将使用反射来实例化相关模块,然后在相关基类上调用方法,或者根据需要将对象作为参数传递.
编辑这是我想到的那种场景的另一个例子.
确定呼叫点需要一些核心代码.我看到的一个应用程序通过使用反射实现了这一点,另一个应用程 您是否认为前者是可以应用反射的推荐方案?
javadoc for
Executors.newSingleThreadScheduledExecutor
Run Code Online (Sandbox Code Playgroud)
说"...保证返回的执行程序不可重新配置以使用其他线程".
上述句子是什么意思?这是否意味着返回的实例可能没有嵌套线程?
下面的代码使用javamail API来访问gmail,
String host = "pop.gmail.com";
int port = 995;
Properties properties = new Properties();
properties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
final javax.mail.Session session = javax.mail.Session.getInstance(properties);
store = session.getStore("pop3s");
store.connect(host, port, mCredentialaNme, mCredentialApss);
// ***************************************************************
Folder personalFolders[] = store.getDefaultFolder().list( "*" );
// ***************************************************************
for (Folder object : personalFolders) {
// ***********************************
System.out.println( object.list("*") );
// ***********************************
if ((object.getType() & javax.mail.Folder.HOLDS_MESSAGES) != 0){
object.open(Folder.READ_ONLY);
Message messes[] = object.getMessages();
System.out.println(object.getFullName());
System.out.println("====================");
for (Message object1 : messes) {
System.out.println(object1.getFrom() + " - " + object1.getSubject());
}
object.close(false); …Run Code Online (Sandbox Code Playgroud)