- 博客(6)
- 收藏
- 关注
原创 JVM相关异常
Java虚拟机相关的问题一般多是下面几种问题:gc时间过长、OOM、死锁、线程block、线程数暴涨等问题按照内存区域一般有以下的异常:(1)java堆:常见异常:java.lang.OutOfMemory Error:Java heap space控制参数:-Xms(初始化堆)-Xmx(最大堆)-Xmn(新生代)解决思路:1、先查看是不是内存泄漏(内存中的对象是不是必须的),如果是泄漏,则找到与GC root 的路径解决泄漏2、看物理内存是否允许加大-Xms,-Xmx3、检查堆中是不是有对
2020-07-30 17:35:11
349
原创 java开发数据库相关异常
关注日志中出现的Could not get JDBC Connection,JDBCException此时需要查看数据库连接请求、是否连接数过大,是否出现死锁、查看数据库日志定位具体SQL除以上原因之外,以下几点也是项目在数据库方面容易出现的异常:SQLException与sql语句相关的错误,如:原因:(1)约束错误(2)关闭的连接(线程绑定以后,当在DAO里将连接关闭以后在业务层无法调取commit()与rollback())(3)表名、列名书写错误:把sql语句在数据库中运行一次,检
2020-07-30 17:34:30
673
原创 Spring事务的基本原理、传播属性、隔离级别
一、事务的基本原理Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。对于纯JDBC操作数据库,想要用到事务,可以按照以下步骤进行:1.获取连接 Connection con = DriverManager.getConnection()2.开启事务con.setAutoCommit(true/false);3.执行CRUD4.提交事务/回滚事务 con.commit() / con.rollback();5.关闭连接 conn.close(
2020-07-30 17:32:56
185
原创 Java常见问题排查宝典
jps输出JVM中运行的进程状态信息-q 不输出类名、Jar名和传入main方法的参数-m 输出传入main方法的参数-l 输出main类或Jar的全限名-v 输出传入JVM的参数jps -m -l1217 com.xxxx.sunfire.agent.Main3093 org.apache.catalina.startup.Bootstrap start84153 sun.tools.jps.Jps -m -ljps -mlvVjinfo//查看进程系统配置信息和参数jinfo
2020-07-30 17:30:44
189
原创 解决Maven中依赖冲突问题
1、eclipse打开pom.xml文件,选择Dependecy Hierarchy,双击查看当前Artifact Id,和Parent的Artifact Id,如下图所示:2、在右侧界面选择最低版本的jar包,右击后点击Exclude Maven Artifact选项,如下图所示3、保存pom.xml即可修改后的dependency内容为...
2020-07-30 17:28:16
293
转载 JVM 发生 OOM 的 8 种原因、及解决办法
撸Java的同学,多多少少都会碰到内存溢出(OOM)的场景,但是造成OOM原因却不止一个。堆内存不足这种场景最为常见,报错信息:java.lang.OutOfMemoryError: Java heap space原因1、代码中可能存在大对象分配2、可能存在内存泄露,导致在多次GC之后,还是无法找到一块足够大的内存容纳当前对象。解决方法1、检查是否存在大对象的分配,最有可能的是大数组分配2、通过jmap命令,把堆内存dump下来,使用mat工具分析一下,检查是否存在内存泄露的问题3、如
2020-07-30 17:24:36
470
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人