1. 程式人生 > >Android執行main方法後java虛擬機器停止執行

Android執行main方法後java虛擬機器停止執行

Android工程裡面一個方法不小心寫了一個main方法,執行失敗後,整個工程都跑不起來了。

系統提示我看log,好吧,如下:

#

# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (classFileParser.cpp:3494), pid=3776, tid=7068
#  Error: ShouldNotReachHere()
#
# JRE version: 6.0_43-b01
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.14-b01 mixed mode windows-amd64 compressed oops)
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#


---------------  T H R E A D  ---------------


Current thread (0x000000000061d000):  JavaThread "Unknown thread" [_thread_in_vm, id=7068, stack(0x0000000001f30000,0x0000000002030000)]


Stack: [0x0000000001f30000,0x0000000002030000]
[error occurred during error reporting (printing stack bounds), id 0xc0000005]




---------------  P R O C E S S  ---------------


Java Threads: ( => current thread )


Other Threads:


=>0x000000000061d000 (exited) JavaThread "Unknown thread" [_thread_in_vm, id=7068, stack(0x0000000001f30000,0x0000000002030000)]


VM state:not at safepoint (not fully initialized)


VM Mutex/Monitor currently owned by a thread: None


Dynamic libraries:
0x0000000000400000 - 0x000000000042f000 C:\Program Files\Java\jre6\bin\javaw.exe
0x00007ff9a6770000 - 0x00007ff9a6919000 C:\windows\SYSTEM32\ntdll.dll
0x00007ff9a6630000 - 0x00007ff9a6769000 C:\windows\system32\KERNEL32.DLL
0x00007ff9a3bc0000 - 0x00007ff9a3cce000 C:\windows\system32\KERNELBASE.dll
0x00007ff9a2750000 - 0x00007ff9a27db000 C:\windows\system32\apphelp.dll
0x00007ff998dc0000 - 0x00007ff998e0f000 C:\windows\AppPatch\AppPatch64\AcGenral.DLL
0x00007ff9a6080000 - 0x00007ff9a6127000 C:\windows\system32\msvcrt.dll
0x00007ff9a39a0000 - 0x00007ff9a39cb000 C:\windows\SYSTEM32\SspiCli.dll
0x00007ff9a4030000 - 0x00007ff9a4081000 C:\windows\system32\SHLWAPI.dll
0x00007ff9a5b80000 - 0x00007ff9a5cf1000 C:\windows\system32\USER32.dll
0x00007ff9a64b0000 - 0x00007ff9a6626000 C:\windows\system32\ole32.dll
0x00007ff9a41a0000 - 0x00007ff9a55ad000 C:\windows\system32\SHELL32.dll
0x00007ff9a3180000 - 0x00007ff9a319f000 C:\windows\SYSTEM32\USERENV.dll
0x00007ff9a4090000 - 0x00007ff9a4135000 C:\windows\system32\ADVAPI32.dll
0x00007ff997ec0000 - 0x00007ff997edb000 C:\windows\SYSTEM32\MPR.dll
0x00007ff9a6310000 - 0x00007ff9a6446000 C:\windows\system32\RPCRT4.dll
0x00007ff9a5f20000 - 0x00007ff9a5f77000 C:\windows\SYSTEM32\sechost.dll
0x00007ff9a55c0000 - 0x00007ff9a5797000 C:\windows\SYSTEM32\combase.dll
0x00007ff9a57a0000 - 0x00007ff9a58e5000 C:\windows\system32\GDI32.dll
0x00007ff9a3af0000 - 0x00007ff9a3b04000 C:\windows\SYSTEM32\profapi.dll
0x00007ff9a1d20000 - 0x00007ff9a1dc1000 C:\windows\SYSTEM32\SHCORE.dll
0x00007ff9a62d0000 - 0x00007ff9a6304000 C:\windows\system32\IMM32.DLL
0x00007ff9a5d10000 - 0x00007ff9a5e48000 C:\windows\system32\MSCTF.dll
0x000000006d810000 - 0x000000006dfcc000 C:\Program Files\Java\jre6\bin\server\jvm.dll
0x00007ff99b970000 - 0x00007ff99b98f000 C:\windows\SYSTEM32\WINMM.dll
0x00007ff998000000 - 0x00007ff99802a000 C:\windows\SYSTEM32\WINMMBASE.dll
0x00007ff9a3fb0000 - 0x00007ff9a3ffa000 C:\windows\SYSTEM32\cfgmgr32.dll
0x00007ff9a29a0000 - 0x00007ff9a29c6000 C:\windows\SYSTEM32\DEVOBJ.dll
0x000000006d780000 - 0x000000006d78e000 C:\Program Files\Java\jre6\bin\verify.dll
0x000000006d3b0000 - 0x000000006d3d7000 C:\Program Files\Java\jre6\bin\java.dll
0x000000006d7d0000 - 0x000000006d7e2000 C:\Program Files\Java\jre6\bin\zip.dll
0x00007ff9a5e50000 - 0x00007ff9a5e57000 C:\windows\system32\PSAPI.DLL


