子线程阻止java中的父线程

public static void main(String[] args) throws Exception { new Thread(new Runnable() { public void run() { while(true) { try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(“Hello”); } } }).run(); System.out.println(“Bye”); } 在主要的thead中,我创建了一个新的线程,它将每秒打印“你好”。 为什么最后的“再见”从未打印过? 换句话说,为什么子线程阻塞主线程?

实例方法和变量的情况下javainheritance解析

根据java,实例方法解析基于参数的运行时类型。 但在解析实例变量时,它使用不同的方法,如下所示。 节目输出是…… Child Parent ParentNonStatic 这里第一个输出基于参数的运行时类型,但第三个输出不是。 谁可以解释一下这个? public class Child extends Parent { public static String foo = “Child”; public String hoo = “ChildNonStatic”; private Child() { super(1); } @Override String please() { return “Child”; } public static void main(String[] args) { Parent p = new Parent(); Child c = new Child(); //Resolving method […]

如何在不缓冲输入的情况下从InputStream中读取一行?

我有一个InputStream,它包含一行作为字符串,然后是二进制数据。 如果我使用new BufferedReader(new InputStreamReader(inputStream))读取该行,则也会读取二进制数据并且无法重新读取。 如何在不读取二进制数据的情况下读取一行?

Eclipse:LD_LIBRARY_PATH,OpenJDK和libjpeg

在我的开发机器(Linux)上,我根本没有设置LD_LIBRARY_PATH ,因为我正在使用的库是在默认目录中,或者我已经将它们添加到ld.conf 。 但是当我使用Eclipse时,我的LD_LIBRARY_PATH被设置为: “/usr/lib/jvm/java-6-openjdk/jre/lib/i386/client: /usr/lib/jvm/java-6-openjdk/jre/lib/i386: /usr/lib/xulrunner-1.9.2.17: /usr/lib/xulrunner-1.9.2.17” (为了便于阅读,添加了换行符)。 我不介意xulrunner,但OpenJDK导致我的应用程序加载 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libjpeg.so 代替 /usr/lib/libjpeg.so 这导致后续失败,因为OpenJDK中的那个是6b,而我正在使用libjpeg 8。 我知道我可以在编译C ++时覆盖LD_LIBRARY_PATH ,但是当我尝试执行链接我刚​​刚编译的共享库的Python代码时它就会失败。 如何更改此全局LD_LIBRARY_PATH ?

无法在服务器上创建目录。 许可问题?

我使用lucene来存储一些数据的索引。 以下代码检查/ home / username中目录的存在,如果找不到,则从头开始构建索引,创建目录等。 public static final String INDEX_PATH = “/home/username/appname/lucene/index”; private void buildCompleteIndex(int organizationId) { synchronized(mutex) { File path = new File(INDEX_PATH + “/” + String.valueOf(organizationId)); if(!path.exists()) { try { Utils.deleteDirectory(path); } catch (IOException e) { throw new LuceneIndexException(“Error rebuilding index directory.”, e); } path.mkdirs(); } List contactList = contactDAO.findAll(organizationId, true); if(contactList != […]

Struts2将列表数据从JSP发送到Action类:替代方式

我正在向同事解释如何使用索引从JSP页面获取列表数据以返回到操作类,如此处和此处所述 。 他不太理解并且自己摸索了一下,直到突然他没有使用指数让它成功! 在他的JSP页面中,他有: 在他的动作课上,他有“适当的”制定者: public List getContactNameList() public void setContactNameList(List list) 我很困惑为什么这项工作。 我认为这是有效的,因为他发送非bean数据(在这种情况下是字符串),并且有一个智能构建到Struts2 / OGNL中,以便将值附加到列表而不是覆盖它们。 任何人都可以详细解释这个“无指数”案件背后的问题吗? 如何使用上面的代码段实例化和填充字符串列表?

如何使用Spring 4 Rest Controller为Jsp视图服务?

我已经创建了Spring 4项目来构建rest服务。 所以我已经创建了超过50个rest服务,现在需要为此创建web-app。 所以我想重用相同的控制器,所以我只需要编写视图(JSP)代码。 为了同样我用Google搜索并找到了http://www.mkyong.com/spring-mvc/spring-3-mvc-contentnegotiatingviewresolver-example/,但这给了我一个错误。 Morover我的项目结构如下。 那么我需要在servlet-context.xml中编写这个配置? 实现的最佳方式是什么? 主要是我只需要输出Json和html。 所以它的我的http请求有一个扩展名.json和.jsp。 下面是我的一个控制器的代码。 下面是我创建Rest服务的方式,现在我希望这个方法与JSP页面的服务器相同。 package com.alumini.spring.controller; import java.util.ArrayList; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.alumini.spring.DAO.CourseDAO; import com.alumini.spring.model.Alumini; import com.alumini.spring.model.Course; @RestController public class CourseController { @Autowired private CourseDAO courseDao; @RequestMapping(value = “/getCourseList”) public List getCourseList(@RequestParam(“email”) String email,@RequestParam(“password”) String password) { List listCourse = […]

Android – 应用程序关闭时从另一个类调用方法(使用AlarmManager)

我试图使用AlarmManager从另一个类调用我的MainActivity类中的方法。 我发现这个问题帮助我调用了方法但是当应用程序关闭时,AlarmManager仍在运行,它会产生NullPointerException错误。 另一个对我有用的解决方案是在我的AlarmRec类中包含getBatteryLevel()。 当我尝试这个时,我得到错误 – 无法解析方法registerReceiver(null,android.content.IntentFilter)。 我的MainActivity类: package com.ds.shutdown; import android.app.Activity; import android.app.AlarmManager; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; import android.os.BatteryManager; import android.os.Bundle; import android.preference.PreferenceManager; import android.support.v4.app.NotificationCompat; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import java.util.Calendar; public class MainActivity extends Activity { […]

使用GSON加载非常重的流

我正在尝试读取非常繁重的JSON(超过6000个对象)并将它们存储在哈希映射中以便稍后将其插入到我的数据库中。 但问题是我面对OOM,这是因为我的JSON很重要,但是GSON库应该让我摆脱这种局面,但事实并非如此! 有任何想法吗? public Map readJsonStream(InputStream in) throws IOException { JsonReader reader = new JsonReader(new InputStreamReader(in, “UTF-8”)); Map contentMap = new HashMap(); Gson mGson = new Gson(); contentMap = mGson.fromJson(reader, contentMap.getClass()); reader.close(); return contentMap; }

如何使用Hibernate映射用户数据类型(复合类型)

我对Hibernate世界很新。 我已经通过ER CASE TOOL(TOAD)我的数据库建模,并且我已经定义了几个用户数据类型(复合类型)。 例如,假设我在PostgreSQL中声明了一个类型Contact,如下所示 CREATE TYPE Contact AS ( “email” Varchar, “phone” Varchar, “mobile” Varchar, “other” Varchar ); 现在假设我在用户实体上使用它,就像在下面的SQL代码中一样 CREATE TABLE Users( idUser Serial NOT NULL, login Character varying(20) NOT NULL, password Character varying(20) NOT NULL, name Character varying(30), surname Character varying(50), contact Contact ) — Add keys for table Users ALTER TABLE Users […]