精华内容
下载资源
问答
  • 5.0以下应用启动失败问题

    最近引入了一个jar包后,程序在5.0以上系统运行正常,在5.0以下就运行崩溃,报 java.lang.NoClassDefFoundError错误,最后发现是Dex超出方法数的限制问题,具体解决方法可以参照http://blog.csdn.net/t12x3456/article/details/40837287的博客,里面有解决Dex超出方法数的问题。

    展开全文
  • 在平常的工作中,我们有时会遇到项目启动一直卡在某个地方,但是又没有日志输出,很难定位到底是在哪里卡住,下面笔者分析下个人本地调试的一些经验。 为什么会卡 首先我们需要明确下有哪些情况会导致主线程阻塞。在...

    在平常的工作中,我们有时会遇到项目启动一直卡在某个地方,但是又没有日志输出,很难定位到底是在哪里卡住,下面笔者分析下个人本地调试的一些经验。

    1.为什么会卡

    首先我们需要明确下有哪些情况会导致主线程阻塞。在平常开发工作中,以下是常见场景

    1. 网络请求阻塞(包括连接数据库,redis等,但一般此类设计时都会有超时时间)
    2. 读取和写入本地流时一直阻塞
    3. 开启debug定点程序被手动阻塞
    4. debug模式下断点过多会导致启动非常慢(不至于卡死)

    2.如何解决

    2.1快照分析

    针对1、2这种情况,我们可以通过debug的快照模式进行分析,如果程序卡在某一步,通过快照分析线程的方法栈找到阻塞的具体类,再做具体分析。

    以上是笔者的程序在运行过程中的某一份快照,可以看到主程序并未阻塞,一般阻塞状态下是waiting,如果你的程序出问题了,可以仔细观察右侧的堆栈信息进行错误类的分析,下面是我的程序中的堆栈信息

    "lettuce-nioEventLoop-4-2@14103" daemon prio=5 tid=0x9e nid=NA runnable
      java.lang.Thread.State: RUNNABLE
    	  at sun.nio.ch.KQueueArrayWrapper.kevent0(KQueueArrayWrapper.java:-1)
    	  at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:198)
    	  at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:117)
    	  at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
    	  - locked <merged>(a sun.nio.ch.KQueueSelectorImpl)
    	  - locked <merged>(a java.util.Collections$UnmodifiableSet)
    	  - locked <merged>(a io.netty.channel.nio.SelectedSelectionKeySet)
    	  at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
    	  at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:62)
    	  at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:806)
    	  at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:454)
    	  at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:918)
    	  at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    	  at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    	  at java.lang.Thread.run(Thread.java:745)
    
    

    2.2debug模式分析

    第三种情况基本上只要认真观察开发IDE工具,不会犯这种低级错误,倒是第四种情况需要引起注意,因为有时开发人员未仔细查看,程序也能跑,但是非常慢的情况,第一反应都会想去看代码上的问题,需要注意的是实际上可能是DEBUG模式下过多断点导致程序出现问题。

    2.2.1如果看自己打的断点

    在这里插入图片描述

    点击红色的点(Break Points),然后idea会弹出一个弹窗:

    在这里插入图片描述

    当前程序的的断点均为会展示在 Java Line Breakpoints下,如果没有必要的情况,将该清理的断点删除即可。

    3.结语

    笔者本次遇到的问题是属于情况4,起初认为是程序的问题,分析了一遍未找着原因,然后通过打印快照发现程序也正常运行,此时突然想起断点比较多,至此总结一番本次遇到的一直开发过程中的小问题,方便下次查阅。

    展开全文
  • 网上的说的8100端口也查看过,没有占用,也重新安装了,都没问题,点击app也能启动,但就是程序启动不了,看源码的启动指令 看代码,这里有一个指令,会操作tomcat下的temp文件夹,查看这个文件夹,发现当前...

     网上的说的8100端口也查看过,没有占用,也重新安装了,都没问题,点击app也能启动,但就是程序里启动不了,看源码的启动指令

    看代码,这里有一个指令,会操作tomcat下的temp文件夹,查看这个文件夹,发现当前登录的用户是只读权限。。。。其实idea启动的时候就已经提示了这个文件是只读的,把权限改成读与写就可以了

     

    展开全文
  • 启动Java的Maven项目时,报错: 0.0.0.0:8080: java.net.BindException: Address already in use: bind 出现原因:8080端口被占用。 解决办法: ctr+r, 输入cmd打开命令行面板; 输入命令 netstat -ano | find ":...

    在启动Java的Maven项目时,报错:

    0.0.0.0:8080: java.net.BindException: Address already in use: bind

    出现原因:8080端口被占用。

    解决办法:

     win+r, 输入cmd打开命令行面板;

    输入命令 netstat -ano | find ":8080" , 就会显示使用8080端口的进程, 比如我的就显示:

    TCP 192.168.1.141.8080 220.181.7.165.443 CLOSE_WAIT 12488

    最后的12488就是PID进程号,我们来找到他相对应的程序:

    tasklist /fi "pid eq 12488"

    结果:


    你大爷的,原来是百度云,关掉百度云,重启项目,OK

    还有一点要注意的是,虽然报错写的是0.0.0.0:8080,但不一定是0.0.0.0:XXXX, 比如我的就是192.168.1.141:8080

    展开全文
  • 调试目标程序:Main.java,为了方便调试,运行以下命令:C:\Users\Eugene\Desktop\studio\java&gt;javac -g -d bin src\Main.java最终目录结构如下:C:\Users\Eugene\Desktop\studio\java&gt;tree /F Folder ...
  • java测试redis结果连接失败,记一下排查步骤。 redis安装在centos7中,centos7系统安装在vmware中 打开cmd, 首先ping虚拟机ip地址,检查网络连接是否有问题 然后telnet ip地址 6379检测端口是否打开,如果...
  • 今天启动服务器上的项目时报了个错: 解决方法: ps -ef | grep java 然后把那个进程kill掉再次启动就可以了。
  • Java程序启动时,设置JMX参数

    千次阅读 2018-01-16 16:21:00
    不仅仅是JMX端口,JMX服务启动后,初了指定的端口外,还会额外启动2个动态变化的port,因此,需要在目标服务器上,禁止防火墙之类的软件,如iptables等,否则,监控工具会无法连接到这2个动态port,导致连接失败 ...
  • 接下来介绍一种可行的解决方案:设置 java 程序开机启动 + 崩溃自动重启(当然能避免程序崩溃最好,这是根本解决方法,本文的目的是给你的程序设立最后一道保障)。   实现思路 jar 包开机运行:利用 Windows 系...
  • eclipse给JVM设置参数后程序启动失败

    千次阅读 2017-05-20 13:39:48
    Java Virtual Machine Launcher Could not create the Java virtual machine Invalid maximum heap size: -Xmx将参数名称和参数值...-Xmx200m -Xms10m程序:public class JVMArgs { public static void main(String
  • 不是运维, 要配置个自启动脚本.  http://jingyan.baidu.com/article/fec7a1e5136c571190b4e720.html http://www.cnblogs.com/nerxious/archive/2013/01/18/2866548.html 直接修改 vi /etc/rc.local 增加sh脚本. ...
  • 这个只是其中的一种错误,类似于启动错误 最为简单有效的是找到tomcat的安装目录(我的在C:\Program Files\Apache Software Foundation)如图: 然后打开找到bin目录 打开bin,双击启动shutdown.bat这个文件...
  • 在开发的流程中必须涉及的项目的部署发布,这个过程也肯定会有成功失败,在不同的公司里采用的提醒方式不同。在说明下面的方案前,需要首先说明一下基本应用的场景。 场景说明 1、纯后台应用,现在项目基本都是...
  • 当开发完一个Java程序后,大多数会部署到Linux上,此时就需要编写脚本来启动Java程序,在网上找寻之后,本人自己编写了一个启动脚本,亲测可用!在此提供启动脚本,对于停止、重启、查询程序进程的脚本,只需对启动...
  • Linux找出程序启动失败的原因

    千次阅读 2016-01-12 08:09:06
    option is used to cut-down noise from Java's thread management. sudo strace - f - e 'trace=!clock_gettime,gettimeofday,futex,timerfd_settime,epoll_wait,epoll_ctl' - p 7035 - o trace.txt ...
  • 分享一下自己用过的java程序初始化启动自动执行的三种方法 @PostConstruct注解 将此注解加在要执行的方法上,则程序初始化启动的时候,会执行此方法,一般用来初始化必要的程序初始信息 注意:加了postconstruct...
  • 我想启动两个相同的java程序,一个端口8001,另一个是一个没有被占用的端口,可是第二个一直启动不起来,换了好几个端口都不行,明明端口没被占用,却一直报错端口被占用。求助!!!!
  • 本地启动 elasticsearch 成功,使用localhost:9200访问也是正常,但是使用java项目调用就报org.elasticsearch.transport.NodeDisconnectedException:[] [inet [localhost / 127.0.0.1:9300]] [cluster / nodes / ...
  • linux下的java jar程序,我们可以用nohup java -jar指令,使得java程序在后台保持运行。那么windows下的jar程序,该怎么运行呢——将其注册为windows服务。 最近收到一个任务,是让我处理一个问题。一个windows...
  • Java程序多数情况下都会用到一些第三方的类库,如果仅用到几个jar文件,写到java命令里就好,但是依赖的jar文件很多的情况,写到java命令里就不好了,而且如果jar文件被替换,名字变了,就需要改java命令,所以最好...
  • 在做使用Java程序控制exe程序启动时,发现有些exe程序执行exe全路径无法直接启动程序,如Windows7系统中启动1.16版本的nginx.exe,如果直接通过dos窗口先进入指定目录,再执行exe程序是OK的,但是在程序里无法切换...
  • 1. java客户端连接mongodb超时问题。 报错信息:com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting to connect. Client view of cluster state is {type=UNKNOWN, serve...
  • windows Linux下Java程序启动Shell脚本

    千次阅读 2017-04-19 10:25:08
    Java程序多数情况下都会用到一些第三方的类库,如果仅用到几个jar文件,写到java命令里就好,但是依赖的jar文件很多的情况,写到java命令里就不好了,而且如果jar文件被替换,名字变了,就需要改java命令,所以最好...
  • 在weblogic启动的时候出现 java.lang.NullPointerException atweblogic.deploy.internal.adminserver.DeploymentManager.getPendingDeploymentsForEditLockOwner(DeploymentManager.java:360) at...
  • 1.下载JavaServer. 首先下载Javaserver,笔者使用的是JavaService-2.0.10,下载地址:http://javaservice.objectweb.org/ 2.安装JavaServer 安装JavaServer,将解压包放到指定的目录下即可,D:\Software\JavaService-...
  • Java桌面应用程序

    万次阅读 多人点赞 2017-04-13 15:27:47
    java桌面应用印象因为桌面程序运行在宿主机器上, 所以比如你运行java桌面程序,必然要安装java虚拟机, 也就是相当于在操作系统上再加一层抽象, 这与直接调用api的桌面程序效率相比,或多或少低一点。 因为...
  • eclipse启动创建java 虚拟机失败

    万次阅读 2017-04-05 09:13:32
     创建java 虚拟机失败,说明你配置的内存加起来超过了你计算机的实际可用内存(Xmx+MaxPermSize),或者超过了操作系统能够分配给java虚拟机的内存总和,导致虚拟机无法创建成功,所以一般改小一些就可以解决问题。...
  • CentOS6.5部署java应用程序

    千次阅读 2015-02-26 16:32:47
    1. Linux需要部署java项目. 就必须要借助 java service wrapper 来实现. 下载地址: ...下载Community版本 2. 下载好之后使用ftp上传到服务器. 在把文件复制到安装程序目录. # cp /home/www/ftpfile/w
  • mac上启动Java项目失败

    2016-12-29 19:23:00
    解决办法参考地址:http://bbs.csdn.net/topics/390813742,感谢csdn账号为iwordword的大神 转载于:https://www.cnblogs.com/lixiuming521125/p/6234592.html
  • centos7下将java程序设置成开机启动

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 207,325
精华内容 82,930
关键字:

java应用程序启动失败

java 订阅