- 博客(8)
- 收藏
- 关注
原创 HashMap一看就会 put/get方法详解
Hash冲突key使用hash函数进行hash运算得到的hash值再与n-1进行与操作,能保证全部落在数组对应的下标处n-1 末尾全是1 进行与运算范围在0~n-1之间所以Table数组长度一定要是2的n次方PUT方法进行hash运算得到数组中的下标如果没有碰撞,当前下标元素为null,则插入一个新的节点if ((p = tab[i = (n - 1) & hash]...
2020-04-13 19:55:54 441
原创 Java线程池
线程池参数corePoolSize:常驻核心线程数,大于0,本地任务执行完毕,核心线程不会被销毁maximumPoolSize:线程池能够容纳同时执行的最大线程数。待执行的线程数大于此值,需要放到缓存队列中keepAliveTime:线程池中线程的空闲时间,当空闲时间达到keepAliveTime值时,线程会被销毁,知道只剩下corePoolSize为止。当allowCoreThreadT...
2020-04-08 11:19:36 116
原创 Java final关键字
修饰类public final class Test() {}无子类,不能被继承修饰方法public final void test() {}不能被子类覆盖重写可以有子类不能与abstract一起使用,互相矛盾修饰局部变量局部变量不能更改,一次赋值,终生不变基本类型:数据不可变引用类型:地址值不可改变public class Test2 { priv...
2020-04-05 16:00:48 99
原创 shiro登录流程源码追踪
最近研究shiro这个框架,这个框架的优点就不用说了,每个业务都有登录的过程,今天来探究一下这个登录流程。首先来理清一下流程,我的是一个web项目,当请求来的时候首先被过滤器拦下,验证token,当token验证通过之后到达controller层。在这个过程中会继承shiro的AuthenticatingFilter然后在其中重载方法中进行登录逻辑也就是shiro的login(),执行login...
2020-02-20 16:26:06 211
原创 抽象工厂模式
今天来学习一下抽象工厂模式,在学习之前有两个非常重要的概念,产品等级,产品族。产品等级就是说,一类产品,比如电视机属于一类产品,不管它是什么牌子的,他都属于电视,再比如冰箱,也属于一个产品等级。产品族是说由不同产品等级组成的产品家族,比如海尔冰箱,海尔电视等等组成海尔产品族。再比如小米电视,手机,电脑等等组成小米产品族。抽象工厂模式是要创造出一个产品族。我们以一个画画的例子来解释其中的具体...
2020-02-08 17:55:59 79
原创 springboot进阶
表单验证@Valid 验证注解BindingResult 返回结果bindingResult.getFieldError().getDefaultMessage() 获取错误信息public void create(@Valid Luckymoney luckymoney, BindingResult bindingResult){ if (bindingResult.hasE...
2019-07-20 17:34:17 122
原创 springboot基础
srpingboot配置相关利用maven启动项目mvn spring-boot:run项目打包mvn clean packagejava -jar 启动jar文件配置文件yml server: port: 8080 servlet: context-path: /hello 项目路径与配置类相对应 limit: minMoney: 2 maxMone...
2019-07-20 17:31:36 83
原创 基于django2.0和Python3.6的xadmin后台管理系统(详细配置)
基于django2.0和Python3.6的xadmin后台管理系统最近使用了xadmin,也踩了不少坑,记录一下艰辛过程,我的环境基于django2.0(版本不要高于2.0,xadmin可能没有适配)和Python3.6创建项目首先打开PyCharm,创建django项目在引入xadmin之前做一个事情,就是把django版本换为2.0,目前创建最新版本是2.2,打开File->...
2019-04-23 16:45:14 1342
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人