自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 大白话https原理

# 疑问:为什么http协议在传输过程中不安全?因为浏览器的请求有可能被第三方拦截,假如你请求中有账号密码就会被他人获取,也许你会说前端可以对账号密码加密就不怕了,那你想想就算你加密了,他人还不是可以利用你加密好的账号密码进行和服务器通信# 疑问:为什么https协议可以保证传输安全?说到https,这里得先说说https是什么。https其实也是http协议,只不过是他的端口是443,且具有非对称加密的功能#### 非对称加密简单说就是一对公钥与私钥,公钥对其加密只有对应的私钥才能解密,对应的私

2020-11-14 15:45:13 248

原创 百万数据报表导出与读取解决方案

先了解下excel版本区别 excel2003 excel2007及以上 后缀 .xls .xlsx 结构 二进制格式 xml数据结构 特点 存储容量有限 xml压缩,占用空间小,操作效率高 可以看到2007及以上版本为xml数据结构,对后续海量数据处理起到关键作用。apachePoi官方对excel2007使用xssf对象,可以分为三种模式:用户模式:有很多封装的方法,但非常耗内存事件模式:基于sax方式解析xml,它..

2020-10-28 10:12:28 296

原创 类加载器疑问解答

疑问1:jvm的类加载器基本概念类加载器作用是将java字节码在运行时加载到jvm内存中。jvm提供了三种类加载器:根类加载器(Bootstrap)、扩展类加载器(ExtClassLoader)、系统(应用)类加载器(AppClassLoader)疑问2:三大类类加载器的区别加载类的路径不一样,Bootstrap加载路径:<JAVA_HOME>/libExtClassLoader加载路径:<JAVA_HOME>/lib/extAppClassLoader加载路径:cla

2020-10-12 20:10:49 123

原创 枚举替代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 455

原创 tomcat源码-监听器设计模式

在tomcat中容器组件都要经历一套生命周期,NEW(创建)-->INITIALIZED(初始化)-->.....-->DESTROYED(销毁),而周期状态变更系统都要做相应的处理,这就可以使用监听器去监听这个动作,从而做出相应处理。重要组件:1.Lifecycle:生命周期的接口2.LifecycleBase:实现Lifecycle接口,抽取通用方法与通用变量避免重复代码3.LifecycleListener:监听器,根据对应的事件做相应处理4.LifecycleE

2020-09-11 13:54:19 316

原创 tomcat源码-责任链设计模式

最近开发个项目,刚好需要用到责任链设计模式,就重温了tomcat的pipeline-value源码,刚好在这里记下笔记。先来考考大家,怎么用代码完成以下需求?(代码在下文,还有源码哦) 工厂安装一台汽车,需要经过一套完整操作流水线,安装引擎 -> 安装窗子 -> 喷漆 ->质量检查, 当所有的流程依次走完这台汽车才安装成功。大家应该很快想到使用责任链设计模式,下面我来说说tomcat中pipeline-valve责任链pipeline的流程图其中pipeline是一条管

2020-09-09 19:49:14 354

原创 基于redisson实现分布式锁入门例子

引入:一.为什么要使用分布式锁,用同步关键字synchronized,或者lock锁不能实现吗?答:同步关键字与lock锁是基于jvm系统级别的,只能适用于同一jvm;对于微服务架构的各个单独部署的服务来说,各个微服务之间不同jvm,所以这时候只能依靠分布式锁来实现同步。二.分布式锁的必须满足的特性?1互斥性:锁的最基本特性;2可重入:获取锁后可以再次获取,常见于递归调用的场景;3...

2019-06-17 17:44:02 596

原创 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 12776 2

空空如也

空空如也

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

TA关注的人

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