VM Arguments:
jvm_args: -Dfile.encoding=UTF-8 -Xbootclasspath:E:\All_Utils\adt-bundle-windows-x86_64-20140321\sdk\platforms\android-19\android.jar 
java_command: com.skyworth.kidlover.http.bean.KidNearbyBean
Launcher Type: SUN_STANDARD


Environment Variables:
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_43
CLASSPATH=.;C:\Program Files\Java\jdk1.6.0_43\lib\dt.jar;C:\Program Files\Java\jdk1.6.0_43\lib\tools.jar;
PATH=C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk1.6.0_43\bin;C:\Program Files\Java\jdk1.6.0_43\jre\bin;E:\All_Utils\adt-bundle-windows-x86_64-20140321\sdk\platform-tools;E:\All_Utils\adt-bundle-windows-x86_64-20140321\sdk\tools;C:\Program Files\TortoiseSVN\bin;C:\AppServ\Apache2.2\bin;C:\AppServ\php5;C:\AppServ\MySQL\bin
USERNAME=sjy
OS=Windows_NT
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel






---------------  S Y S T E M  ---------------


OS: Windows 8 , 64 bit Build 9200 


CPU:total 4 (2 cores per cpu, 2 threads per core) family 6 model 42 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, ht


Memory: 4k page, physical 10152480k(6970836k free), swap 10807840k(7241168k free)


vm_info: Java HotSpot(TM) 64-Bit Server VM (20.14-b01) for windows-amd64 JRE (1.6.0_43-b01), built on Mar  1 2013 01:52:33 by "java_re" with MS VC++ 8.0 (VS2005)


time: Fri Jul 18 18:20:08 2014

elapsed time: 0 seconds

研究了小半天終於找到問題所在,

要把Run/Debug 裡面那個錯誤的類給去掉。

如圖:


相關推薦

Android執行main方法java虛擬機器停止執行

Android工程裡面一個方法不小心寫了一個main方法,執行失敗後,整個工程都跑不起來了。 系統提示我看log,好吧,如下: # # A fatal error has been detected by the Java Runtime Environment: # #

java虛擬機器1.執行時資料區

Java技術體系模組圖 java虛擬機器在執行java程式的過程中會把它所管理的記憶體劃分為若干個不同的資料區域。這些區域都有各自的用途,以及各自的建立和銷燬時間,有的區域隨虛擬機器程序的啟動而存在,有些區域則依賴使用者執行緒的啟動和結束而建立和銷燬。 程式計數器 是一塊較小的記憶體空

深入理解Java虛擬機器執行時資料區域

一.執行時資料區域有哪些? 首先,我們先來看一張圖: 如上面的圖所示,執行時記憶體區域主要分為:1.程式計數器,2.Java虛擬機器棧,3.本地方法棧,4.Java堆,5.方法區等等,下面就一個個來剖析一下。 二.這些區域都有哪些作用? 首先我們熟悉一下一個一般性的 Java 程式的

Java記憶體模型與執行緒 深入理解Java虛擬機器總結

在許多情況下,讓計算機同時去做幾件事情,不僅是因為計算機的運算能力強大了,還有一個很重要的原因是計算機的運算速度與它的儲存和通訊子系統速度的差距太大, 大量的時間都花費在磁碟I/O、網路通訊或者資料庫訪問上。 如果不希望處理器在大部分時間裡都處於等待其他資源的狀態,就必須使用一些手段去把處理器

Java虛擬機器執行緒安全與鎖優化

執行緒安全與鎖優化 絕對執行緒安全 相對執行緒安全 執行緒安全的實現方式 互斥同步 非阻塞同步 鎖優化 參考 絕對執行緒安全 當多個執行緒訪問一個物件時,如果不用考慮這些執行緒在執行時環境

java虛擬機器執行緒安全的簡單理解

java虛擬機器多執行緒安全及鎖優化 執行緒安全問題的產生 多執行緒技術的引入產生啦執行緒安全性問題:當多個執行緒操作共享的資料時,如果A執行緒對共享的資料做出改變時B執行緒也要操作共享的資料,就有可能發生執行緒執行錯誤,產生錯誤的結果. 執行緒安全按安全程度來分五級

深入理解Java虛擬機器之類執行時棧幀結構

棧幀(Stack Frame)是用於支援虛擬機器進行方法呼叫和方法執行的資料結構,它是虛擬機器執行時資料區中的虛擬機器棧(Virtual Machine Stack)的棧元素。棧幀儲存了方法的區域性變量表、運算元棧、動態連線和方法返回地址等資訊。每一個方法從呼叫

Java虛擬機器執行時資料區域-《深入理解Java虛擬機器》筆記

