
后端
文章平均质量分 83
图灵学院架构师
这个作者很懒,什么都没留下…
展开
-
MyBatis基于XML的详细使用-参数、返回结果处理
1、参数的获取方式2、参数的传递方式3、处理集合返回结果4、自定义结果集---resultMap1、参数的取值方式 在xml文件中编写sql语句的时候有两种取值的方式,分别是#{}和${}, 下面来看一下他们之间的区别:2、select的参数传递3、处理集合返回结果EmpDao.xmlUserDao.java4、自定义结果集resultMapEmpMapper.xml需要该文章相关资料+代码,可关注...原创 2022-05-06 19:50:49 · 532 阅读 · 0 评论 -
Mybatis的介绍和基本使用
01、Mybatis的介绍和基本使用 1、数据库操作框架的历程 (1) JDBC (2) DBUtils (3)Hibernate (4) JDBCTemplate 2、什么是Mybatis? 3、快速搭建Mybatis项目 5、配置文件详解 1、数据库操作框架的历程 (1) JDBC JDBC(Java Data Base Connection,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Ja原创 2022-04-30 21:00:00 · 1688 阅读 · 0 评论 -
BATJ面试题汇总及详解(进大厂必看)(65页)
阿里云面试分享 一、开场白 简单的介绍一下自己的工作经历与职责,在校或者工作中主要的工作内容,主要负责的内容; (你的信息一清二白的写在简历上,这个主要为了缓解面试者的压力) 介绍下自己最满意的,有技术亮点的项目或平台,重点介绍下自己负责那部分的技术细节;(主 要考察应聘者对自己做过的事情是否有清晰的描述,判断做的事情的复杂度) 二、Java多线程 线程池的原理,为什么要创建线程池?创建线程池的方式; 线程的生命周期,什么时候会出现僵死进程; 说说线程安全问题,什么实现线原创 2022-04-27 19:31:11 · 283 阅读 · 0 评论 -
Lombok快速入门
1.安装idea lombok插件2.加入 maven 依赖1. @Getter/@Setter 自动产生 getter/setter2. @ToString自动重写 toString() 方法,会印出所有变量3. @EqualsAndHashCode 自动生成 equals(Object other) 和 hashcode() 方法,包括所有非静态变量和非 transient 的变量如果某些变量不想要加进判断,可以透过 exclude 排除...原创 2022-04-25 19:19:34 · 199 阅读 · 0 评论 -
MyBatisPlus快速入门
MyBatis-Plus快速入门 介绍特性: 1、mybatis-plus 快速使用 2、基于mybatis-plus的入门helloworld---CRUD实验 3、不得不提的条件构造器---Wrapper 4.扩展全局ID生成策略 逻辑删除 执行 SQL 分析打印 数据安全保护 乐观锁插件使用 5、代码生成器 介绍 MyBatisPlus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开原创 2022-04-23 21:00:00 · 166 阅读 · 0 评论 -
Spring Cloud动画视频笔记
配置中⼼什么是配置中心微服务系统中,存在很多功能开关和各种参数的配置项,传统的配置⽂件、数据库等⽅式⽆法满⾜开发⼈ 员对配合管理的需求,此时,分布式配置中⼼应运⽽⽣。配置中⼼的特点1、统⼀管理:配置中⼼服务端负责配置的管理(新增、修改、删除、发布),集成了配置中⼼客户端的微 服务程序可以统⼀从配置中⼼服务端拉取配置,从⽽实现整个微服务系统的统⼀配置管理。2、区分环境:⼀个微服务应⽤中的某些配置项,在不同的环境(开发、测试、⽣产)通常是不同的,作为 分布式配置中⼼需要具有隔离不..原创 2022-04-08 20:00:00 · 711 阅读 · 0 评论 -
阿⾥、京东、蚂蚁等⼤⼚⾯试真题解析
阿⾥⼀⾯说⼀下ArrayList和LinkedList区别1. ⾸先,他们的底层数据结构不同,ArrayList底层是基于数组实现的,LinkedList底层是基于链表实现 的2. 由于底层数据结构不同,他们所适⽤的场景也不同,ArrayList更适合随机查找,LinkedList更适合删 除和添加,查询、添加、删除的时间复杂度不同3. 另外ArrayList和LinkedList都实现了List接⼝,但是LinkedList还额外实现了Deque接⼝,所以 LinkedList还可以当做队原创 2022-04-03 19:34:28 · 306 阅读 · 0 评论 -
Redis持久化
RDB快照(snapshot) 在默认情况下, Redis 将内存数据库快照保存在名字为 dump.rdb 的二进制文件中。 你可以对 Redis 进行设置, 让它在“ N 秒内数据集至少有 M 个改动”这一条件被满足时, 自动保存一次数据集。比如说, 以下设置会让 Redis 在满足“ 60 秒内有至少有 1000 个键被改动”这一条件时, 自动保存一次 数据集: # save 60 1000 //关闭RDB只需要将所有的save保存策略注释掉即可 还可以手动执行命令生成RDB快照原创 2022-04-01 19:43:29 · 1203 阅读 · 0 评论 -
缓存设计典型问题
缓存穿透 缓存穿透是指查询一个根本不存在的数据, 缓存层和存储层都不会命中, 通常出于容错的考虑, 如果从存储 层查不到数据则不写入缓存层。 缓存穿透将导致不存在的数据每次请求都要到存储层去查询, 失去了缓存保护后端存储的意义。 造成缓存穿透的基本原因有两个: 第一, 自身业务代码或者数据出现问题。 第二, 一些恶意攻击、 爬虫等造成大量空命中。 缓存穿透问题解决方案: 1、缓存空对象2、布隆过滤器 对于恶意攻击,向服务器请求大量不存在的数据造成的缓存穿透,还可以原创 2022-03-31 19:26:05 · 756 阅读 · 0 评论 -
Spring中的循环依赖
什么是循环依赖? 很简单,就是A对象依赖了B对象,B对象依赖了A对象。 ⽐如:那么循环依赖是个问题吗? 如果不考虑Spring,循环依赖并不是问题,因为对象之间相互依赖是很正常的事情。 ⽐如:这样,A,B就依赖上了。 但是,在Spring中循环依赖就是⼀个问题了,为什么? 因为,在Spring中,⼀个对象并不是简单new出来了,⽽是会经过⼀系列的Bean的⽣命周期,就是因为 Bean的⽣命周期所以才会出现循环依赖问题。当然,在Spring中,出现循环依赖的场景很多原创 2022-03-29 19:24:43 · 910 阅读 · 0 评论 -
多线程相关面试题
1、什么是进程?什么是线程? 进程是操作系统分配资源的最小单元 线程是操作系统调度的最小单元。 一个程序至少有一个进程,一个进程至少有一个线程。 2、JVM、JRE、JDK的关系? JVM:(Java Virtual Machine),Java 虚拟机。它能识别 .class后缀的文件,并且能够解析它的指令,最终调用操 作系统上的函数,完成我们想要的操作。 3、JVM中可以运行多种语言吗? 图灵学院JVM只识别字节码,所以JVM其实跟语言是解耦的,也就是没有直接关联。原创 2022-03-28 19:18:29 · 733 阅读 · 0 评论 -
零基础入门PostgreSQL
一、PG简介PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。PostgreSQL 开发者把它念作 post-gress-Q-L。PostgreSQL 的 Slogan 是 "世界上最先进的开源关系型数据库"。“开源界的Oracle”,去O首选PostgreSQL官网PostgreSQL: The world's most advanced open source databasePostgreSQL中文社区Postgr原创 2022-03-26 20:00:37 · 1714 阅读 · 0 评论 -
Java自学路线总结
Java基础做java开发,java基础是最需要下功夫的一项。在校招时最注重的就是基础,拿不出像样的项目没关系,但是基础万万不可不牢固。想要基础扎实,看书沉淀是必须的,有一些编程基础的同学推荐阅读《JAVA核心技术 卷1》,可以跳过图形程序设计、事件处理、Swing、applet以及部分日志章节,如果比较吃力也可以先跳过多线程章节。 看完一本书,一定要多加练习去理解和吸收。科班的同学可以用java写实验,写的同时一定要多多运用学到的特性。练习阶段各种设计模式套上去用,不要怕笨重,即使是滥用特性和设原创 2022-03-25 20:05:06 · 595 阅读 · 0 评论 -
跳槽涨薪必备精选⾯试题
作者:图灵课堂-------周瑜 1、看以下代码回答问题(⼀) 答案: 2、看以下代码回答问题(⼆) 答案: 1. s1 == s2为false 2. s2 == s3为true String对象的intern⽅法,⾸先会检查字符串常量池中是否存在"abc",如果存在则返回该字符串引⽤, 如果不存在,则把"abc"添加到字符串常量池中,并返回该字符串常量的引⽤。 ...原创 2022-03-24 19:47:22 · 1358 阅读 · 0 评论 -
Redis面试题 70道
概述 1. 什么是Redis? Redis 是一个使用 C 语言写成的,开源的高性能key-value非关系缓存数据库。它支持存储的value 类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和 hash(哈希类型)。Redis的数据都基于缓存的,所以很快,每秒可以处理超过 10万次读写操 作,是已知性能最快的Key-Value DB。Redis也可以实现数据写入磁盘中,保证了数据的安全不丢 失,而且...原创 2022-03-23 19:30:00 · 1822 阅读 · 0 评论 -
Linux常见系统调用快查手册
一、进程控制 fork 创建一个新进程 clone 按指定条件创建子进程 execve 运行可执行文件 exit 中止进程 _exit 立即中止当前进程 getdtablesize 进程所能打开的最大文件数 getpgid 获取指定进程组标识号 setpgid 设置指定进程组标志号 getpgrp 获取当前进程组标识号setpgrp 设置当前进程组标志号 getpid 获取进程标识号 getppid 获取父进程标识号 getpriority 获取调...原创 2022-03-22 20:00:00 · 457 阅读 · 0 评论 -
跳槽涨薪涨薪必备精选⾯试题(2022年最新版3月)
面试题 001 常见的 DNS 记录类型有哪些, 常见的 DNS 攻击方式有哪些以及怎么防护 参考答案:常见的 DNS 记录类型包括但不限于 A,AAAA,CNAME,NS,TXT, MX,SOA 等。常见的 DNS 攻击包括但不限于:泛域名攻击,放大攻击,反射攻击 等,常见的防护方式包括但不限于:提升程序性能 ( 比如 dpdk 的 DNS),zone 限 速,来源 IP 限速,来源 IP 白名单,响应限速等。 面试题 002 在进行 CDN...原创 2022-03-21 20:30:00 · 733 阅读 · 0 评论 -
由于上次发的续集不太完整,这次一次性补充完整【Java面试题及答案2022年最新版】
113. 为什么要使用 hibernate?对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。114. 什么是 ORM 框架?对象-关系映射(Obje原创 2022-03-20 20:00:00 · 707 阅读 · 0 评论 -
JAVA面试及答案整理(2022最新版续集)
十三、Mybatis113. mybatis 中 #{}和 ${}的区别是什么?#{}是预编译处理,${}是字符串替换;Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;Mybatis在处理${}时,就是把${}替换成变量的值;使用#{}可以有效的防止SQL注入,提高系统安全性。114. mybatis 有几种分页方式?数组分页sql分页拦截器分页RowBounds分页115. mybatis原创 2022-03-18 20:00:00 · 3423 阅读 · 0 评论