自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(259)
  • 收藏
  • 关注

原创 硬核!最全“Java 面试宝典 +Java 核心知识集”,一箭双雕杠春招

搬砖也有好几年了,本想在金三银四跳槽来着,结果我想你们应该猜到了,于是计划着下半年跳槽试试,算是提前为金九银十做准备吧!现在着手准备着以防万一自己措手不及,这不,这几天刚整理出炉的两份最全!!),因此有了今天咱这篇文章,没错,我又来分享干货了!!!

2023-04-23 15:12:32 389 1

原创 2023 春招、金三银四,面试官必问的 1000 道 Java 面试题及答案整理

不论是校招还是社招都避免不了各种面试,如何去准备面试就显得格外重要。这不马上金三银四了,相信有很多小伙伴为社招或跳槽做准备,最近小编也常常在刷面试题,发现网上很多 Java 面试题都没有答案,所以花了很长时间搜集整理出来了这套 Java 面试题大全,希望对大家有帮助哈~博主已将以下这些面试题整理成了一个 Java 面试手册,是 PDF 版的。

2023-04-23 14:31:43 379

原创 聊聊 MyBatis 缓存机制

更新了 id 为 1 的学生的姓名,从凯伦改为了小岑,但 session1 之后的查询中,id 为 1 的学生的名字还是凯伦,出现了脏数据,也证明了之前的设想,一级缓存只在数据库会话内部共享。在阅读相关核心类代码后,从源代码层面对一级缓存工作中涉及到的相关代码,出于篇幅的考虑,对源码做适当删减,读者朋友可以结合本文,后续进行更详细的学习。,是对 Cache 接口最基本的实现,其实现非常简单,内部持有 HashMap,对一级缓存的操作实则是对 HashMap 的操作。那么,一级缓存的工作流程是怎样的呢?

2023-04-23 14:29:50 396

原创 MyBatis 批量插入数据的 3 种方法!

本文我们介绍了 MyBatis 批量插入的 3 种方法,其中循环单次插入的性能最低,也是最不可取的;使用 MyBatis 拼接原生 SQL 一次性插入的方法性能最高,但此方法可能会导致程序执行报错(触发了数据库最大执行 SQL 大小的限制),所以综合以上情况,可以考虑使用 MP 的批量插入功能。

2023-04-23 14:00:49 4214

原创 最新阿里蚂蚁金服四面(已拿 offer)Java 技术面经总结

阿里十分注重你对源码的理解,对你所学,所用东西的理解,对项目的理解。所以接下来为了针对大厂面试,小编又来分享资料了​​​。

2023-04-20 14:30:20 178

原创 MyBatis 学习笔记之配置文件

mybatis-config 官方配置文档 : https://mybatis.org/mybatis-3/zh/configuration.html#settingsproperties 属性配置mybatis 官方属性文档 : https://mybatis.org/mybatis-3/zh/configuration.html#properties属性,可以直接赋值,也可以外部进行配置,同一属性名以最后加载的为准;通过方法参数传递的属性具有最高优先级,resource/url

2023-04-20 14:24:54 152

原创 神了!阿里 P8 纯手写出了这份 10W 字的 MyBatis 技术原理实战开发手册

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java 对象)映射成数据库中的记录前几天和一位阿里的大佬喝茶的时候讨论到了mybatis,没想到大佬直接甩给我一份手册(MyBatis 技术原理实战开发手册),这本书完全。

2023-04-20 14:07:50 73

原创 SSM 框架之 Mybatis 整合

(2)新建一个普通 maven 项目作为父项目,并导入 sql 驱动,mybatis,junit 组件(3)新建一个新组件作为子级项目,普通 maven 的 module(4)添加配置文件在 src->main->resources 目录下新建 mybatis-config.xml 文件,把官方的配置代码复制粘贴(不能在配置文件中写中文注释)配置文件的作用就是连接数据库2、编写 mybatis 工具类3、编写相关代码(1)实体类(2)Dao 接口(3)xxxMapper.xml 配置文件。

