精华内容
下载资源
问答
  • 创建了个文本,修改后缀为java,双击后出现命令行然后闪退就没了,环境变量配置好了,下载的是JDK8,系统是win10,请问如何解决问题?</p>
  • 由于开发电脑的原因,idea偶尔在本地项目运行中闪退,从而失去调试的窗口。重启在idea中启动项目失败。 归其原因,是因为windows的端口被占用。要做的就是找到之前java运行的进程,结束任务。再到idea中重新启动。...

    由于开发电脑的原因,idea偶尔会在本地项目运行中闪退,从而失去调试的窗口。重启在idea中启动项目失败。
    归其原因,是因为windows的端口被占用。要做的就是找到之前java运行的进程,结束任务。再到idea中重新启动。

    操作流程如下:

    • win+R打开cmd窗口
    • 在idea中查看项目启动的端口,比如说8800
    • cmd输入netstat -ano|findstr "8800"
      在这里插入图片描述
    • 确认一下确实是java占用了此端口tasklist|findstr "23104"
      在这里插入图片描述
    • 关闭此任务,释放端口taskkill /f /t /im java.exe
      在这里插入图片描述
    • 启动成功
      在这里插入图片描述

    继续开始调试。

    展开全文
  • 在没有改动任何项目和eclipse的情况下,出现eclipse闪退的情况(打开到自动闪退的时间不到30s) 问题反馈: eclipse报错. 原因: jdk 位数与eclipse所匹配的位数不相符.例如,jdk是32位,eclipse是64位 实际原因: ...

    问题描述:

    在没有改动任何项目和eclipse的情况下,出现eclipse闪退的情况(打开到自动闪退的时间不到30s)

    问题反馈:

    eclipse报错.

    原因:

    jdk 位数与eclipse所匹配的位数不相符.例如,jdk是32位,eclipse是64位

    实际原因:

    正常若jdk安装的位数与eclipse不相符的话,打开eclipse会有相关提示(或者说就打不开eclipse)

    但,实际是jdk与eclipse都想匹配, 因工作需求,安装oracle数据库选择了32位.然后eclipse读取jdk时,一直读取的oracle中的java.exe. 

    修改环境变量和重装jdk无果后, 只能卸载32位oracle;重新安装64位的oracle,之后可以不再闪出.

     

    希望自己遇到的问题,可以解决你们的问题,谢谢

     

     

     

    展开全文
  • 如果有一个严重的错误引起Java进程非正常退出,我们叫Crash,这时候产生一个日志文件。缺省情况下,这个 文件产生在工作目录下。但是,可以在Java启动参数通过下面的设置,来改变这个文件的位置和命名规则。...

    问题解决:

    公司的产品,在进行一项操作的时候,每次都会直接闪退。在工具的目录下生成的堆栈信息如下:

    #  EXCEPTION_STACK_OVERFLOW (0xc00000fd) at pc=0x0761dc57, pid=11900, tid=12192
    #
    # JRE version: 6.0_32-b05
    # Java VM: Java HotSpot(TM) Client VM (20.7-b02 mixed mode windows-x86 )
    # Problematic frame:
    # C  [platDecodedll.dll+0xdc57]

    Stack: [0x04340000,0x04380000],  sp=0x0437e980,  free space=250k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    C  [platDecodedll.dll+0xdc57]

    [error occurred during error reporting (printing native stack), id 0xc0000005]

    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    j  com.zte.ums.zxwomc.tools.trace.wsf.comm.st.decode.SignalDecode3G.SignalDecodeNesting(Lcom/zte/ums/zxwomc/tools/trace/wsf/comm/st/decode/DllRetInfo;[BISSIILjava/lang/String;III)[B+0

    -------------------------------------------------------

    出现EXCEPTION_STACK_OVERFLOW说明是堆栈溢出错误,# C  [platDecodedll.dll+0xdc57] 这里表示是动态库的内部方法中出了问题

    -------------------------------------------------------

    Stack: [0x04340000,0x04380000],  sp=0x0437e980,  free space=250k
    ------------这里标明了线程堆栈的内存起止地址一共256K,sp是当前指针,free space=250k表明剩余栈空间大小250K

    -------------------------------------------------------

    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    C  [platDecodedll.dll+0xdc57]

    它说明Crash的时候,JVM正在从哪个库文件执行代码。除了“V”以外,还有可能是“C”、“j”、“v”、“J”。具体的表示意思如下:

    FrameType Description:
    C: Native C frame
    j: Interpreted Java frame
    V: VMframe
    v: VMgenerated stub frame
    J: Other frame types, including compiled Java frames

    SUN官方文档中对各种JVM出现Crash的情况做了说明,以及处理方法,http://www.oracle.com/technetwork/java/javase/crashes-137240.html

    如果出现EXCEPTION_STACK_OVERFLOW的错误,同事free space这里应该剩余的栈空间很小,但是本例中free space=250k。不管怎样,出现EXCEPTION_STACK_OVERFLOW一般建议将JVM的Stack的尺寸调大,主要设计两个参数:“-Xss” 和“-XX:StackShadowPages=n”,把-Xss256k参数调整为-Xss512k后,故障解决,分析可能的原因是platDecodedll.dll动态库里需要的栈大小超过了250K,所以直接报了EXCEPTION_STACK_OVERFLOW的错误

     

    总结如下:

    一. 如何得到这个日志文件
    如果有一个严重的错误引起Java进程非正常退出,我们叫Crash,这时候会产生一个日志文件。缺省情况下,这个

    文件会产生在工作目录下。但是,可以在Java启动参数通过下面的设置,来改变这个文件的位置和命名规则。例如:
    java -XX:ErrorFile=/var/log/java/java_error_%p.log
    就将这个错误文件放在/var/log/java下,并且以java_error_pid.log的形式出现。

     

    二.产生错误的原因
    造成严重错误的原因有多种可能性。Java虚拟机自身的Bug是原因之一,但是这种可能不是很大。在绝大多数情况下,

    是由于系统的库文件、API或第三方的库文件造成的;系统资源的短缺也有可能造成这种严重的错误。在发生了Crash

    之后,如果无法定位根本原因,也应该迅速找到Work Around的方法。

    三.对日志文件的分析
    首先要检查日志的文件头:例如,下面是从一个客户发过来的错误日志的文件头

    -------------------------------------
    #
    # An unexpected error has been detected by HotSpot Virtual Machine:
    #
    # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0815e87e, pid=7268, tid=4360
    #
    # Java VM: Java HotSpot(TM) Server VM (1.4.2_13-b06 mixed mode)
    # Problematic frame:
    # V [jvm.dll+0x15e87e]
    #
    --------------------------------------

     

    文件头中有很多有用的信息,“EXCEPTION_ACCESS_VIOLATION ”意味着Java应用Crash的时候,

    正在运行JVM自己的代码,而不是外部的Java代码或其他类库代码。这种情况很可能是JVM的Bug,但是

    也不一定。除了“EXCEPTION_ACCESS_VIOLATION ”,还有可能是别的信息,例如“SIGSEGV(0xb)”,

    意味着JVM正在执行本地或JNI的代码;“EXCEPTION_STACK_OVERFLOW”意味着这是个栈溢出的错误。

     (**********看到这里我们知道我报错时正在运行JVM自己的代码,而不是外部的Java代码或其他类库代码*********)

    另外一个有用的信息就是:
    # Problematic frame:
    # V [jvm.dll+0x15e87e]


    它说明Crash的时候,JVM正在从哪个库文件执行代码。除了“V”以外,还有可能是“C”、“j”、“v”、“J”。具体的表示意思如下:

    FrameType Description:
    C: Native C frame
    j: Interpreted Java frame
    V: VMframe
    v: VMgenerated stub frame
    J: Other frame types, including compiled Java frames

    (**********看到这里我们知道我报错时是V: VMframe这种情况*********)


    文件头之后,是当前线程的DUMP信息,线程之后是JVM进程的DUMP信息,包括所有线程的状态、地址和ID。最后还有JVM状态,

    Heap状态,动态连接库等等的信息。这些烦乱的信息中,包含有非常有用的信息。下面我们根据几个具体的实例来分析Java虚拟

    机Crash的典型例子。

    四.内存回收引起的Crash
    内存回收引起的Crash有以下的特点:在日志文件头一般有“ EXCEPTION_ACCESS _VIOLATION”和

    “# Problematic frame: # V [jvm.dll+....”的信息,意味着这是在JVM内部处理,而且多半是JVM的Bug。

    (**********看到这里我们知道我报错时意味着这是在JVM内部处理,而且多半是JVM的Bug*********)

    对于这类问题,最快的方法就是绕过它。

    另外,在Thread的DUMP信息最后,还能看到有关内存回收的行为例如:

    --------------- T H R E A D ---------------
    Current thread (0x00a56668): VMThread [id=4360]
    siginfo: ExceptionCode=0xc0000005, reading address 0x00000057
    Registers:
    ........

    Stack: [0x03cf0000,0x03d30000), sp=0x03d2fc18, free space=255k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    V [jvm.dll+0x15e87e]

    VM_Operation (0x063efbac): full generation collection, mode: safepoint, requested by thread 0x040f83f8
    ------------------------------------------------------------

    可以清楚的看到JVM正在做 “full generation collection”。另外还有可能看到,其他的回收行为:

    generation collection for allocation

    full generation collection

    parallel gc failed allocation

    parallel gc failed permanent allocation

    parallel gc system gc

    (***********这些错,俺都没碰到***********)
    对于内存回收的错误,一般采取改变回收的算法和参数的方法来绕过去。例如,来自客户的日志除了上面的

    日志信息,在日志中Heap信息中还能发现一些其他信息:

    --------------------------------------------------------------
    Heap
    def new generation total 22592K, used 19530K [0x10010000, 0x11890000, 0x138f0000)
    eden space 20096K, 97% used [0x10010000, 0x11322bd8, 0x113b0000)
    from space 2496K, 0% used [0x113b0000, 0x113b0000, 0x11620000)
    to space 2496K, 0% used [0x11620000, 0x11620000, 0x11890000)
    tenured generation total 190696K, used 100019K [0x138f0000, 0x1f32a000, 0x30010000)
    the space 190696K, 52% used [0x138f0000, 0x19a9cf38, 0x19a9d000, 0x1f32a000)
    compacting perm gen total 38656K, used 38588K [0x30010000, 0x325d0000, 0x34010000)
    the space 38656K, 99% used [0x30010000, 0x325bf038, 0x325bf200, 0x325d0000)
    ----------------------------------------------------------------


    上面的信息能看出在Crash的时候,JVM的PermSize空间几乎已经消耗完了,并且回收算法在压缩Perm空间的时候出了错。

    因此,建议改变内存回收的算法,或扩大PermSize和MaxPermSize的数值。

    (*******这个倒是可以尝试*******)

    五.栈溢出引起的Crash

    Java代码引起的栈溢出,通常不会引起JVM的Crash,而是抛出一个Java异常:java.lang.StackOverflowError。

    但是在Java虚拟机中,Java的代码和本地C或C++代码公用相同的Stack。这样,在执行本地代码所造成的栈溢出,

    就有可能引起JVM的Crash了。

    栈溢出引起的Crash会在日志的文件头中看到“EXCEPTION_STACK_OVERFLOW”字样。另外,在当前线程的Stack

    信息中也能发现一些信息。例如下面的例子:

    -----------------------------------------------------------------------------------
    # An unexpected error has been detected by HotSpot Virtual Machine:
    #
    # EXCEPTION_STACK_OVERFLOW (0xc00000fd) at pc=0x10001011, pid=296, tid=2940
    #
    # Java VM: Java HotSpot(TM) Client VM (1.6-internal mixed mode, sharing)
    # Problematic frame:
    # C [App.dll+0x1011]
    #
    --------------- T H R E A D ---------------
    Current thread (0x000367c0): JavaThread "main" [_thread_in_native, id=2940]
    :
    Stack: [0x00040000,0x00080000), sp=0x00041000, free space=4k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    C [App.dll+0x1011]
    C [App.dll+0x1020]
    C [App.dll+0x1020]
    :
    C [App.dll+0x1020]
    C [App.dll+0x1020]
    ...<more frames>...
    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    j Test.foo()V+0
    j Test.main([Ljava/lang/String;)V+0
    v ~StubRoutines::call_stub

    --------------------------------------------------------------------------------

    在上面的信息中,可以发现这是个栈溢出的错误。并且当前栈剩余的空间已经很小了(free space =4k)。

    因此建议将JVM的Stack的尺寸调大,主要设计两个参数:“-Xss” 和“-XX:StackShadowPages=n”。

     

    展开全文
  • JAVA点击登录闪退

    千次阅读 2017-07-05 17:36:31
    public void Login(View view){  name = edit1.getText().toString();  pwd = edit2.getText()....在activity_main.xml中,要添加android:onClick="Login",才可以点击登录,譬如,Login大写,则出现闪退情况。
    public void Login(View view){
        name = edit1.getText().toString();
        pwd = edit2.getText().toString();
                  //Toast.makeText(MainActivity.this,name+pwd,Toast.LENGTH_SHORT).show();
        if(name.equals(name1)&&pwd.equals(pass)){
            Toast.makeText(MainActivity.this,"登录成功",0).show();
        }else{
            Toast.makeText(MainActivity.this,"用户名或密码不正确",0).show();
        }

    }

    在activity_main.xml中,要添加android:onClick="Login",才可以点击登录,譬如,Login为大写,则会出现闪退情况。

    展开全文
  • Java Web 解决Tomcat闪退

    2021-03-31 11:07:11
    1. 通过Tomcat bin目录下的startup.bat去打开,发现闪退,这时候我们看不到任何的信息,一般是JAVA_HOME环境变量没有配置好。 (1)重新配置后,仍然闪退,在setclasspath.bat文件中加上这一句。 (2)在(1)方式...
  • ## 我打开Window-Show View-Console,然后他就只出现0.1秒,然后就没了 ![图片说明](https://img-ask.csdn.net/upload/201912/03/1575341971_803371.png)
  • 在发布网站时候,命令行测试 java、javac、catalina version都通过了,在本机上能够发布本地访问的网站,但是一放到服务器上面startup.bat就总是出现闪退现象。找了好久都没能解决。求各位大神帮帮忙啊啊啊查看日志...
  • 但是启动tomcat时一直闪退,对于一个没有用JAVA搞过事情的小白来讲无法查找到错误原因,十分痛苦。网上教程大多都是说环境变量设置的问题,excuse me?都没有说怎么查看报错原因,难道是一个一个尝试出来的? 其实...
  • 求大神帮忙看看 代码太长了 总体可以运行 到时可以word发
  • java运行应用时闪退

    千次阅读 2017-03-14 15:36:30
    # A fatal error has been detected by the Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x03a74e91, pid=3376, tid=4756 # # JRE version: 6.0_17-b04 # Java VM: Java...
  • java启动tomcat9闪退

    万次阅读 2018-06-30 12:10:30
    最近由于Java开发环境由eclipse换成idea,发现了一些很奇特的问题。遂写下来和大家分享下。开发使用环境(64位版)idea2017.3月版本+jdk9+tomcat9,发现之前配置好的tomcat不能使用了。先说方法:将jdk从版本9更换...
  • 使用eclips开发java时的闪退问题

    千次阅读 2014-06-05 00:06:59
    eclips在ubuntu上的使用闪退问题。
  •  你在当前页面创建findViewById的时候,如果找不到指定的ID也会闪退,比如我要查找指定的IDbtnMoveL_SetA,当写错的时候也有问题,而XML本身不会报错,假如ID确实存在,只不过不在这个页面的话。  还有...
  • 说来奇怪,我好像从来没有遇到过窗口闪退的问题,无论是C、C++、还是Java(我目前也就这仨语言写的算多的。。。)。现在的编辑器、IDE应该很少出现这种问题了吧,当然系统不一样,运行还是有区别的。 一、C/C++ ①...
  • java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{wjsd.sfy.suyan.test/wjsd.sfy.suyan.test.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method '...
  • 本人大二Android新手,在做课本例题时遇到了很多闪退的问题,原因各种各样,现在又遇到了加入开启线程的代码后程序崩溃的问题,请大佬给予指点[img=...[/img] 还有一个问题就是 烦请大佬解释下extends ...
  • 报错提醒: [img=https://img-bbs.csdn.net/upload/202009/28/1601261992_611380.png][/img] 相关地方的代码: [img=... 这个错误是什么原因呢?
  • 序在升级了mac操作系统到Sierra版本之后,之前的jd-gui就闪退了,本文就讲述一下如何解决这个问题。jdk版本使用的是jdk8崩溃日志实例Date/Time: 2016-09-22 11:28:18.416 +0700OS Version: Mac OS X 10.12 (16A323)...
  • 我选择eclips作为开发的IDE,在测试java代码样例时,如果我的代码是可以出现系统自动代码补齐时eclips就立刻闪退。刚开始不知道怎么回事以为是自己不小心误操作吧界面给关了,可是发生了好几次。之后通过shell把...
  • IDEA 日志报错There is insufficient memory for the Java Runtime Environment to continue 闪退 运行java项目 idea闪退 在C:\Users\asus 目录下 找到java_error开头的日志文件,查询错误,里面报错There is ...
  • 需要将C中的数据传递到Java的一个结构体,在这个结构体中有GNSSObservation类型的List的对象,GNSSObservation自定义的结构体,因此在数据传递时需要在jni中调用list的add函数将数据add进list,但是程序在多次调用...
  • 安装的时候安装JDK成功了,但是到了安装jre的时候安装窗口一闪而过就闪退了,打开安装目录发现并没有jre的文件夹,后来经过排查,不可思议的是居然是百度输入法软件冲突导致jre安装失败。解决办法是把百度输入法卸载...
  • Windows下elasticsearch启动闪退JAVA环境变量报错:could not find java; set JAVA_HOME or ensure java is in PATH 问题描述:解压elasticsearch后,双击elasticsearch.bat闪退,选择使用命令行的方式启动,发现...
  • 我在布局文件中建了4*6的表格,每个子控件都是TextView,想在主函数中实时更新表格中的值,结果用setText()设置之后,老是闪退 怎么办?
  • 我先创建了一个fragment,然后把index.xml添加到了这个fragment里面,假如index引入了rollviewpager这个插件,app就直接闪退了,不用的话,程序就正常,请问下,这是怎么回事啊,新手求帮忙看下,部分没用的代码就没...
  • 1、tomcat闪退 1.1 环境变量错误  startup.bat最后假如PAUSE进入调试状态,双击startup.bat... 当eclispe server locations选项第二项时,发布项目修改tomcat下面的server.xml文件,如果中间存在手动清理发...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,307
精华内容 5,722
关键字:

为什么java会闪退

java 订阅