自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 文件导入导出

easyexcel 依赖(必须)springboot (不是必须)lombok (不是必须)

2022-08-11 22:06:51 124 1

原创 Dubbo

1、dubp核心的配置有哪些dubbo:service/ 服务配 置用于暴露一个服务,定义服务的元信息,一个服 务可以用多个协议暴露,一个服务也可以注册到多个注册中心dubbo:reference/ 引用配置用于创建一个远程服务代理,一个引用可以指向 多个注册中心 dubbo:protocol/ 协议配置用于配置提供服务的协议信息,协议由提供方指 定,消费方被动接受 dubbo:application/ 应用配置用于配置当前应用信息,不管该应用是提供者还是消费者 dubbo:module/ 模块配置用于配置

2022-07-10 18:47:16 302

原创 分布式相关

1、 CAP 理论的理解 在理论计算机科学中,CAP 定理(CAP theorem),又被称作布鲁尔定理(Brewer’s theorem),它指出对于一个分布式计算系统来说,不可能同时满足以下三点: Consistency(一致性) 指数据在多个副本之间能够保持一致的特性(严格的一致性) Availability(可用性) 指系统提供的服务必须一直处于可用的状态,每次请求都能获取到非错的响应(不保证获取的数据为最新数据) Partition tolerance(分区容错性)分布式系统在遇到任何网络分区故障

2022-07-10 09:58:10 89

原创 Zookeeper

1 ZooKeeper 一般都使用场景分布式协调:这个其实就是 zk 很经典的一个用法,简单来说,就好比,你系统 A 发送个请求到 mq,然后 B 消费了之后处理。那 A 系统如何知道 B 系统的处理结果?用 zk 就可以实现分布式系统之间的协调工作。A 系统发送请求之后可以在 zk 上对某个节点的值注册个监听器,一旦 B 系统处理完了就修改 zk 那个节点的值,A 立马就可以收到通知,完美解决。 分布所锁:对某一个数据联系发出两个修改操作,两台机器同时收到请求,但是只能一台机器先执行另外一个机器再执行,那

2022-07-09 22:24:01 481

原创 1.Netty

1、为什么要用 Netty相比于直接使用 JDK 自带的 NIO 相关的 API 来说更加易用。统一的 API,支持多种传输类型,阻塞和非阻塞的。 简单而强大的线程模型。自带编解码器解决 TCP 粘包/拆包问题。自带各种协议栈。真正的无连接数据包套接字支持。比直接使用 Java 核心 API 有更高的吞吐量、更低的延迟、更低的资源消耗和更少的内存复制。安全性不错,有完整的 SSL/TLS 以及 StartTLS 支持。社区活跃成熟稳定,经历了大型项目的使用和考验,而且很多开源项目都使用到了 Netty, 比

2022-07-09 19:37:34 186

原创 SpringMVC