2023-04-20 14:05:35 220

原创 三面头条 + 四面阿里 + 五面腾讯拿 offer 分享面经总结,java 最新多线程面试题及答案

学习技术一定要制定一个明确的学习路线,这样才能高效的学习,不必要做无效功,既浪费时间又得不到什么效率,大家不妨按照我这份路线来学习。大家不妨直接在牛客和力扣上多刷题,同时,我也拿了一些面试题跟大家分享,也是从一些大佬那里获得的,大家不妨多刷刷题,为金九银十冲一波!

2023-04-20 13:57:48 218

原创 Mybatis 的工作流程及原理

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(普通的 Java 对象)映射成数据库中的记录。

2023-04-20 13:56:04 780

原创 MYSQL 索引知识大集合

本文将从以下几方面分别介绍 MYSQL 索引相关的知识:y 引擎各自的优劣;2、InnoDB 索引原理:为何要用 B+树,B+树可以存储的数据量;3、索引的分类:聚簇索引 &非聚簇索引、联合索引、唯一索引等,这些索引在 B+树中如何存储及查询;4、索引的使用:如何使用索引及索引失效的场景,避免踩坑;

2023-04-19 17:30:02 91

原创 GitHub 无抗手!MySQL DBA 攻坚指南一出,阿里数据库专家都解脱了

我先叭叭哈~大家可能并不觉得,数据库其实非常重要,每个业内巨头,每个成熟的互联网产品都有多个数据库系统,能保证,并非易事。尤其是银行、电商、电信、电力、航空等实时交易重要的环境中,实现业务功能,要懂基本的 SQL 语句;性能优化,索引、引擎就要摸透;想分库分表,主从同步机制、读写分离必须得了解;安全方面,你得知道权限、备份、日志等等;涉及到云数据库,就得懂源码及瓶颈。而 MySQL 之所以能在多种不同场景中应用并发挥良好作用,离不开其背后优秀的架构设计(连接层、服务层、引擎层、存储层),。

2023-04-19 17:29:10 383

原创 Linux 下通过 tar 包方式安装 MySQL,详细教程

目前网络上大多数的安装教程采用的是 rpm 的方式,此种方式是需要虚拟机联网完成的,我介绍的是使用 tar 包的方式安装 mysql5.7 的方法。首先要注意的一点是,在输入命令的时候你一定要注意你是在哪个文件夹下输入的命令,因为不同的文件夹下有些命令可能执行是完全错误的。还需要注意的一点,我的 mysql 文件叫做 mysql57,我的 mysql57 是安装在/usr/local/文件夹下的,你当然可以按照自己的喜好去选择位置,选择名字,但是最好可以和我统一一下,可以避免很多不必要的麻烦。

2023-04-19 17:28:06 1958

原创 怎样快速地迁移 MySQL 中的数据?

今天,我们介绍了三种数据库迁移的方式,分别是:逻辑迁移、文件迁移和物理迁移。逻辑迁移的方式主要是使用 mysqldump 命令进行迁移,其原理主要是将数据库中的数据和结构生成 SQL 文件,再导入即可。这种迁移方式主要适用于数据量比较小且服务器性能较好的场景下,例如数据连少于 500 万条以下的场景。文件迁移的方式其实也算是逻辑迁移的范畴,它主要通过命令将数据保存在文件中,然后再导入数据库即可,这种迁移方式是不会迁移表结构的,所以在导入数据之前需要手动创建表结构,其原理跟逻辑迁移的方式相同。

2023-04-19 16:40:14 275

原创 MySQL:如果被更新字段的新值与旧值相等,SQL 会被真正执行吗?

