MyBatis

jvm垃圾回收算法

廉价感情. 提交于 2020-12-03 15:28:13
前言 java相较于c、c++语言的优势之一是自带垃圾回收器,程序开发人员不用手动管理内存,内存的分配和释放完全由gc(Garbage Collector)来做,极大地提高了软件开发效率及程序健壮性(手动管理内存容易造成内存泄漏)。凡事皆有两面性,java gc在给我们带来内存管理便捷性的同时,也面临STW(Stop The World)影响程序吞吐的缺陷。作为java开发人员,只有深入理解jvm垃圾回收的机制,才能在程序性能出现瓶颈时,更好的对程序进行优化。 欢迎学Java和大数据的朋友们加入java架构交流: 855835163 群内提供免费的架构资料还有:Java工程化、高性能及分布式、高性能、深入浅出。高架构。性能调优、Spring,MyBatis,Netty源码分析和大数据等多个知识点高级进阶干货的免费直播讲解 可以进来一起学习交流哦 垃圾确定 在垃圾回收之前,jvm需要确定哪些对象已死,即需要当做垃圾被回收。垃圾确认的方法传统的有引用计数法:用一个引用计数器来标记对象当前的引用次数,当引用计数为0时,对象可回收。这种方法有个弊端是无法解决循环引用的问题,如两个对象相互引用则它们永远不会释放。另外一种方法是可达性分析算法,目前主流的语言(java、c#、golang等)都是采用这种方法来判定一个对象是否存活。可达性分析算法的思路是:将一系列根对象作为起点

面试字节跳动Java一面问题基本都答对了,邮件通知被刷了,hr回复原因竟然是...

拈花ヽ惹草 提交于 2020-12-03 13:10:49
简介 面试是上海的Java岗位,周日一轮面试,自我感觉答的都还不错。 结果收到邮件面试结束了,说什么"你优秀的学识和能力给我们留下了深刻的印象!经过对你综合情况的仔细评估,并经过与岗位需求进行谨慎匹配和权衡之后, 非常遗憾,我们这次没有和你达成合作。但你的信息已经被录入到公司人才库"。意思就是挂了呗。 后来打电话问hr,说是我擅长的技术不是他们所需要的,???(黑人问号)。然后面试过程中,有一点奇怪的地方,面试前面试官跟我说我面的而这个岗位有点奇怪,他也没跟我说哪奇怪。 本文分享给需要面试刷题的朋友,另外本人也整理了一份资料包含了Java基础,数据结构,jvm,Redis,并发多线程,分布式,数据库等等,由于篇幅有限,以下只展示小部分面试题,有需要的朋友可以点击进群 795983544 领取,暗号CSDN 面试官的问题: 1.自我介绍 2.介绍印象深刻的项目,我介绍的是最新在做的项目,用到的技术,自己做的哪些模块? 回答:讲了用到的设计模式——模版方法,然后讲了模式方法的实现 3.因为最新的项目用到了,问了Spring Boot,Spring的区别? 回答:去配置化话,然后其他的基本一样,顺便说了一下Spring MVC的原理 4.Spring 的 bean是什么?我说了IOC、DI、Bean之间的关系 5.Hibernate 和 Mybatis的区别? 6

致敬最优秀的同行者们

余生颓废 提交于 2020-12-03 07:42:11
做 积 极 的 人 , 越 努 力 越 幸 运 ! 真的非常开心,『中间件兴趣圈』公众号粉丝数正式迈过1W大关,达成一个重要里程碑,笔者感慨真的不容易。 2018年10月19号通过公众号发布第一篇文章,到今天为止,公众号已经发表了145篇原创文章,坚持真的很难,但只要能坚持,就一定会有好的收获,这不,你瞧,1W个人与你一起同行,这成就不可谓不大。 在持续坚持努力下,我出版了《RocketMQ技术内幕》一书,从一家名不经传的小公司顺利跳槽到快递物流头部企业:中通快递,让我能在更高的平台上发光发热,使我深深的认识到: 越努力越幸运,唯有坚持不懈 。希望能用这句话与各位粉丝朋友共勉,相互交流,共同成长。 相信各位读者朋友们也能直观的感受到『中间件兴趣圈』主要发表的文章都比较枯燥,因为大部分都是以源码分析为主,认真读完一篇文章需要极大的耐心,我从后台的统计数据上看到,每篇文章的读完率其平均值在50%左右,这足以说明大家拥有强烈的求知欲望,这里必须有掌声,为各自点个赞吧。与各位优秀的读者同行,是我的一大荣幸,未来继续加油。 『中间件兴趣圈』的定位是记录笔者的学习历程与成长历程,同时也起到驱动笔者去学习,给自己提的要求是尽最大努力保证一周一篇原创文章。 绝不注水、绝不洗稿,这是我的初心也是底线。 『中间件兴趣圈』现阶段主要以源码分析为手段成体系剖析JAVA主流中间件

配置 mybatis 打印出执行的 sql 及返回的结果集

此生再无相见时 提交于 2020-12-03 01:25:01
在开发过程中, 经常会遇到想要看到应用所执行的 sql 这样的需求. 比如你写了一个查询的功能, 但查询出来的结果与你预期的不符合, 你想搞清楚到底哪里出了问题, 你自然需要看看所执行的 sql 语句, 必要的话甚至还要亲自拷贝到数据库里去查查. 自然, 这就要求应用要能把执行的 sql 输出出来. 以常用的 mybatis 框架为例, 来看一个最终的效果: 14:48 ==> Preparing: select * from user where id = ? 14:48 ==> Parameters: 1(Integer) 14:48 <== Total: 1 另注: 这里的日志布局我启用了一种极简的风格, 只有"分钟:秒数", 具体见 配置简化开发阶段日志输出布局 的介绍. 那么, 在 mybatis 里, 这个要怎么做到呢? 配置 sql 输出 具体来说, 是要增加一个日志级别的配置, 将 dao(或 mapper) 包级别调整到 DEBUG . 示例: # log sql statement logging.level.net.xiaogd.sample.mybatis.dao=DEBUG 注: 上述配置建议放在你的本地开发环境配置文件中, 通常为 application-dev.properties, 关于 spring-boot 的 分环境配置 的 profile

2015到2020JAVA架构技术演进,阿里架构师到底有多牛逼?

自作多情 提交于 2020-12-02 15:25:58
V1.0拥抱架构师 更仔细架构演进图以及更多学习资料点此免费领取! V2.0拥抱微服务 V3.0拥抱互联网实战 Spring全家桶 更仔细架构演进图以及更多学习资料点此免费领取! Spring框架/Boot框架/微服务 分布式架构 RPC调用/zookeeper/dubbo框架 高并发技术 线程并发/网络技术/缓存技术/消息队列/负载均衡 高性能存储 数据库集群/搜狗引擎/Mongo 更仔细架构演进图以及更多学习资料点此免费领取! 性能优化 SQL优化/JVM性能优化/WEB程序优化 容器化技术 Docker/K8S容器编排 DevOps Git/Maven/Jenkins 大型互联网项目实战 干货视频,高级架构师最新java、spring、Redis、JVM、分布式、高并发。里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring,MyBatis,Netty源码分析,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点高级进阶干货的免费直播讲解。 更仔细架构演进图以及更多学习资料点此免费领取! 精选JAVA 高并发分布式架构课程视频 高可用、高并发、高性能及分布式、Jvm性能调优、Spring,MyBatis,Netty源码分析,Redis,Kafka,Mysql,Zookeeper,Tomcat

Mybatis的前世今生

巧了我就是萌 提交于 2020-12-02 10:12:10
一、MyBatis的简介 MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录. 二、MyBatis的历史 原是 apache 的一个开源项目 iBatis , 2010年6月这个项目由 apache software foundation 迁移到了 google code ,随着开发团队转投 Google Code 旗下, ibatis3.x 正式更名为 Mybatis ,代码于2013年11月迁移到 Github 。 iBATIS 一词来源于“ internet ”和“ abatis ”的组合,是一个基于Java的持久层框架。 iBATIS 提供的持久层框架包括 SQL Maps 和 Data Access Objects(DAO) 三、MyBatis的基本说明 (1) 、 MyBatis 是一个工作在持久层的框架,它不再是一个标准的 ORM 框架 我们先看看Hibernate是如何对数据库进行操作 我们再来看看Mybatis如何对数据库进行操作 因为它只管理了SQL语句和Java之间的关联和映射

推荐一款实用神器

南楼画角 提交于 2020-12-02 10:11:11
点击上方蓝字关注 👆👆 今天推荐一款神器,WEB前端助手:FeHelper chrome的插件,集json串格式化、代码美化、代码压缩、二维码生成、页面取色等于一身,强烈推荐大家安装使用。 JSON格式化: JS美化: 生成文字“我的小碗汤”二维码: 网页滚动截屏,这个功能很实用吧: markdown转换: 时间戳转换工具: 用JavaScript正则表达式匹配手机号: 其他功能大家可以下载安装体验。插件可以关注公众号后,回复 fehelper 获得。 最后我为大家收集了些学习资料,如果你准备入IT坑,励志成为优秀的程序猿,那么这些资源很适合你。可以选择自己喜欢的,在公众号后台回复 : java 、 go 、 python 、 springcloud 、 elk、嵌入式 获得对应资源,如果获取到的链接失效,请后台回复。 同时我们组建了一个技术交流群,里面有很多大佬,会不定时分享技术文章,如果你想来一起学习提高,可以加我微信【211140918】备注【加群】,期待你的加入! END 本文由“壹伴编辑器”提供技术支持由“壹伴编辑器”提供技术支持 推荐阅读: 推荐一款超好用的工具 四款神器,教你笑傲江湖 发送手机验证码实现 SpringMVC实现发送邮件 历史文章: 图形验证码实现 打印日志的几种方式 这个404你能解决吗? mysql支持原生json使用说明

MyBatis模糊查询和多条件查询

天涯浪子 提交于 2020-12-02 05:35:22
一、ISmbmsUserDao层 //根据姓名模糊查询 public List<Smbms> getUser(); //多条件查询 public List<Smbms> getLikeUser(@Param("userName") String userName , @Param("userCode") String userCode ); 二、小配置文件 ISmbmsUserDao.xml <!--根据姓名模糊查询--> <select id="getUser" resultType="com.smbms.entity.Smbms"> <!--select * from smbms_user where userName like CONCAT('%',#{userName},'%')--> select * from smbms_user where userName like '%' #{userName} '%' </select> <!--多条件查询--> <select id="getLikeUser" resultType="com.smbms.entity.Smbms"> <!--select * from smbms_user where userName like CONCAT('%',#{userName},'%')--> select * from

推荐一款 API 敏捷开发工具

自古美人都是妖i 提交于 2020-12-01 21:32:48
作者:棒锤 xie.infoq.cn/article/b5c3a339267e1351c6151b42a 初衷 用尽可能简单的方式,完成尽可能多的需求。通过约定的方式 实现统一的标准。告别加班,拒绝重复劳动,远离搬砖 特性 用于快速开发API接口。不再定义 Controller , Service , Dao , Mybatis , xml , Entity , VO 等对象和方法. 可视化界面,将入参自动封装到可执行的脚本上,支持所有关系性数据库SQL执行语句,非关系型 MONGODB 查询语句.欢迎扩展 完全基于springboot2.x 作为springboot项目的stater方式集成,无侵入性,新老项目都能快速集成 只需编写一行代码即可完成大部分的业务需求开发,使用难度级别(测试 or 运维)也可参与开发 在线动态编译,无需重启,即时生效,多数据源操作 版本控制,历史记录比对,回滚等功能 远程一键发布到线上环境 线上POSTMAN调试,保存POSTMAN信息或三方文档的自动生成,历史调用记录存储,回塑 代码提示,SQL提示,语法提示 用户管理控制,安全性控制,以及历史行为记录 经过多次项目验证,传统业务型开发,服务端效率能够提升3-5倍,前后端联调提升效率1倍,测试效率2倍提升 传统开发步骤: 增加一张表 创建实体对象,映射这张表 创建API入参VO 创建API出参VO

阿里P8大牛的10万字《Java架构进阶面试知识笔记》全能架构师的资源全在这了!

生来就可爱ヽ(ⅴ<●) 提交于 2020-12-01 14:56:00
利用空余时间整理了一份《Java架构进阶核心知识点笔记》,初衷也很简单,就是希望在面试的时候能够帮助到大家,减轻大家的负担和节省时间。 之前有分享过这份知识点笔记的初稿,现在又对知识点笔记进行了一定的优化。于是有了现在的V2.0版本的面试手册。 有需要的朋友可以在文末获取领取方式! 废话不多说,本手册目前为第二版,内容有以下板块: 基础篇 JVM篇 多线程&&并发篇 Spring篇 MyBatis篇 SpringBoot篇 MySQL篇 Redis篇 SpringCloud篇 Nginx篇 MQ篇 MongDB篇 设计模式篇 分布式篇 数据结构与算法篇 Linux篇 简历篇 整个小册子目前 六万 字左右,部分截图: 为了不影响阅读,这些知识点模块都整理出了详细的图文,有需要的朋友麻烦转发关注后扫描小编的二维码即可免费领取!!! 最后,还给大家带来了一份全面的面试宝典,想要领取的朋友们只需要扫描小编的二维码即可免费领取!!! 来源: oschina 链接: https://my.oschina.net/u/4409765/blog/4767625