DispatcherServlet 的工作流程 DispatcherServlet 的工作流程可以用一幅图来说明: (1)向服务器发送 HTTP 请求,请求被前端控制器 DispatcherServlet 捕获。 (2) DispatcherServlet 根据 -servlet.xml 中的配置对请求的 URL 进行解 析,得到请求资 源标识符(URI)。然后根据该 URI,调用 HandlerMapping 获 得该 Handler 配置的所有相关 的 对 象 ( 包 括 Han..

2022-05-16 22:24:13 69

原创 使用Mybatis的配置进行数据加密解密

在我们数据库中有些时候会保存一些用户的敏感信息,比如:手机号、银行卡等信息,如果这些信息以明文的方式保存,那么是不安全的。假如:黑客黑进了数据库,或者离职人员导出了数据,那么就可能导致这些敏感数据的泄漏。因此我们就需要找到一种方法来解决这个问题由于我们系统中使用了Mybatis作为数据库持久层,因此决定使用Mybatis的TypeHandler或Plugin来解决。TypeHandler : 需要我们在某些列上手动指定 typeHandler 来选择使用那个typeHandler或者根据@Mappe

2022-05-08 11:48:47 1527

原创 sping相关知识记录

1、Spring AOP 的了解AOP(Aspect-Oriented Programming:面向切面编程)能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任(例如事务处理、日志管理、权限控制等)封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可拓展性和可维护性。 aop 底层是采用动态代理机制实现的:接口+实现类如果要代理的对象,实现了某个接口,那么 Spring AOP 会使用 JDK Proxy,去创建代理对象。没有实现接口的对象,就无法使用 JDK Proxy 去进行

2022-04-30 22:58:50 579

原创 基础知识概念

内部类有哪些分类在 Java 中,可以将一个类的定义放在另外一个类的定义内部,这就是内部类。内部类本身就是类的一个属性,与其他属性定义方式一致。内部类的分类一般主要有四种: 成员内部类 局部内部类 匿名内部类 静态内部类 静态内部类就是定义在类内部的静态类,静态内部类可以访问外部类所有的静态变量,而不可访问外部类的非静态变量; 成员内部类就是定义在类内部,成员位置上的非静态类,就是成员内部类。成员内部类可以访问外部类所有的变量和方法,包括静态和非静态,私有和公有。 定义在方法

2022-04-16 21:20:51 161

原创 I/O流相关记录

I/O 多路复用实现方式有哪些,以及对应的区别select ,poll ,epollselect:它仅仅知道了,有 I/O 事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对他们进行操作。所以 select 具有 O(n)的无差别轮询复杂度,同时处理的流越多,无差别轮询时间就越长。poll:poll 本质上和 select 没有区别,它将用户传入的数组拷贝到内核空间,然后查询每个fd 对应的设备状态, 但是它没有最大连接...

2022-04-14 22:03:24 557

原创 JVM加载过程,以及内存模型相关

24、JVM 如何加载类的?JVM 类加载机制分为五个部分:加载,验证,准备,解析,初始化。加载是类加载过程中的一个阶段, 这个阶段会在内存中生成一个代表这个类 java.lang.Class对象, 作为方法区这个类的各种数据的入口。注意这里不一定非得要从一个 Class 文件获取,这里既可以从 ZIP 包中读取(比如从 jar 包和 war 包中读取),也可以在运行时计算生成(动态代理),也可以由其它文件生成(比如将 JSP 文件转换成对应的 Class 类)。验证这一阶段的主要目的是...

2022-04-10 14:49:22 151

原创 网络安全通讯HTTP,HTTPS,TCP,UDP协议等相关知识

1、TCP 和 UDP 区别 TCP 基于连接,UDP 基于无连接。TCP 要求系统资源较多,UDP 较少。UDP 程序结构较简单。TCP 保证数据正确性,UDP 可能丢包。TCP 保证数据顺序,UDP 不保证。2.TCP/IP协议涉及哪几层架构应用层(HTTP),传输层(TCP),网络层(IP和端口),数据链路层(网络接口层),如果是HTTPS中间还有一个安全层(TLS).3、TCP 连接 3步握手和4 步挥手的过程和必要性?3步握手的过程和必要性:TCP协议目的是为了保...

2022-04-04 17:40:26 3724

原创 多线程编程以及线程池相关记录

1.多线程编程时如何设置线程池的大小?根据任务的性质判断是CPU密集型任务多,还是I/O密集型任务多。如果是需要消耗大量的CPU资 源时线程程池数量可以设置CPU的核心数。如果是I/O密集型任务,就可以把线程池数设置大点。因为线程在处理I/O时是不会占用CPU来处理。2.实现多线程同步有方法a. 使用 synchronized 关键字和wait 和 notify 结合实现同步。b.使用特殊域变量 volatile 实现线程同步c.使用重入锁实现线程同步可重入锁和不可重入锁理解(转载..

2022-04-03 21:05:06 388

原创 java 垃圾回收机制的理解

1.垃圾回收的意义在java体系中内存的分和回收是自动化管理的,从而程序员不需要操心内存的分配和是否浪费。javaGC机制能帮我们把不需要的对象占用的内存回收,保证程序高效的运行。由于我们创建的对象都是放在JVM堆中,所以主要是对堆中的内存进行回收。2.垃圾回收使用是算法JVM在发生GC时会使用一定算法判断哪些对象是需要回收,即JVM垃圾的检测方式。那么一般采用的算法是引用计数法和根搜索法。引用计数法:这个算法的实现是,给对象中添加一个引用计数器,每当一个地方引用这个对象时,计数器值+1;当

2022-04-03 20:57:10 1454

原创 java常用集合的理解,HMap,ConcurrentHashMap,List,set

面试题总结

2022-03-22 22:11:32 532

原创 mybatis相关知识

1.什么是Mybatis?(1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,加载驱动、创建连接、创建statement等繁杂的过程,开发者开发时只需要关注如何编写SQL语句,可以严格控制sql执行性能,灵活度高。(2)作为一个半ORM框架,MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。称Mybatis是半自动ORM映射工具,是因为在查询关联对象或关联集合对象时,

2022-03-20 21:21:41 1138

空空如也

空空如也

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

TA关注的人

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