这个问题可能对我们平时做功能开发并没有多少帮助,但是深入了解其中的原理,可以让我们更好的理解 MySQL 的执行流程,知其然更知其所以然,与朋友同事吹牛 X 时也更有底气不是。如果您坚持看到结尾这里,不妨动手实践一下,文中的 binlog_format 格式为 statement,如果改成 row,执行结果又有什么变化?

2023-04-13 14:05:25 229

原创 数据库原理及 MySQL 应用 | 并发控制

无论何时,只要有多个查询需要在同一时刻修改数据,都会产生并发控制问题,MySQL 通过多版本并发控制和加锁实现并发控制。无论何时,只要有多个查询需要在同一时刻修改数据,都会产生并发控制问题,MySQL 通过多版本并发控制和加锁实现并发控制。多用户并发执行事务访问同一个数据库时,可能引发脏写、脏读、不可重复读、幻读等一致性问题。并发事务访问相同记录的情况,可分为以下三种。读-读即多个并发事务相继读取相同的记录。这种情况是允许的,因为读取操作不会修改记录的内容。写-写。

2023-04-13 14:02:27 213

原创 金三银四互联网大厂精选 1160 道 Java 面试题答案整理(2023 最新版)

最后想说的是,大厂面试远没有我们想的那么困难,摆好心态,做好准备,你也可以的。另外,面试中遇到不会的问题不妨尝试讲讲自己的思路,因为有些问题不是考察我们的编程能力,而是逻辑思维表达能力;最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。

2023-04-13 13:57:09 39

原创 MySQL:如果被更新字段的新值与旧值相等,SQL 会被真正执行吗?

这个问题可能对我们平时做功能开发并没有多少帮助,但是深入了解其中的原理,可以让我们更好的理解 MySQL 的执行流程,知其然更知其所以然,与朋友同事吹牛 X 时也更有底气不是。如果您坚持看到结尾这里,不妨动手实践一下,文中的 binlog_format 格式为 statement,如果改成 row,执行结果又有什么变化?

2023-04-13 13:54:50 472

原创 互联网工程师 1480 道 Java 面试题及答案整理 ( 2023 年 整理版)

最近很多粉丝朋友私信我说:熬过了去年的寒冬却没熬过现在的内卷;打开 Boss 直拒一排已读不回,回的基本都是外包,薪资还给的不高,对技术水平要求也远超从前;我国大概有 400-700 万程序员,其中光 Java 就占了一半。而大厂所需要的程序员是有限的,高薪也只能给到少数人,所以 Java 的竞争才会如此激烈,内卷化也越来越严重。我们不能改变内卷的大形势,能做的也就只有不断提升自己,去适应市场环境,提高自身技术水平,这样才能在跳槽黄金季拿到自己心仪的 Offer!

2023-04-13 13:52:05 42

原创 硬核!最全“Java 面试宝典 +Java 核心知识集”,一箭双雕杠春招

搬砖也有好几年了,本想在金三银四跳槽来着,结果我想你们应该猜到了,于是计划着下半年跳槽试试,算是提前为金九银十做准备吧!现在着手准备着以防万一自己措手不及,这不,这几天刚整理出炉的两份最全!!),因此有了今天咱这篇文章,没错,我又来分享干货了!!!

2023-04-10 17:10:03 166

