- 博客(30)
- 收藏
- 关注
原创 谈谈Redisson分布式锁的底层实现原理
最近面试被问到Redisssion分布式锁的底层原理,这里我们讲讲首先最常见的是分布式锁是用来解决的,但是显而易见,这种操作不能保证,并且不管我们定多少,都不能保证,在这段时间内锁住的代码执行完成了,所以这个所以,我们采用Redission+lua脚本解决这个问题注:Redis 的版本在 2.6以后,Redisson 通过 eval 命令来执行 Lua 脚本。
2024-09-26 12:57:57
1209
原创 谈谈分布式锁
在我们进行单机应用开发涉及并发同步的时候,我们往往采用synchronized或者ReentrantLock的方式来解决多线程间的代码同步问题。但是当我们的应用是在分布式集群工作的情况下,那么就需要一种更加高级的锁机制,来处理种跨机器的进程之间的数据同步问题,这就是分布式锁。分布式锁,是控制分布式系统之间同步访问共享资源的一种方式。在分布式系统中,常常需要协调他们的动作。
2024-09-12 15:04:05
870
原创 解决maven 配置阿里云镜像,但是很多包还行无法下载
发现阿里云的maven url已经更新了,网络上的url大多是以前酒的,所以这里更新就好了。发现下载一些spring或者其他jar。总是显示没有,下载不到。然后去阿里云文档查看。settting.xml 配置了如下镜像地址。
2024-07-24 11:55:06
356
1
原创 谈谈Stream流式处理
Stream APl ( java.util.stream)把真正的函数式编程风格引入到Java中。这是目前为止对Java类库最好的补充,因为Stream API可以极大提供Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。
2022-08-16 01:02:07
660
原创 谈谈为什么重写equals()要重写hashcode()方法
谈谈为什么重写equals要重写hashcode()方法面试官可能会问你:“你重写过 hashCode() 和 equals()么?为什么重写 equals() 时必须重写 hashCode() 方法?”一个非常基础的问题,面试中的重中之重开始的时候,我十分不理解,两个毫无相干的东西为什么要联系在一起?这篇文章就是研究过程,可能会借鉴一些网上的内容首先来看hashCode() 有什么用?hashCode() 的作用是获取哈希码(int 整数),也称为散列码。这个哈希码的作用是确定该对象在哈希表中
2022-03-13 15:27:32
1125
原创 聊聊Synchronize
Synchronize锁一、概述在多线程并发编程中 synchronized 一直是元老级角色,很多人都会称呼它为重量级锁。但是,随着 Java SE 1.6 对 synchronized 进行了各种优化之后,有些情况下它就并不那么重了。本文详细介绍 Java SE 1.6 中为了减少获得锁和释放锁带来的性能消耗而引入的偏向锁和轻量级锁,以及升级过程。二、实现同步的基础Java 中的每个对象都可以作为锁,具体变现为以下3中形式:对于普通同步方法,锁是当前实例对象对于静态同步方法,锁是当前类的
2022-03-12 16:33:50
222
原创 (Nginx出现403 forbidden)nginx权限问题failed(13:Permission denied)
启动nginx发现前端出现问题logs下的error.log发现如下警告检查nginx错误日志错误如下2022/02/08 16:40:06 [error] 19486#0: *25 open() “/home/nstc/nstcapp/nginx/html/portal/index.html” failed (13: Permission denied), client: 192.168.61.55, server: _, request: “GET /favicon.ico HTTP/1.1
2022-02-08 17:04:26
2429
原创 黑马VUE学习笔记(附带项目天气预报和音乐播放器所有源码)
文章目录黑马VUE学习笔记—后端小白入门(附带项目天气预报和音乐播放器所有源码)感谢黑马!01第一个vue程序02el挂载点el是用来设置Vue实例挂载(管理)的元素1.vue的作用范围在el命中的元素内部可以被渲染Vue会管理el选项命中的元素及其内部的后代元素2.是否可以选用其他的选择器3.是否可以设置其他的dom元素03data 数据对象1.Vue中用到的数据定义在data中2.data中可以写复杂类型的数据3.渲染复杂类型数据时,遵循js的语法即可 .语法,数组的索引语法04本地应用-介绍1.通过V
2021-11-03 16:09:38
7632
17
原创 springboot 项目linux虚拟机部署 踩坑无数
springboot 项目linux虚拟机部署 踩坑无数(个人记忆)先要有一个springboot项目最好用mysql5.7因为linux都是这个版本的连接,驱动,连接方式都要改全部使用5.7版本,我用的是8.0,踩坑无数然后jdk用oracle的1.8用解压包形式放在/usr/local/java/包下,然后修改/etc下的profile文件地址**,注意位置**命令网上都有然后安装mysql,用apt最简单,密码和连接要和开发环境一致然后Java-jar启动程序jar包就行了...
2021-09-20 01:49:42
179
原创 (菜鸟刷题,菜鸟解析)剑指offer11题:二进制中1的个数
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。例:十进制中10的32位二进制表示为0000 0000 0000 0000 0000 0000 0000 1010,其中有两个1。解析:很简单先转换为2进制字符串然后字符串split()分割,遇1计数器加1public class Solution { public int NumberOf1(int n) { String s=Integer.toBinaryString(n); String
2021-09-18 23:42:37
109
原创 剑指offer面试高频题系列题解分析
剑指offer高频题系列题解分析4.重建二叉树给定某二叉树的前序遍历和中序遍历,请重建出该二叉树并返回它的头结点。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如下图所示。提示:1.0 <= pre.length <= 20002.vin.length == pre.length3.-10000 <= pre[i], vin[i] <= 100004.pre 和 vin 均无重复元素5.vin出现的
2021-09-16 23:25:50
180
原创 剑指offer高频题系列题解分析
剑指offer高频题系列题解分析4.重建二叉树给定某二叉树的前序遍历和中序遍历,请重建出该二叉树并返回它的头结点。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如下图所示。提示:1.0 <= pre.length <= 20002.vin.length == pre.length3.-10000 <= pre[i], vin[i] <= 100004.pre 和 vin 均无重复元素5.vin出现的
2021-09-16 22:20:30
137
原创 Java基础知识一些
Java基础知识转载出自大佬写hello world 也有bug ,并加上自己的一些理解对一些基础知识的一个汇总final关键字和static关键字final关键字final关键字一般用在三个地方:变量、方法、类。基本数据类型的变量,数值一旦在初始化之后便不能更改引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。final修饰一个类时,表明这个类不能被继承。final类中的所有成员方法都会被隐式地指定为final方法。final修饰方法的原因有两个。第一个原因是把方法锁定,
2021-09-07 20:56:06
87
原创 Java集合框架笔记(全)
Java集合框架*集合一、集合概念集合即对象的容器,实现了对对象常用的操作,类似数组功能。二、集合和数组的区别数组长度固定,集合长度不固定数组可以存储基本类型和引用类型,集合只能存储引用类型位置:java.util.*;[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YImVAHUd-1631018959607)(D:\Typora\QQ截图20210828004159.jpg)]Collection体系集合Collection是体系的根接口,代表一组对
2021-09-07 20:52:08
281
原创 Html入门基础知识
html文件title<title>页面内容标签简介属性:基本属性bgcolor=“red”事件属性οnclick=“alert(“hello”);”单标签换行水平线图片双标签 标签它是一个段落标签会自行起一行段落,并且可以作为一个盒子来使用。字体标签span标签span标签本身并没有什么格式表现(比如:换行等),需要对它应用样式才会有视觉上的变化。html中span标签的详细介绍特殊标签空白标签  标题标签从h
2021-06-17 00:26:10
93
原创 Druid连接MySQL8.0配置文件方式
一定要有两个组件https://wwe.lanzous.com/b01i9ragh密码:811i附上蓝奏云链接,不限速放在lib下,然后buildpath引入src文件下druid.properties内容url=jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=trueus.
2021-04-27 14:35:31
3609
3
原创 Unknown column ‘字段名‘ in ‘field list‘ 错误
像我就是数据库内表的列名写错了,I写成了L,所以用alter table examstudent change FlowlD FlowID int(10) ;来修改数据库,然后@Test运行成功总结如下和解决方法1.检查数据库是否连接正确2.检查字段名是否对应上了3.检查实体类字段和数据库字段是否对应写文不易,求个赞赞!!!...
2021-04-18 16:11:01
765
原创 使用eclipse连接mysql出现“MySQLSyntaxErrorException: Unknown database”错误
出现Unknown Database 的原因可能是如下两个原因:1、username 错误;2、URL 错误;username:rooturl:jdbc:mysql://localhost:3306/?useSSL=false&serverTimezone=UTC注意3306/后一定是问号!!!!!!!写文不易,求个赞赞...
2021-04-09 10:44:39
2719
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人