摘要: 1、什么是MyBatis? MyBatis是Apache的一款开源的java的持久层框架,提供了SQL Map和DAO。支持普通的SQL查询,存储过程和高级的映射,myBatis将SQL语句和java代码分离开,解耦了代码,将接口和POJOs映射成数据库表的记录。 每个数据源对应一个SqlSessionFactory,SqlSessionFactory的创建 可以通过代码调用SqlSe... 阅读全文
posted @ 2017-08-07 17:11 pgrDog 阅读(248) 评论(0) 推荐(0)
摘要: java动态代理的定义:为其他目标类的方法增加切面的逻辑,即在执行目标类方法的时候,先去执行一段如校验检测的逻辑代码。java通俗一点就是生成一个继承目标类的子类,并在每个调用方法都添加一段逻辑。应用场景:当我们从别的项目迁移过来的代码进行修改的时候,如果有一个需求是当要执行某个业务类的所有方法前,需要校验其权限或其他的时候,如果这个类是源代码,我们还可以在类的基础上对每个方法区更改,但若是打包成... 阅读全文
posted @ 2017-05-10 17:58 pgrDog 阅读(303) 评论(0) 推荐(0)
摘要: 上一章我们简单的讲解了什么是动态代理和如何使用动态代理。这章讲解一下jdk的动态代理的内部实现:首先查看测试代码: //创建一个静态方法,生成代理类, public static Object newProxyInstance(Object speak){ System.out.println(JDKDynamicProxy.class.getClass... 阅读全文
posted @ 2017-05-10 17:58 pgrDog 阅读(175) 评论(0) 推荐(0)
摘要: I、java同步锁重量级锁具有很大互斥性,线程的堵塞和唤醒都需要从用户态Ring3到内核态Ring0,频繁的切换会加重cpu的负担。传统的synchronized属于重量级锁,其实现原理基于对Mutex锁的调用,在每个对象的对象头都有一个指向Monitor的指针,线程在执行同步代码块的时候,会先执行MonitorEnter,获取Monitor的锁,退出时执行MonitorExit,同步方法则在方法... 阅读全文
posted @ 2017-04-20 12:57 pgrDog 阅读(417) 评论(0) 推荐(0)
摘要: I、java对象引用的介绍jdk1.2之前,当对象没有指向它的引用的时候,这个对象就会被gc回收,但有时候我们需要拿回来使用,又没有了其引用,只能重新构建一个对象,若优化的话就做HashMap去缓存到内存,但若对象构建消耗的代价高或者数量比较多的时候,内存就oom。jdk1.2后,java把对象的引用分为了4种级别,使得程序能够灵活的控制对象的生命周期: 1)强引用。强引用是最普遍的,当一个... 阅读全文
posted @ 2017-04-10 14:10 pgrDog 阅读(897) 评论(0) 推荐(0)
点击右上角即可分享
微信分享提示