原创 阿里巴巴内网 Java 面试 2000 题解析(2023 最新版

这份面试清单是今年 1 月份之后开始收集的,一方面是给公司招聘用,另一方面是想用它来挖掘在 Java 技术栈中,还有一些知识点是我还在探索的,我想找到这些技术盲点,然后修复它,以此来提高自己的技术水平。说实话刚开始的时候整理这些面试题还是比较犹豫的,毕竟需要耗费大量的时间去搜集,最后我终于想通了,觉得这未必是一件费力不讨好的事情,因为:1、有更多的人因此而学到了更多的知识,这不算是一件坏事,恰好相反。2、这只是一种经验的高度提炼,让那些有技术能力的人,学会如何表达自己所掌握的知识,这也是一件好事。

2023-04-10 17:08:55 133

原创 为什么 MySQL 不推荐使用 join?

在 MySQL 中,JOIN 语句用于将两个或多个表中的数据连接起来,从而实现关联查询。JOIN 语句通常用于查询包含相关数据的表,例如,查询一个人的所有订单或者查询一个订单中的所有产品。MySQL 支持多种 JOIN 类型,包括 INNER JOIN、LEFT JOIN、RIGHT JOIN 和 FULL OUTER JOIN。在这些 JOIN 类型中,INNER JOIN 是最常用的类型。

2023-04-10 17:07:55 434

原创 MySQL 中,SQL 查询总是先执行 SELECT 语句吗?

除此之外,在实际使用 MySQL 进行查询时,我们还可以通过使用 EXPLAIN 命令来查看 MySQL 的查询执行计划。EXPLAIN 命令可以帮助我们了解 MySQL 在执行查询时的具体执行顺序和优化策略,从而帮助我们更好地优化 SQL 查询语句,提高查询效率和性能。总之,MySQL 中的 SELECT 语句并不总是最先被执行,具体的执行顺序取决于查询中的具体情况。在实际使用 MySQL 进行查询时,我们应该根据具体的查询需求,合理地编写 SQL 查询语句,以获得更好的查询效率和更准确的查询结果。

2023-04-10 17:03:46 91

原创 开源 | Mysql 开启 ssl 加密协议及 Java 客户端配置操作指南

在一些情况下,为了保证应用程序到数据库之前数据传输的安全性,以及数据库查询完成之后返回给应用程序的传输中的安全性,可以通过开启 Mysql 的 SSl 加密协议来提高数据传输的安全性,下面将主要告诉大家如何开启 Mysql 权限管理账户的 SSL 权限以及 Java 客户端如何正确配置链接参数来实现应用程序到数据库的正常业务数据传输。

2023-04-07 16:24:17 1144

原创 弯道超车!GitHub顶级“Java面试总汇2023”大厂面试一一攻克

目前的java开发市场可谓是异常火热,无论大小公司java岗位都是供不应求。但没有找到满意工作或还在面试中的小伙伴还有很多。一个岗位前来竞争的人可谓是数之不尽。想要脱颖而出说白了还是得自身实力够硬,为了帮助大家顺利跳槽和面试,我特意准备了这份“java面试总汇2023”

2023-04-07 16:22:52 70

原创 Mybatis 中使用 ${}和使用#{}

Mybatis 在对 #{}进行预处理时,会把 #{}处理成占位符,实际执行的时候才会把参数替换进去,相当于 jdbc 的 PreparedStatement。2、#{}在使用时,会根据传递进来的值来选择是否加上双引号,因此我们传递参数时一般都是直接传递,不用加双引号;${} 则只是简单的字符串替换,在动态解析阶段,该 sql 语句会直接将变量值替换进去,这样就有可能会发生 sql 注入的风险。4、#{}针对 SQL 注入进行了字符过滤,${}则只是作为普通传值,并没有考虑到这些问题。

2023-04-07 16:22:17 166

原创 BAT必刷!GitHub顶级“2023并发编程全优笔记”晋升公司架构组!

​开头相信在金三银四面试的小伙伴应该最近有不少,很多小伙伴也跟我说过现在的问题问的是越来越底层。问题肯定是有很多的,但统一都认为很难的的一个就是多线程并发编程!在很多人的认知中对多线程并发编程都认为不简单需要有强大的底层知识,而今天结合我自己的经验再加上我朋友们的帮助特意给大家分享这份“2023并发编程全优笔记”绝对可以让大家加深对多线程的理解,也能让学习效率大大提升。

2023-04-07 16:21:18 54

原创 Docker | Compose 创建 mysql 容器

本文通过Docker Compose来创建mysql容器,收录至 Docker 专栏,想查看更多,欢迎来访问我的主页。

2023-04-07 16:20:47 80

原创 首次发布!Java 面试八股文让 569 人成功进入大厂,堪称 2022 最强面试八股文核心知识版!

2023 春招来临,很多同学会问 Java 面试八股文有必要背吗?。你可以讨厌这种模式,但你一定要去背,因为不背你就进不了大厂。国内的互联网面试,恐怕是现存的、最接近科举考试的制度。而且,我国的八股文确实是独树一帜。以美国为例,北美工程师面试比较重视(Coding),近几年也会加入(系统设计和面向对象设计 OOD)和(Behavioral question,行为面试问题)。那么为什么国内面试不采取这样的考察方式呢?也许现行的八股文面试不是最优的解法,但的确是最符合当前国内 IT 环境的做法。

2023-04-06 17:10:38 122

原创 Java 架构师面试题系列之 Mybatis 面试专题(36 题,含详细答案解析

实现 Mybatis 的 Interceptor 接口并复写 intercept()方法,然后在给插件编写注解,指定要拦截哪一个接口的哪些方法即可,记住,别忘了在配置文件中配置你编写的插件。5、Mybatis 动态 sql 是做什么的?都有哪些动态 sql?能简述一下动态 sql 的执行原理不?答:1)Mybatis 动态 sql 可以让我们在 Xml 映射文件内,以标签的形式编写动态 sql,完成逻辑判断和动态拼接 sql 的功能。2)Mybatis 提供了 9 种动态 sql 标签:trim|where

