自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java WebSocket 中获取httpSession详解

一:本文适用范围本文使用J2EE规范原生的WebSocket开发,适用于项目中WebSocket的使用比较少的情况,而Spring WebSocket封装的比较繁重,反而不适用于实际项目中的情况。自己在开发时就是由于项目的原因,不想用Spring-WebSocket,所有用了原生的,但是找了好多帖子试了好多方法都不行,甚至将原生的和Spring-WebSocket混用了也是不行,看源...

2019-05-14 17:44:17 4653 1

原创 映射性集合:HashMap(LinkedHashMap),Hashtable(Properties),TreeMap

注: 以下代码均来自Java8。

2024-05-16 16:26:03 609

原创 线性集合:ArrayList,LinkedList,Vector/Stack

共同点:都是线性集合。ArrayList 底层是基于数组实现的,并且实现了动态扩容关键字段 elementData 使用了 transient 关键字修饰,这个关键字的作用是,让它修饰的字段不被序列化。仔细琢磨,发现不仅尽可能少的占用存储空间,反序列化时还巧妙的恢复了原来的顺序

2024-05-11 16:15:10 634

原创 面向对象的三大特性:封装、继承、多态

封装是面向对象的核心思想。是以类为载体,将对象的属性和行为封装起来,对外隐藏其实现细节。继承原有的功能,增加自己新的功能,实现了拓展和复用。将父类对象应用于子类的特征就是多态。

2024-05-10 14:46:36 572 1

原创 Redis缓存穿透、缓存血崩、缓存击穿的原因和解决方案

缓存穿透指查询一条根本不存在的数据,缓存和持久层都不会命中。 通常出于容错考虑,数据库不存在的数据不会写入缓存,缓存穿透将导致每次查询不存在的数据,都会穿过缓存,去查询持久层,从而失去了缓存保护持久层的作用。下图为缓存穿透示意图:缓存穿透问题可能会使后端存储负载加大,由于很多后端持久层不具备高并发性,甚至可能造成后端存储宕机。通常可以在程序中统计总调用数、缓存层命中数、如果同一个Key的缓存命中率很低,可能就是出现了缓存穿透问题。一般造成缓存穿透的基本原因有两个。第一,自身业务代码或者数据出现问题

2021-06-11 11:34:34 898

原创 OAuth2.0的四种授权方式

简介OAuth2.0是一种授权机制,主要核心是向第三方应用颁发令牌(token)。有四种授权方式:授权码,隐藏式,密码式,凭证式。一. 授权码指先向第三方应用申请一个授权码,然后再用该码获取令牌。该方式最常用也最安全,适用于有后端的应用。授权码通过前端获取传送,后端获取存储令牌,并且与第三方的通信都通过后端完成。这样可以避免令牌泄露。典型应用:第三方登录1.应用A跳转到第三方应用B,B应用要求用户登录,并且询问是否授权给A应用,同意后,跳回A指定的回调地址,同时传回授权码。//A应用跳转B应用

2021-06-10 12:21:28 3048

原创 JWT token过期自动续期

前言越来越多的项目放弃使用传统的session方案,而使用token与后端交互(特别是App项目)。实现1.登录成功,后端返回access_token和refresh_token,客户端缓存这两种token;2.客户端使用access_token请求接口资源,若token过期,客户端需使用refresh_token请求刷新token接口刷新token;3.后端接收到refresh_token刷新请求后,验证refresh_token是否过期。若过期,拒绝刷新,客户端收到状态后,跳转到登录页;若

2021-06-10 09:45:13 1177

原创 java.lang.IllegalArgumentException:Result Maps collection dose not contain value for java.lang.Long

MyBatis报错如标题,说明是resultMap配置错了,resultMap应该配置自定义的结果集映射,如果直接配置类名,应该用resultType,如:resultType=“java.lang.Long”。注:MyBatis会检查所有Mapper.xml中的resultMap,而不止是当前查询的检查(这个很坑,自己明明昨天测试好的,今天出问题了,找半天,结果发现是别人提交的没测试好的代码的问题。最好测试好的代码再吧,不要盲目自信,我不愿意坑别人,也不喜欢别人坑我)...

2021-05-17 10:57:01 832 1

原创 SpringCloud Feign 传参问题及传输Date类型参数的时差

1.多参数表单类型传输 @PostMapping("/service/system/advertiser/save") Response<Boolean> saveAdvertiser(@RequestParam("username") String username, @RequestParam(...

2018-04-09 16:47:09 12742

原创 Java使用Spring的JavaMailSenderImpl发送Email

spring-context.xml配置 <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <!-- 发送服务器,根据当前使用的邮件服务商决定 --> <property name="host" value="smtp.exmail.qq.com

2018-01-11 17:30:00 2999

原创 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 错误

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureThe last packet successfully received from the server was 3 milliseconds ago.  The last packet sent successful

2018-01-11 16:46:42 457

原创 Jedis 实现多条件查询

封装的Redis操作的工具类这里面存取Redis的key和value全部都先序列化了的public class DefaultJedisPoolClient { private static JedisPool pool = null; //封装的序列化接口 private ISerializer serializer; public Set<String> sinte

2017-11-17 17:22:12 2847

原创 npm安装包失败的解决

1.安装淘宝镜像npm install -g cnpm --registry=https://registry.npm.taobao.org2.直接配置npm的路径npm config set registry https://registry.npm.taobao.org*这种做法可以在任何地方使用npm安装包的时候都好使。

2017-11-13 14:13:24 2079

原创 将JSON格式字符串转成对象、数组、取值等(注意事项)

将JSON格式字符串转成对象、数组、取值等将前端给我们传的JSON格式的字符串解析,得到我们想要的数据 例:String data = "[{\"name\":\"认证测试\",\"data\":\"{\"smsConfigId\":\"1\",\"idCode\":\"ceshiSms\",\"smsMsg\":\"您的验证码为:#{code}\"}\",\"category\":\"1\"},

2017-10-19 11:33:29 2462

原创 Html静态模拟登陆过程中遇到的问题

1.传值的问题:通过URL传值:两种方式(基本一样)1)location对象登陆页面:window.location = "register.html?uname="+uname+"&pwd="+pwd;2)window对象的open()方法,也是将URL传进去接收页面:  var url1 = window.location.href; var str = url1.

2017-06-10 17:10:21 439

原创 JAVA SE集合总结

一、集合的结构框架  1.线性集合Collection,所有线性集合需要实现Collection接口映射性集合Map,所有映射性集合需要实现Map接口Collection接口:List接口和Set接口List接口的实现类:ArrayList类,LinkedList类,Vector(Stack)Set接口的实现类:HashSet(Linke

2017-06-02 20:03:19 622

空空如也

空空如也

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

TA关注的人

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