Jpa和mybatis 1. JPA和mybatis的区别基本概念 MyBatis: 是一个半自动化的持久层框架,专注于 SQL 映射和管理。 提供 SQL 查询、结果映射和存储过程的调用,允许开发者编写自己的 SQL。 JPA: 是 Java EE 和 Java SE 的标准规范,用于对象关系映射(ORM)。 主要实现包括 Hibernate、spring data jpa 和 OpenJPA。 提供全自动化的 2024-05-22
jpa的批量优化 1. 问题Spring-data-jpa自己带的JpaRepository里有很多现有的方法,如findAll, saveAll, deleteAll ,但是saveAll 和deleteAll 这种底层都是foreach的save或者delete的,性能非常低 2. 优化可以通过配置hibernate.jdbc.batch_size的方式, 将这些插入操作打包成一个批处理操作,然后一次性发送到数 2024-05-21
滑动窗口 1. 应用场景关键词: 满足XXX条件(计算结果,出现次数,同时包含) 最长/最短 子串/子数组/子序列 Eg:长度最小的子数组 2. 使用思路1. 寻找最长左右双指针(L,R)在起始点,R向右逐位滑动循环 ——每次滑动过程中 窗内元素满足条件,R向右扩大窗口,并更新最优结果 窗内元素不满足条件,L向右缩小窗口 ——R到达结尾 2. 模版12345678910 2024-05-20 LeetCode
同步阻塞与异步非阻塞的整理 1. BIO 和NIOBIO(Blocking I/O)和 NIO(Non-blocking I/O)是 Java 中用于处理 I/O 操作的两种不同的编程模型。 BIO(Blocking I/O): 同步阻塞:在 BIO 模型中,I/O 操作是同步阻塞的。当一个线程执行一个 I/O 操作时,线程会被阻塞,直到这个 I/O 操 2024-05-15
集合 ⼀、集合分类Java中的集合框架⼤类可分为Collection和Map,⽽collection⼜有两个⼦接⼝List和Set 1. List 特点:元素有顺序,能重复 ,可以插⼊多个 null 元素。 List 接⼝有三个实现类:LinkedList,ArrayList,Vector LinkedList:底层基于链表实现,链表内存是散乱的,每⼀个元素存储本身内存地址的同时还存储下⼀个元素的地 2024-02-26
dubbo3.0 1. Dubbo和Feign的区别和联系1. 选择建议 如果你的系统是 中小型微服务架构,更注重开发效率和易用性,且主要使用 HTTP 协议进行服务间通信,Feign 是一个更简单、更轻量级的选择。 如果你的系统是 大规模分布式架构,对性能要求较高,并且需要强大的服务治理能力(负载均衡、服务降级、限流、路由规则),建议使用 Dubbo。 如果你的项目已经使用了 Nacos、Sentinel、Sea 2024-02-13 中间件
k8s常用命令 1. 用频率最高的K8s常用命令 kubectl get: 获取资源的信息,如获取Pod、Service、Deployment等资源的状态信息。 kubectl create: 创建资源,如创建Pod、Service、Deployment等资源。 kubectl delete: 删除资源,如删除Pod、Service、Deployment等资源。 kubectl apply: 应用配置文件,如应 2024-02-04