java
文章平均质量分 67
陈朔怡
这个作者很懒,什么都没留下…
展开
-
乐观锁和悲观锁学习
什么是悲观锁?总是假设最坏的情况,每次去拿数据的时候都认为别人会修改。所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)互斥锁的同步方式是就悲观的,就是操作系统认为如果不严格进行线程调用,那么一定会产生异常,所以互斥锁就会把资源锁定,只供一个线程调用,将其他线程阻塞。例如Java中的synchronized就是一种悲观锁。使用悲观锁的例子public class Test { //开三个线程原创 2021-03-17 21:04:59 · 188 阅读 · 0 评论 -
滑动窗口算法学习
滑动窗口算法学习滑动窗口算法主要应用在数组和字符串的场景中,常常可以用以解决数组或字符串的子元素问题,它可以将嵌套的循环问题,转换为单循环问题,降低时间复杂度。1. 无重复字符的最长子串题目描述:给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。暴力解决方法:用两层循环生成所有的子串,再利用HashSet判断他们是否含有重复字符,这种方法需要的时间复杂度为O(原创 2021-03-05 23:33:39 · 277 阅读 · 0 评论 -
JWT基础学习
JWT介绍JWT(Java Web Token) 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准(RFC 7519)。JWT一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该Token也可直接被用于认证,也可被加密。JWT能做什么?Authorization (授权) : 这是使用JWT的最常见场景。一旦用户登录,后续每个请求都将包含JWT,允许用户访问该令牌允许的路由、服务和资源。单点原创 2021-01-22 14:19:04 · 398 阅读 · 1 评论 -
java多线程的学习之路(二)
笔记来源java多线程的学习之路(一)一、临界资源问题模拟四个售票员同时售票的场景public class SourceConflict { //演示临界资源问题 //某个景点有4个售票员在同时售票。 public static void main(String[] args) { //1 实例化四个售票员,用4个线程模拟4个售票员 Runnable r = () -> { while (TicketCenter.原创 2020-07-16 16:26:50 · 127 阅读 · 0 评论 -
java多线程的学习之路(一)
笔记来源:https://www.bilibili.com/video/BV1Z4411G7vn?p=1一、线程的生命周期生命周期:在程序开发中,将一个对象从被实例化完成,到这个对象使用结束,并销毁,将这样的过程称为对象的生命周期。类似于人的一生。线程的生命周期: .一个线程被实例化完成,到这个线程销毁,中间的过程。线程的状态:新生态: New一个线程对象被实例化完成,但是还没有做任何的操作。就绪态: Ready一个线程已经被开启,已经开始争抢CPU时间片。运行态: Run原创 2020-07-16 11:24:30 · 229 阅读 · 0 评论 -
解析json字符串,把json字符串转换成Java对象
目录一、导入一个fastjson的jar包二、Json字符串格式一、导入一个fastjson的jar包在pom.xml里加上这个依赖:<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.60</version></dependency>二、Json字符串格原创 2020-07-08 16:19:29 · 2808 阅读 · 1 评论