首页
学习
活动
专区
工具
TVP
发布

码猿技术专栏

欢迎关注微信公众号【码猿技术专栏】
专栏作者
290
文章
298527
阅读量
51
订阅数
公司的这种打包启动方式,我简直惊呆了!
大家都知道,SpringBoot应用最终会打出一个Fat Jar, 里面包含了用到的全部依赖,启动也非常简单,java -jar xxx.jar即可。
爱撒谎的男孩
2023-01-06
8340
一口气说出四种幂等性解决方案,面试官露出了姨母笑~
幂等是一个数学与计算机学概念,在数学中某一元运算为幂等时,其作用在任一元素两次后会和其作用一次的结果相同。
爱撒谎的男孩
2020-12-22
1.7K0
Spring生命周期
主要的作用就是添加了一个后置处理器ServletContextAwareProcessor
爱撒谎的男孩
2020-03-25
3620
接口限流算法
文章目录 1. 导读 2. 限流的常见几种算法 2.1. 固定窗口计数器 2.2. 滑动窗口计数器 2.3. 漏桶算法 2.4. 令牌桶算法 3. 单体应用实现 4. 分布式限流 4.1. Redis如何实现 4.2. 开撸 5. 笔者有话说 导读 前几天和一个朋友讨论了他们公司的系统问题,传统的单体应用,集群部署,他说近期服务的并发量可能会出现瞬时增加的风险,虽然部署了集群,但是通过压测后发现请求延迟仍然是很大,想问问我有什么改进的地方。我沉思了一会,现在去改架构显然是不可能的,于是我给出了一个建议,
爱撒谎的男孩
2020-03-24
4730
SpringBoot整合多数据源的巨坑
导读 前面文章最后留了几个问题供大家思考,今天一一揭晓。 配置如何优化 上文整合的过程中的还顺带整合Mybatis和TransactionManager,为什么还要重新定义他们呢?SpringBoot不是给我们都配置好了吗?注意,此处优化就是这两个配置去掉,直接用SpringBoot的自动配置,顿时高级了,别人一看你的代码如此简单就实现了多数据源的切换,牛叉不? 如何去掉?SpringBoot万变不离自动配置类,且看MybatisAutoConfiguration,如下: 123456 @org.spri
爱撒谎的男孩
2020-03-19
1K0
SpringBoot整合JTA
导读 JTA,即Java Transaction API,JTA允许应用程序执行分布式事务处理——在两个或多个网络计算机资源上访问并且更新数据。JDBC驱动程序的JTA支持极大地增强了数据访问能力。 JTA是基于XA标准制定的,采用两阶段提交的方式来管理分布式事务。即是一个事务管理器和多个资源管理器协作完成,第一阶段各个资源管理器提交,第二个阶段事务管理器需要查看资源管理器是否全部提交成功再提交。 Java实现JTA强一致性的事务有很多种实现,笔者只是选择了atomikos的实现 SpringBoot整
爱撒谎的男孩
2020-03-17
8340
一文搞懂Spring-AMQP
12//设置消息发送ack,默认noneconnectionFactory.setPublisherConfirmType(CachingConnectionFactory.ConfirmType.CORRELATED);
爱撒谎的男孩
2020-03-11
1K0
Springmvc注解版开发
文章目录 1. 项目搭建 1.1. 搭建原理 1.2. springMVC版本 1.3. 配置内嵌tomcat 1.4. 配置DispatcherServlet初始化器 1.5. 主配置文件 1.6. MVC配置类 2. 配置拦截器 3. 配置过滤器 4. 配置视图解析器 5. 配置ViewController 6. 配置MessageConverters 6.1. 注解版 7. 异常处理器 7.1. 异常处理器执行的顺序 7.2. SimpleMappingExceptionResolver 7.3.
爱撒谎的男孩
2019-12-31
9150
Springmvc源码解读
文章目录 1. 实现Controller的方式 1.1. 实现Controller 1.2. 实现HttpRequestHandler 1.3. 使用注解 2. @EnableWebMvc 3. DispatcherServlet 4. HandlerMapping 4.1. BeanNameUrlHandlerMapping 4.2. SimpleUrlHandlerMapping 4.3. RequestMappingHandlerMapping 5. HandlerExecutionChain 6
爱撒谎的男孩
2019-12-31
3610
mybatis深入学习
文章目录 1. 环境搭建 2. typeAliases(别名) 2.1. 内建的别名【推荐使用】 3. 参数处理 3.1. 单个参数 4. 多个参数 4.1. 参数是Map类型 4.2. POJO【推荐使用】 5. 返回结果封装 5.1. 返回POJO 5.2. 返回List 5.3. 返回Map 5.4. ResultMap 6. 分步查询 6.1. 延迟加载 7. 内置参数 8. 批量处理 8.1. Mybaits-Spring执行批量处理 9. 类型处理器(TypeHandler) 9.1. 实例
爱撒谎的男孩
2019-12-31
1K0
Shiro源码解析
filterChainDefinitionMap.put("/user/login", "anon,customFilter");
爱撒谎的男孩
2019-12-31
8680
Shiro
文章目录 1. 项目搭建 2. Realm 2.1. 子类 2.2. 自定义Realm 2.3. 认证信息的缓存 2.4. 密码加密认证 3. 缓存管理器(CacheManager) 3.1. 清除缓存 3.2. 实现原理 4. 会话管理器(SessionManager) 4.1. 自定义SessionMananger 4.2. 自定义SessionDao 4.3. 自定义SessionId生成策略 4.4. 自定义Session监听器 4.5. 完成上述配置 4.6. 优化 4.7. 会话验证 4.7
爱撒谎的男孩
2019-12-31
1.5K0
java自定义注解
文章目录 1. 自定义注解【Annotation】 1.1. 元注解 1.1.1. @Retention 1.1.2. @Target 1.1.3. @Document 1.1.4. @Inherited 1.2. 关于注解的反射方法 1.3. 五种通知 1.4. JoinPoint 对象 1.5. 实战 1.5.1. 日志 1.5.2. 性能监控 1.5.3. 输出错误日志到文件中 1.6. 参考文章 自定义注解【Annotation】 元注解 @Retention 表示需要在什么级别保存该注解信息
爱撒谎的男孩
2019-12-31
1K0
SpringBoot整合Spring-data-jpa
文章目录 1. SpringBoot整合Spring data jpa 1.1. 依赖 1.2. 主键生成策略 1.3. 配置 1.4. 创建一个实体类 1.5. 基本的查询 1.6. 自定义查询@Query 1.6.1. 使用HQL语句查询 1.6.2. 使用sql语句查询 1.6.3. 删除和修改 1.7. 复杂条件查询 1.8. 分页查询 1.8.1. PageRequest 1.8.2. Page 1.8.3. 简单查询 1.8.4. 简单条件分页查询 1.8.5. 复杂条件分页查询 1.9.
爱撒谎的男孩
2019-12-31
1.5K0
SpringBoot集成lombok
文章目录 1. SpringBoot集成lombok 1.1. STS安装 1.2. 常用的注解 1.3. 使用 SpringBoot集成lombok STS安装 https://blog.csdn.net/blueheart20/article/details/52909775 常用的注解 @Getter: 自动生成Getter方法 @NonNull: 标识对象是否为空,为空则抛出异常 @Setter: 自动生成Setter @ToString: 覆盖tostring方法 @Slf4j:
爱撒谎的男孩
2019-12-31
5020
StringUtils的源码解析
文章目录 1. StringUtils 1.1. 源码解析 StringUtils spring封装的字符串工具类 源码解析 isEmpty(Object str) :判断当前字符串为空,如果为空返回true 如果字符串为空或者是个空字符串,那么返回true public static boolean isEmpty(Object str) { return (str == null || "".equals(str)); } hasLength(CharSequence str) : 如果字符
爱撒谎的男孩
2019-12-31
7300
spring加载properties属性
文章目录 1. spring有两种方式加载properties中的属性 1.1. 第一种 1.2. 第二种 spring有两种方式加载properties中的属性 第一种 使用<context:property-placeholder location="classpath:jdbc.properties" />在spring的配置文件中加载类路径下的资源文件 假设我们的jdbc.properties文件中的内容如下: 如果后面有重复的键值,将会覆盖前面的值 url=jdbc:mysql://loca
爱撒谎的男孩
2019-12-31
6320
并发编程之线程同步机制的底层助手内存屏障
文章目录 1. 线程同步机制的底层助手 :内存屏障 1.1. 前提 1.2. 按照可见性划分 1.3. 保证可见性的原理 1.4. 按照有序性划分 1.5. 保证可见性和原子性详解图形 线程同步机制的底层助手 :内存屏障 前提 我们知道锁是可以保证可见性的,线程在获取锁和释放锁的时候会分别执行两个动作来保证可见性: 刷新处理器缓存 :保证了持有该锁的线程能够读取到前一个线程对共享数据的更新 冲刷处理器缓存 :保证了持有该锁的线程对共享数据所做的更新会对后续获取该锁的线程来说是保持可见的 Java虚拟机是
爱撒谎的男孩
2019-12-31
5450
监听器获取spring配置文件创建的对象
文章目录 1. 监听器获取spring配置文件创建的对象 1.1. 前提 1.2. 准备 1.3. 实现 1.4. 参考文章 监听器获取spring配置文件创建的对象 前提 我们在使用监听器的时候,会用到spring配置文件创建的对象,那么我们不能像其他的类中直接使用@Resource或者@AutoWired自动注入对象,那么我们如何获取对象呢 比如我们在缓存数据的时候,就是在容器启动的时候读取数据库中的信息缓存在ServletContext中,那么我们肯定需要调用Service中的对象来获取数据库中的
爱撒谎的男孩
2019-12-31
9690
Springmvc中的转发重定向和拦截器
文章目录 1. Springmvc中的转发重定向和拦截器 1.1. 可变参数 1.2. 转发和重定向 1.2.1. forward: 1.2.2. redirect: 1.2.3. 实例 1.3. 拦截器 1.3.1. 基本概念 1.4. 使用拦截器 1.4.1. 自定义拦截器类 1.4.2. 在springmvc的配置文件中配置 1.4.2.1. 配置 1.5. 其中实现的方法 1.5.1. 演示登录检查 1.5.1.1. 自定义拦截器(LoginInterceptor) 1.5.1.2. sprin
爱撒谎的男孩
2019-12-31
2.2K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档