Mybatis根据Spring配置文件实现写不同的Sql语句
1. 提问:怎么让一个接口通过不同的开发环境进行不同的sql操作?全文用以区分的配置文件以spring.profiles.active为例首先,mapper层用spring注解@Value读取配置文件是不行的。编译不会错,但是通过注解写入的值必然为空。2. 解决方案把配置文件读到静态参数上面,然后Provider读取静态参数2.1.什么时候才是一个写入静态参数的好时机呢?在main方法
Java 设计模式——单例模式 理论代码相结合
一、前言概念:单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中属于单例,如:仅线程上下文内使用同一个实例)--来自百度百科应用:单例模式可以让我们只创建一个对象从而避免了频繁创建对象导致的内存消耗和垃圾回收。单例模式只允许创建一个对象,因此节省内存,加快对象访问速度,因此对象需要被公用的场合适合使用,如多个
三分钟快速了解Spring中的工厂模式
前言今天来和小伙伴们分享下设计模式中的工厂模式啦顺便带来了下面三个问题,一起来看看吧一.工厂模式我们都知道,设计模式有23种,按照功能和使用场景可以分为三大类: 创建型模式 结构型模式 行为型模式工厂设计模式(Factory Pattern)呢,就是一种很常见的设计模式,属于创建型模式的,主要作用就是来创建对象的~原理图先来看一个小栗子二.简单工厂模式(非23种)原理图例子
SpringBoot+Shiro+Jwt实现登录认证——最干的干货
1. 概述1.1 SpringBoot这个就没什么好说的了,能看到这个教程的,估计都是可以说精通了SpringBoot的使用1.2 Shiro一个安全框架,但不只是一个安全框架。它能实现多种多样的功能。并不只是局限在web层。在国内的市场份额占比高于SpringSecurity,是使用最多的安全框架可以实现用户的认证和授权。比SpringSecurity要简单的多。1.3 Jwt我的理
高并发下常见的限流算法都在这了!
限流简介现在说到高可用系统,都会说到高可用的保护手段:缓存、降级和限流,本博文就主要说说限流。限流是流量限速(Rate Limit)的简称,是指只允许指定的事件进入系统,超过的部分将被拒绝服务、排队或等待、降级等处理。对于server服务而言,限流为了保证一部分的请求流量可以得到正常的响应,总好过全部的请求都不能得到响应,甚至导致系统雪崩。限流与熔断经常被人弄混,博主认为它们最大的区别
JVM:垃圾回收算法、垃圾回收器
垃圾回收算法什么是垃圾?为什么要回收?在java中,当一个对象没有被任何指针指向的时候,他就成为了一个垃圾,也就应该对其进行回收,如果不对其进行回收就会造成内存泄露,甚至是内存溢出。垃圾回收分为两个阶段垃圾标记和垃圾回收。垃圾标记引用计算算法(java并未使用,不存在循环引用造成内存泄露)对每一个对象保存一个整型的引用计数器属性,用于记录对象被引用的情况。当对象被任何一个对象引用就会对计数器加以,
Mybatis封装JDBC入门——Mybatis执行代码及封装JDBC流程图
一、JDBC六个步骤Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { //1. 加载驱动 &nbs
Dubbo基础知识——Dubbo的分层结构和执行流程,以及和Spring Cloud的区别。
RPC简单实现一个RPC框架我们这是 Demo,目的是突出 RPC框架重点功能 - 实现远程调用。所以啥七七八八的都没,并且我用伪代码来展示,其实也就是删除了一些保护性和约束性的代码,因为看起来太多了不太直观,需要一堆 try-catch 啥的,因此我删减了一些,直击重点。首先我们定义一个接口和一个简单实现。public interface AobingServic
阿里、字节、腾讯等大厂Java岗MySQL面试高频面试题整理
索引相关1. 什么是索引?索引是一种数据结构,可以帮助我们快速的进行数据的查找.2. 索引是个什么样的数据结构呢?索引的数据结构和具体存储引擎的实现有关, 在MySQL中使用较多的索引有Hash索引,B+树索引等,而我们经常使用的InnoDB存储引擎的默认索引实现为:B+树索引.3. Hash索引和B+树所有有什么区别或者说优劣呢?首先要知道Hash索引和B+树索引的底层实现原理:ha
原来这就是传说中的跳跃表,不过如此(附:跳跃表的Java实现)
1. 什么是跳跃表?增加了向前指针的链表叫作跳表。跳表全称叫做跳跃表。跳表是一个随机化的数据结构,实质就是一种可以进行二分查找的有序链表。跳表在原有的有序链表上面增加了多级索引,通过索引来实现快速查找。跳表不仅能提高搜索性能,同时也可以提高插入和删除操作的性能。(摘自百度百科)2. Redis中跳跃表的数据结构//zskiplistNode:跳跃表的一个节点 typedef 
聊一聊Redis是如何做到“持久化”的
什么是持久化?对于持久化某度某科的解释是:持久化是将程序数据在持久状态和瞬时状态间转换的机制。通俗的讲,就是瞬时数据(比如内存中的数据,是不能永久保存的)持久化为持久数据(比如持久化至数据库中,能够长久保存)所以对于持久化狭义的理解就是: “持久化”仅仅指把域对象永久保存到数据库中;可以广义的理解为:“持久化”包括和数据库相关的各种操作(持久化就是将有用的数据以某种技术保存起
【微服务理论】API + BFF 不再为兼容和适配烦恼
对于微服务,常见的架构模型就是API网关+服务。 API网关实现鉴权、负载均衡、中间件等公共入口逻辑。 服务实现具体的业务功能。那么,API网关设计中又有什么坑呢?1.0版本直接将服务穿透到外网。 API层只是套了壳,加了鉴权、中间件而已。具体返回值由服务定。 客户端到微服务直接通信,强耦合。根本不敢重构,一改结构客户端就崩了。 需要多次请求,客户端聚合数据,工作量巨大
领导:谁再用定时任务实现关闭订单,立马滚蛋!
在电商、支付等领域,往往会有这样的场景,用户下单后放弃支付了,那这笔订单会在指定的时间段后进行关闭操作,细心的你一定发现了像某宝、某东都有这样的逻辑,而且时间很准确,误差在1s内;那他们是怎么实现的呢?一般的做法有如下几种 定时任务关闭订单 rocketmq延迟队列 rabbitmq死信队列 时间轮算法 redis过期监听 一、定时
Netty的ChannelPipline传播源码解析
一、基础铺垫1. JAVA中的基本位运算符 运算符 描述 & 与 | 或 ~ 非 ^ 异或 << 左移 >> 右移
终于理解Spring Boot 为什么青睐HikariCP了,图解的太透彻了!
前言现在已经有很多公司在使用HikariCP了,HikariCP还成为了SpringBoot默认的连接池,伴随着SpringBoot和微服务,HikariCP 必将迎来广泛的普及。下面博主带大家从源码角度分析一下HikariCP为什么能够被Spring Boot 青睐,文章目录如下:零、类图和流程图开始前先来了解下HikariCP获取一个连接时类间的交互流程,方便下面详细流程的阅读。获
Redis系列——哨兵挂了,redis 还能正常工作吗?
前言redis 主挂掉了,怎么将请求转移到从上去,如果从是多个,从是怎么进行选举的呢?那么就要看我们今天的主角了,redis哨兵,redis哨兵能够帮助我们自动的完成选主和故障转移操作,这次还是会多画图,来加深大家都这个过程的记忆和理解。redis哨兵都干了什么redis哨兵是一个运行的特殊的redis进程,他主要有三个使命: 监控 选主 通知监控的是什么哨兵主要是监听主库
七年Java,在工资被新员工倒挂后,32岁的我选择裸辞,闭关三月后拿到阿里P7 Offer
前言今年32岁,我从公司离职了,是裸辞。前段时间,我有一件事情一直憋在心里很难受,想了很久也没找到合适的人倾诉,就借着今天写出来。我一个十几年开发经验,七年Java经验的职场老人,我慢慢涨上来的工资竟然被一个应届生倒挂了!当我得知这个消息的时候,我的心是拔凉拔凉的。我现在只有一个想法,我想跳槽!可是,我现在已经32岁了,这让我一度陷入了纠结与迷茫。 应届生倒挂老员工作为一个在
B站崩了,如何防止类似事故的出现?
大家都知道虽然我是一个程序员,但是我非常热爱运动,比如跳舞,这不每天回家睡前我都会在B站舞蹈区学习相关的舞蹈。昨天也不例外,我一洗漱完就飞奔坐在电脑前,打开B站舞蹈区准备学习咬人喵,欣小萌、小仙若他们新的舞蹈动作,不得不说老婆们跳的真好,连我这种内向的人也不自觉的跟着扭动了起来。正当我准备学下一个动作的时候,我发现怎么404 NOT found了。坏了,作为开发的我第一直觉是系统崩了,我甚至怀疑是
Java内存模型(JSR - 133)都解决了哪些问题?
究竟什么是内存模型?在多处理系统中,每个 CPU 通常都包含一层或者多层内存缓存,这样设计的原因是为了加快数据访问速度(因为数据会更靠近处理器) 并且能够减少共享内存总线上的流量(因为可以满足许多内存操作)来提高性能。内存缓存能够极大的提高性能。但是同时,这种设计方式也带来了许多挑战。比如,当两个 CPU 同时对同一内存位置进行操作时会发生什么?在什么情况下这两个 CPU 会看到同一个
最早的90后Java开发已经31岁,最早的00后已进网易大厂,你在哪里?
前言前段时间跟朋友一起聚会,谈到了现在的00后年轻人,我提起了我认识的一个大三就已经拿到网易Offer的小学弟。这小学弟是00年的,专升本进入我们学校,和我一样搞Java开发。学习上非常刻苦,每天第一个到教室,每次都坐第一排,是班里少数的会做课堂笔记的学生之一。在半个月前,我看见他发朋友圈晒了网易Offer,于是私下和他交流了一下。他说,在他们公司不远的地方就是阿里,他的下个目标是入职