2023-04-06 17:05:46 208

原创 【IntelliJ IDEA】idea 中的插件之一:Free Mybatis plugin 跳转插件的使用(方便在 Dao 接口和 Mappper XML 文件之间进行切换)

最近在使用一个非常好用的跳转插件,用着很顺手,效率比之前提高了很多。之前使用 MyBatis 框架或者是在 IDEA 中,发现 Mapper 接口和 XML 文件之间跳转十分的麻烦,我之前经常的操作是在 Mapper 接口中将接口名称复制一下,然后去查找对应的 XML 文件,打开后 CRTL+F 查找对应的 xml 实现,整个过程效率很低下,搜了搜果然有前辈已经出了一款 IDEA 的插件解决了这个问题,把这个好用的跳转插件推荐给大家。

2023-04-06 17:03:03 1342

原创 2022 最新发布超全的 Java 面试八股文,整整 1700 页,太全了

我拉来几个大佬,汇总一线大厂的情况,给你整了一套超全的面试资料: 1658 页 Java 面试突击核心讲 包含的知识点也是比较广比较多的:java 基础、JVM、多线程、MySQL、spring、springboot、springcloud、dubbo、mybatis、redis、网络 IO、Linux、MQ、zookeeper、netty、大数据、算法、项目、设计模式等等;但是由于今年的大环境不好,好多厂裁员现象也层出不穷,尤其是腾讯、阿里、字节员工也不断爆出被裁的消息。下面将这份面试合集展示给大家。

2023-04-06 17:03:03 123

原创 程序员面试太卷?我选择背这份阿里最新 Java 面试八股文(详解版)

最近在后台和课堂上有很多小伙伴反应今年的面试问的越来越细,也越来越基础,越来越底层,摆着就是让我们“!!(感觉是在故意刁难我们这些技术人员了)需要背的 Java 面试八股文也是越来越多!为了帮助到大家 特意给总出来了 22 年大厂面试碰到最多的 Java 面试题合集,涉及知识点非常全面!项目框架,Spring、Mybatis 等框架实现原理是否熟悉?消息中间件,负载均衡、RPC 框架等技术是否有接触过?MySQL 分库分表是否做过?分布式架构设计,Redis 分布式锁是否有涉及?

2023-04-06 16:58:05 987

原创 跟我一起学 mybatis

