240 发简信
IP属地:北京
  • 120
    Spring 中使用的经典的 9 种设计模式!

    1.简单工厂(非23种设计模式中的一种) 1、实现方式 BeanFactory。Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Be...

  • ApplicationEventMulticaster的multicastEvent 通知方法也支持异步处理,只要配置Executor即可。

    观察者设计模式

    前言 观察者(Observer)模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订...

  • Apache Log4j2远程代码执行漏洞风险处理办法

    1、漏洞描述一个Apache Log4j2反序列化远程代码执行漏洞细节已被公开,Apache Log4j-2中存在JNDI注入漏洞,当程序将用户输入的数据进行日志记录时,即可...

  • 120
    MyBatis批量插入几千条数据,请慎用foreach

    近日,项目中有一个耗时较长的Job存在CPU占用过高的问题,经排查发现,主要时间消耗在往MyBatis中批量插入数据。mapper configuration是用foreac...

  • 120
    Swagger介绍及使用

    导语: 相信无论是前端还是后端开发,都或多或少地被接口文档折磨过。前端经常抱怨后端给的接口文档与实际情况不一致。后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新。其...

  • 什么是XSS攻击,如何避免?如何避免sql注入?

    XSS 攻击,即跨站脚本攻击(Cross Site Scripting),它是 web 程序中常见的漏洞。 原理 攻击者往 web 页面里插入恶意的 HTML 代码(Java...

  • 120
    JAVA线上故障排查全套路

    线上故障主要会包括cpu、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如jstack、jmap等工具也是...

  • Redis 虽然以单进程单线程模型进行操作,但为什么它的性能却十分优秀?

    Redis 虽然以单进程单线程模型进行操作,但是它的性能却十分优秀。总结来说,主要是因为: 绝大部分请求是纯粹的内存操作;采用单线程,避免了不必要的上下文切换和竞争条件;内部...

  • RabbitMQ的工作模式?

    ①simple模式(即最简单的收发模式) 消息产生消息,将消息放入队列 消息的消费者(consumer) 监听 消息队列,如果队列中有消息,就消费掉,消息被拿走后,自动从队列...

  • 120
    Netty 原理+高性能

    Netty 原理 Netty 是一个高性能、异步事件驱动的NIO 框架,基于JAVA NIO 提供的API 实现。它提供了对TCP、UDP 和文件传输的支持,作为一个异步NI...

  • 120
    zookeeper配置中心

    配置中心一般用作系统的参数配置,它需要满足如下几个要求:高效获取、实时感知、分布式访问。 zookeeper 实现配置中心 实现的架构图如下所示,采取数据加载到内存方式解决高...

  • 120
    Mybatis 缓存机制

    Mybatis 中有一级缓存和二级缓存,默认情况下一级缓存是开启的,而且是不能关闭的。一级缓存是指SqlSession 级别的缓存,当在同一个SqlSession 中进行相同...

  • 120
    JPA原理

    事务 事务是计算机应用中不可或缺的组件模型,它保证了用户操作的原子性 ( Atomicity )、一致性( Consistency )、隔离性 ( Isolation ) 和...

个人介绍
专注于Java领域干货技术分享,不限于BAT面试、算法、数据库、开源框架源码分析、微服务、高并发、Java基础、Docker容器、ELK相关知识等,各种高并发场景分析等,期待与您一起共同进行学习,筑基成为架构师!