以下內容為周志明《深入理解Java虛擬機器》中的內容摘要。寫本文來作為學習筆記。 Java 虛擬機器在執行時會將管理的記憶體劃分成若干個區域,這些區域各有各的用途,以及各自的建立和銷燬的時間。 有些隨著

Java虛擬機器解釋執行和JIT的關係

 Java程式最初是僅僅通過直譯器解釋執行的,即對位元組碼逐條解釋執行,這種方式的執行速度相對會比較慢,尤其當某個方法或程式碼塊執行的特別頻繁時,這種方式的執行效率就顯得很低。於是後來在虛擬機器中引入

Android Studio2.1版本使用虛擬機器碰見的問題總結

然後我就打算試試了,如果是的話 我就將genymotion給放棄了,用Genymition是因為當時google 提供的虛擬機器太渣了。而且它也沒多好用。 然後剛開始就出了個這樣的bug 問題1:Intel HAXM is required to ru

深入理解Java虛擬機器(七)位元組碼執行引擎(棧幀、動態連線、方法呼叫)

執行引擎是Java虛擬機器最核心的組成部分之一。“虛擬機器”是一個相對於“物理機”的概念,這兩種機器都有程式碼執行能力,其區別是物理機的執行引擎是直接建立在處理器、硬體、指令集和作業系統層面上的,而虛擬機器的執行引擎則是由自己實現的,因此可以自行制定指令集與執行引擎的結構體系,並且能夠執

℃江的觀後感 -- Java 虛擬機器方法區、直接記憶體和執行時常量池

方法區 我們知道方法區,當然是和方法有關,Java虛擬機器的作用就兩個,儲存、運算。其實我們叫其方法區,說明和儲存東西有關,但是存什麼呢?這塊儲存的是虛擬機器載入的類資訊,常亮,靜態變數和有個就是即使編譯後的程式碼等資料。方法區一般在hotspot被稱為永久代

Java方法在art虛擬機器中的執行

前言 ART 虛擬機器執行 Java 方法主要有兩種模式:quick code 模式和 Interpreter 模式 quick code 模式:執行 arm 彙編指令 Interpreter 模式:由直譯器解釋執行 Dalvik 位元組碼 在之前的文章

JVM執行時資料區域 —— 程式計數器、Java虛擬機器棧、本地方法棧、Java堆、方法區、執行時常量池

java虛擬機器執行時資料區域的概括圖如下所示: 下面將對執行時資料區進行講解 程式計數器 1、說明:程式計數器可以看做是當前執行緒所執行的位元組碼的行號指示器。其實通俗點講就是記錄class檔案執行到哪一行 2、注意的點: (1)因為CPU執

《深入理解java虛擬機器》學習-第八章-虛擬機器位元組碼執行引擎-方法呼叫

1.概述 ① 方法呼叫並不等同於方法執行,方法呼叫階段唯一的任務就是確定被呼叫方法的版本(即呼叫哪一個方法),暫時還不涉及方法內部的具體執行過程。 ② 一切方法呼叫在Class檔案裡面儲存的都只是常量池中的符號引用,而不是方法在實際執行時記憶體佈局的入口地址(即直接引用);

java,maven工程打tar.gz包執行main方法

sport desc pre remote without pil deploy can 周期 一,需要在pom.xml文件添加plugin, 項目目錄結構 1 <build> 2 <plugins> 3 4

Java虛擬機器(JVM原始碼):JDK10對Java虛擬機器執行時資料區的劃分(詳細圖解)

Java虛擬機器執行時資料區 為什麼要研究這個,因為JDK都已經發布到10了,必須要更新自己對Java虛擬機器新的認識。 一、執行時資料區的劃分 1.1 官方劃分 關於JDK10對執行時資料區的劃分,在官方文件說的非常清楚。 學習技術,一定要學會看第一手資料。 Ja

JAVA虛擬機器結構之執行時資料區

jvm的執行時資料區根據用途一共可以分為這幾類:pc寄存機,java虛擬機器棧,java堆,方法區,執行時常量池,本地方法棧。其中java堆,方法區,執行時常量是公有的資料區,隨著虛擬機器的啟動而建立,隨著虛擬的退出而銷燬。而pc暫存器,java虛擬機器棧,本地方法棧則是執行緒私有的

Java虛擬機器 虛擬機器執行子系統

程式碼編譯的結構從本地機器碼轉變為位元組碼,是儲存格式發展的一小步,卻是程式語言發展的一大步。 主要內容 類檔案結構 虛擬機器類載入機制 虛擬機器位元組碼執行引擎 類檔案結構 無關性基石 各種不同的虛擬機器都可以載入和執行一種平臺無關的位元組碼,從而實現“一次編寫,到處執行”。

《深入理解Java虛擬機器》讀書筆記4-執行時記憶體區域

Java執行時資料區域     Java執行時資料區域如下圖所示:             l  程式計數器:較小的記憶體空間,當前程式所執行的位元組碼的行號指示器。如果執行一個java方法,計數器記錄正在執行的虛擬機器位元組碼指令地址;如果