- 博客(8)
- 收藏
- 关注
原创 大白话https原理
# 疑问:为什么http协议在传输过程中不安全?因为浏览器的请求有可能被第三方拦截,假如你请求中有账号密码就会被他人获取,也许你会说前端可以对账号密码加密就不怕了,那你想想就算你加密了,他人还不是可以利用你加密好的账号密码进行和服务器通信# 疑问:为什么https协议可以保证传输安全?说到https,这里得先说说https是什么。https其实也是http协议,只不过是他的端口是443,且具有非对称加密的功能#### 非对称加密简单说就是一对公钥与私钥,公钥对其加密只有对应的私钥才能解密,对应的私
2020-11-14 15:45:13
297
原创 百万数据报表导出与读取解决方案
先了解下excel版本区别 excel2003 excel2007及以上 后缀 .xls .xlsx 结构 二进制格式 xml数据结构 特点 存储容量有限 xml压缩,占用空间小,操作效率高 可以看到2007及以上版本为xml数据结构,对后续海量数据处理起到关键作用。apachePoi官方对excel2007使用xssf对象,可以分为三种模式:用户模式:有很多封装的方法,但非常耗内存事件模式:基于sax方式解析xml,它..
2020-10-28 10:12:28
355
原创 类加载器疑问解答
疑问1:jvm的类加载器基本概念类加载器作用是将java字节码在运行时加载到jvm内存中。jvm提供了三种类加载器:根类加载器(Bootstrap)、扩展类加载器(ExtClassLoader)、系统(应用)类加载器(AppClassLoader)疑问2:三大类类加载器的区别加载类的路径不一样,Bootstrap加载路径:<JAVA_HOME>/libExtClassLoader加载路径:<JAVA_HOME>/lib/extAppClassLoader加载路径:cla
2020-10-12 20:10:49
151
原创 枚举替代if...else
问题引入:当需要做大量的if...else判断时,比如做天气预报,下面为if..else的代码 String weather = "rain"; new WeatherEnumDemo().broadcastWeather(name, weather); if (weather.equals("rain")) { System.out.println("下雨了"); } else if (weather.equals("sun
2020-09-27 20:52:02
526
原创 tomcat源码-监听器设计模式
在tomcat中容器组件都要经历一套生命周期,NEW(创建)-->INITIALIZED(初始化)-->.....-->DESTROYED(销毁),而周期状态变更系统都要做相应的处理,这就可以使用监听器去监听这个动作,从而做出相应处理。重要组件:1.Lifecycle:生命周期的接口2.LifecycleBase:实现Lifecycle接口,抽取通用方法与通用变量避免重复代码3.LifecycleListener:监听器,根据对应的事件做相应处理4.LifecycleE
2020-09-11 13:54:19
350
原创 tomcat源码-责任链设计模式
最近开发个项目,刚好需要用到责任链设计模式,就重温了tomcat的pipeline-value源码,刚好在这里记下笔记。先来考考大家,怎么用代码完成以下需求?(代码在下文,还有源码哦) 工厂安装一台汽车,需要经过一套完整操作流水线,安装引擎 -> 安装窗子 -> 喷漆 ->质量检查, 当所有的流程依次走完这台汽车才安装成功。大家应该很快想到使用责任链设计模式,下面我来说说tomcat中pipeline-valve责任链pipeline的流程图其中pipeline是一条管
2020-09-09 19:49:14
392
原创 基于redisson实现分布式锁入门例子
引入:一.为什么要使用分布式锁,用同步关键字synchronized,或者lock锁不能实现吗?答:同步关键字与lock锁是基于jvm系统级别的,只能适用于同一jvm;对于微服务架构的各个单独部署的服务来说,各个微服务之间不同jvm,所以这时候只能依靠分布式锁来实现同步。二.分布式锁的必须满足的特性?1互斥性:锁的最基本特性;2可重入:获取锁后可以再次获取,常见于递归调用的场景;3...
2019-06-17 17:44:02
640
原创 drools规则引擎的实际开发场景
drools官网:https://www.drools.org/droolsgithub:https://github.com/kiegroup/droolsA场景引入comma开发充值发放优惠券活动,具体规则如下:100元,送10元优惠券·200元,送25元优惠券300元,送40元优惠券Java后端攻城师在代码利用if-else代码将业务逻辑实现了功能,这样看似...
2019-06-02 18:08:05
13079
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人