一、测试类SortTest
import java.util.Arrays;
public class SortTest {
private static final int L = 20; public static void main(String[] args) {
1. 前言
今天有个同学告诉我,在Security Learning项目的day11分支中出现了一个问题,验证码登录和其它登录不兼容了,出现了No Provider异常。还有这事?我赶紧跑了一遍还真是,看来我大意了,不过最终找到了原因,问题就出在AuthenticationManager
JVM
类加载
JVM整个流程图
一个java文件被编译为class文件后,剩下的操作都交给jvm来执行,其中第一步就是将class文件加载到jvm,而这一步就是由类加载器来完成的
类加载的流程又分为加载(Loading),验证(Verification),准备(Preparation)
阿里的Java开发手册让众多开发人员养成了编写好代码的习惯,不得不说真的是无私的奉献。
阿里的Java开发手册发布最新的嵩山版本,首次提出了前后端的开发规范,适合Java开发者们反复品尝。建议Java开发人员都好好看看吧,值得推荐。
阿里巴巴Java开发手册发布版本
这个是阿
synchronized锁是Java面试的过程中比较常考的知识点了,从偏向锁->轻量级锁->重量级锁都可以聊
CAS在这篇没有讲述,因为在上一篇已经写了,有兴趣的同学可以翻翻开
目前已经连载10篇啦!进度是一周更新两篇,欢迎持续关注
[【对线面试官】Ja
为什么需要 Raft?
Raft 是什么?
Raft 的目标
前置条件:复制状态机
Raft 基础
Leader 选举(选举安全特性)
日志复制(Leader只附加、日志匹配)
安全
学习资料
使用 Raft 的应用?
扩展:ZooKeeper ZAB 协议
扩展:ZooKeeper 是什
1、尽量指定类、方法的final修饰符
带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不
一、MybatisPlusInterceptor
从Mybatis Plus 3.4.0版本开始,不再使用旧版本的PaginationInterceptor ,而是使用MybatisPlusInterceptor。
MybatisPlusInterceptor是一系列的实现Inner
作者:不学无数的程序员
链接:https://www.jianshu.com/p/a8eb1412471f
在做系统优化时,想到了将数据进行分级存储的思路。因为在系统中会存在一些数据,有些数据的实时性要求不高,比如一些配置信息。
基本上配置了很久才会变一次。而有一些数据实时性要求非常高,比
欢迎访问我的GitHub
https://github.com/zq2599/blog_demos
内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;
系列文章汇总
jackson学习之一:基本信息
jackson学习之二:jackso
这个问题虽然看起来很小,却并不那么容易回答。
大家如果有更好的方法欢迎赐教,先来一个天真的估算方法:
假设要求一个系统的TPS(Transaction Per Second或者Task Per Second)至少为20,然后假设每个Transaction由一个线程完成,继续假设平均每个线程
本文源码:GitHub·点这里 || GitEE·点这里
一、基础API简介
1、RestHighLevelClient
RestHighLevelClient的API作为ElasticSearch备受推荐的客户端组件,其封装系统操作ES的方法,包括索引结构管理,数据增删改查管理,常用查
原文链接http://zhhll.icu/2020/05/11/java%E5%9F%BA%E7%A1%80/%E9%9B%86%E5%90%88/java%E5%9F%BA%E7%A1%80%E4%B9%8B%E9%9B%86%E5%90%88/
有时候需要存储一组数据,之前使用数组,但
个人记录:
使用到了Lombok,需要导入对应的依赖,还需要安装Lombok插件即可。
一般数据库表中都会有两个字段,分别是创建时间和修改时间。为了方便每次创建或者修改数据时使对应的字段自动填充,Mybatis-plus就帮我们封装了自动填充的方法。
表结构:
代码实现
/
背景
项目需要,我们需要自己做一套mybatis,或者使用大部分mybatis地原始内容。对其改造,以适应需要。这就要求我再次学习一下mybatis,对它有更深入的了解。
是什么
MyBatis是一个持久层框架,用来处理对象关系映射。说白了就是以相对面向对象的方式来提交sql语句给jdb
几个方面:
问题描述:什么现象?什么影响?
问题分析
解决方案
底层原理
Java面试宝典完整版PDF
1.问题描述
模拟高并发的场景,会出现批量的 TIME_WAIT 的 TCP 连接:
短时间后,所有的 TIME_WAIT 全都消失,被回收,端口包括服务,均正常
1. 什么是 spring boot?
在Spring框架这个大家族中,产生了很多衍生框架,比如 Spring、SpringMvc框架等,Spring的核心内容在于控制反转(IOC)和依赖注入(DI),所谓控制反转并非是一种技术,而是一种思想,在操作方面是指在spring配置文件中创建,依
目录Java优先队列PriorityQueue的各种打开方式以及一些你不知道的细节优先队列的默认用法—从小到大排序对String类用优先队列从大到小排序通过自定义比较器对自定义的类进行从小到大排序通过自定义的类实现Comparable接口进行从大到小排序用lambda表达式优化比较器的使用
Java流程控制与Scanner类的使用
Scanner类
Scanner类可以使程序接受键盘输入,实现人机交互
一个完整的Scanner的使用例子:
//创建一个扫描器对象,用于接收键盘数据
Scanner s=new Scanner(System.in);
System.out.pr
线程池究竟设置多大要看你的线程池执行的什么任务了,CPU密集型、IO密集型、混合型,任务类型不同,设置的方式也不一样
任务一般分为:CPU密集型、IO密集型、混合型,对于不同类型的任务需要分配不同大小的线程池
1、CPU密集型
尽量使用较小的线程池,一般Cpu核心数+1
因为CPU密集型任