开发者社区> 问答> 正文

[@talishboy][¥20]1 JVM既然有GC机制,为什么还会有内存泄露的情况? 2 简单解释一下spring的AOP? 3 . JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的?

1 JVM既然有GC机制,为什么还会有内存泄露的情况? 2 简单解释一下spring的AOP? 3 . JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的?

展开
收起
jack胡 2018-12-17 16:37:54 4196 0
2 条回答
写回答
取消 提交回答
    1. GC是自动来回收内存,但如果编码不当,导致分配的内存无法被回收,GC算法再智能也没用啊
    2. Spring的AOP就是 面向切面编程,做一些主流程之外的统一模板类的工作,比如对一类service进行AOP拦截,来打印调用日志
    3. JDBC编程本身没问题,只是开发者需要感知java sql接口中获取连接、查询、断开连接等一些繁琐的机械化的工作,而Mybatis将这些细节全部屏蔽,开发者只需关注业务本身,极大降低了开发维护工作量
    2019-07-17 23:22:33
    赞同 展开评论 打赏
    1. gc机制解决的是内存不够时的回收问题,因此,开发者在正常编码的情况下无需关心内存释放相关的issue,而gc释放内存是基于引用关系进行释放的,但是如果编码异常,导致引用无法是否,自然就无法gc,也就是内存泄露。
    2. AOP非Spring特有,它是特指面向切面编程,说明。总得来说,AOP是一种编程范型,它以一种称为侧面(aspect)的结构为基础,用来描述分散在对象、类或函数中的横切关注点。Spring AOP是对这种范型的实现,通过类似@Aspect, @Around进行简化编程。
    3. JDBC编程功能上没有任何不足,只是写起来不方便,需要了解所有的规范,MyBatis利用ORM机制,用开发者擅长的面向对象机制进行了简化,因此,开发者无需关注JDBC规范。
    2019-07-17 23:22:33
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载