4.1 核心配置文件介绍核心配置文件包含了 MyBatis 最核心的设置和属性信息。如数据库的连接、事务、连接池信息等。--MyBatis的DTD约束-->--configuration 核心根标签-->--environments配置数据库环境,环境可以有多个。default属性指定使用的是哪个-->--environment配置数据库环境 id属性唯一标识-->-- transactionManager事务管理。type属性,采用JDBC默认的事务-->

2023-04-06 16:56:16 47

原创 MySql 索引下推知识分享

首先,我们大致回顾下 mysql 的基本架构:MySQL 基本的架构示例图MySQL 服务层主要负责 SQL 语法解析、生成执行计划等,并调用存储引擎层去执行数据的存储和查询。索引下推的下推其含义就是指将部分上层(服务层)负责的事情,交给了下层(引擎层)去处理。在 MySql 5.6 版本之前没有索引下推这个功能,从 5.6 版本后才加上了这个优化项。我们先简单对比一下使用和未使用 ICP 两种情况下,MySql 的查询过程吧。- 存储引擎读取索引记录;

2023-04-04 17:03:30 1021

原创 程序员面试太卷?我选择背这份阿里最新 Java 面试八股文(详解版)

最近在后台和课堂上有很多小伙伴反应今年的面试问的越来越细,也越来越基础,越来越底层,摆着就是让我们“!!(感觉是在故意刁难我们这些技术人员了)需要背的 Java 面试八股文也是越来越多!为了帮助到大家 特意给总出来了 223年大厂面试碰到最多的 Java 面试题合集,涉及知识点非常全面!项目框架,Spring、Mybatis 等框架实现原理是否熟悉?消息中间件,负载均衡、RPC 框架等技术是否有接触过?MySQL 分库分表是否做过?分布式架构设计,Redis 分布式锁是否有涉及?

2023-04-04 17:02:25 307

原创 2023 年一线大厂 Java 面试八股文大全(整理版)附答案详解!

以上就是有关程序员面试专题的一些总结,面试不仅考的是技术还有心态,只要你有足够的技术支撑,心态要好,拿到 offer 肯定不在话下。先不要把它想得很困难,自己给自己设置槛!希望大家都可以拿到心仪 offer,走向升职、跳槽、涨薪、赢娶白富美之路!

2023-04-04 16:59:53 440

原创 MySQL 之 my.cnf 配置文件

linux 下安装 mysql 连接的时候经常回提示说找不到 mysql.sock 文件,解决办法很简单: 1.如果是新安装的 mysql,提示找不到文件,就搜索下,指定正确的位置。此时,所有的进程都被关闭掉了,综合上述操作,我们可以发现,当 mysqld_safe 进程存在时,我们无法直接杀掉 mysqld 进程,当我们杀掉 mysqld_safe 进程的时候,此时才可以杀掉 mysqld 进程,这便是 mysqld_safe 的守护进程作用,它可以防止 mysqld 进程被意外终止。

2023-04-04 16:56:12 1219

原创 Github 最新霸榜!“精华版”Java 八股文 10 天帮你彻底解决大厂难题

好了,本文到这里就结束了以上就是《2023 精华版 Java 面试八股文》的大致内容了。

2023-04-04 16:55:44 63

原创 携程 MySQL 迁移 OceanBase 最佳实践|分享

MySQL 在业界流行多年,在很长一段时间很好地支撑了携程的业务发展。但随着技术多元化及业务的不断发展,MySQL 也遇到了新的挑战,主要体现在:业务数据模型呈现多元化,OLTP 和 OLAP 出现融合的趋势;在 MySQL 数据库上慢查询治理成本高;使用传统的分库分表方案对开发不友好,核心数据库改造成分库分表方案,时间一般以年为单位。分布式数据库能比较好地解决上述问题,同时也带来了新的挑战。2021 年,OceanBase 开源,携程开始逐步探索 OceanBase 的基本特性和应用场景。

2023-04-04 16:53:51 322

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除