- 博客(226)
- 收藏
- 关注
原创 mysql数据库中事务锁的机制
所以加过排他锁的数据行在其他事务种是不能修改数据的,也不能通过for update和lock in share mode锁的方式查询数据,但可以直接通过select ...from...查询数据,因为普通查询没有任何锁机制。写锁又称为排他锁,简称X锁,排他锁就是不能与其他所并存,如一个事务获取了一个数据行的排他锁,其他事务就不能再获取该行的其他锁,包括共享锁和排他锁,但是获取排他锁的事务是可以对数据就行读取和修改。排他锁指的是一个事务在一行数据加上排他锁后,其他事务不能再在其上加其他的锁。
2024-09-19 08:19:06 374
原创 事务与锁的关系
1、事务与锁是不同的。事务具有ACID(原子性、一致性、隔离性和持久性),锁是用于解决隔离性的一种机制。2、事务的隔离级别通过锁的机制来实现。另外锁有不同的粒度,同时事务也是有不同的隔离级别的。3、开启事务就自动加锁。
2024-09-09 09:50:56 103
原创 json传参数和表单传参
如果没有添加注解 默认的是Content-Type: application/x-www-form-urlencoded 表单提交 我们也能注意到 当使用@RequestParam注解的时候,使用表单提交参数也是能接收到参数的。当你的controller使用post接收请求的时候 传参一般是 封装类 和封装的对象 需要注解@RequestBody @RequestParam 才能接收到json的参数 不然是接收不到的比如。第一个接口接收到参数 第二个接口接收不到参数。接口都可以接收到参数的,
2024-08-24 18:49:06 274
原创 TransmittableThreadLocal
在接口中使用到用户信息的时候可以在上下文中取出,当前线程使用结束需求清除掉。比如我目前用到定时任务用的@Schedule,他实现的使用的相同的线程,当前一个任务结束用户信息添加了没有删除,下一个任务获取的就是上个任务的用户信息,坑惨了。为了防止提交表单的时候携带的个人信息被篡改,我们经常使用token保存用户的个人信息,每次调用都是传token解析出个人信息,保存在当前的线程中,在哪里使用了我们就在线程中取出,防止提交人和个人信息不一致。拦截每个请求 添加上下文 使用完成就需要清掉。
2024-08-23 17:50:35 177
原创 输出倒闭输入
他师傅对他的教导就是与世无争,很符合一个出家人六根清净得道高僧的样子,然后他就是一个堕落的天使,引诱者一个个有着性格缺陷,内心自私自利的人一步步走入深渊,最后失去生命,他虽然是事件的操纵者,观看者,可是他表现的内心平静展示的与世无争。他的成功是时代的选择,是时代赋予他的成功,就如同互联网行业的一句话,站在风口上猪都能飞。去公园真实的想法就是想看看能不能遇到同频的人,有时间愿意花时间在自己独处,有自己的爱好看看书在公园追追剧,聊聊天,陪伴愿意做相同的事情这样的人也许三观是一致的,这就是自己的内心独白。
2024-08-17 17:10:45 314
原创 程序开发语言
golang 只有大厂在使用,字节 b站等 生态不是完善 没有java各种中间件补充,云原生容器开发等,天花板相比java第一点。java 现有的开发50%-60%是java开发,业务范围很广泛,从业人众多,薪资天花板很高。python 应用在 爬虫 数据分析等领域 (ai) 薪资比较低。
2024-08-04 12:50:06 93
原创 缝缝补补的生活
有志之人立长志无志之人常立志,经常说重新开始,从头来过但是我们的生活从出生就是一直向前的,不管你过的好还是坏,有意义还是没有意义,时间从来没有停止,也不会从头再来,只有缝缝补补的人生。停止输出后也没有积极的输入,再次拾起自己荒废的精神寄托,希望能给自己带来成长和精神寄托,回头让自己有迹可循,积极乐观去生活,生活不止眼前的苟且,还有诗和远方的田野,让工作奠定美好的生活基础,不要为了工作失去了美好的生活。美好继续,分享不停。
2024-07-27 17:45:31 134
原创 数据结构
数据结构有时候能帮我们解决实际的问题。数据结构:线性结构和非线下结构。常见的线性结构有数组、队列、链表、栈非线性结构:二维数组、多维数组、广义表、树结构、图结构。稀疏数组:只记录有标记的位置,其他没有意义的不记录。...
2021-01-27 20:06:10 355
原创 HttpServletRequest趣说
学了很多年的编程了,学的编程语言也不少了,传递参数到现在都没弄明白,自己干啥吃的,极度怀疑自己的智商,今天就来说下HttpSerletRequest,写道这里也没啥说的了。就是实例化这对象,然后把它作为接口的参数传递,然后要注意的是我是些java后端的,不太了解前端是如何传递参数的(自己还是敲过几个jsp,vue的前端项目的)项目经验都喂狗了。自己就在些接口,然后自己测试就使用postman传参,get方式和post方式,get就直接写params对应的对象名,对象值就可以了。后端用HttpSerletRe
2021-01-26 23:42:38 413
原创 get请求和post请求,传递参数
今天简单的说下对get请求和post请求的认识,我记忆中对这个问题有过些了解,今天继续。首先get一般做查询删除操作,post用来添加修改操作。其次get请求是不安全的,因为字段会拼接到URL地址中,而post请求是安全的,放在body中,这里说的安全是相对的。今天的最要问题不是这个。post传递参数的方式有四中,您知道是那四种吗???这个问题我今天被问????了。到现在都没有想通,好像是前端传参的问题,后面解决会更新。...
2021-01-25 23:31:58 2717
原创 江山如此多娇
昨天看了看这部电视据的剪辑,我承认我是被剪辑的爱情片段吸引了,很让我向往这些。今天说下剧情和自己的感悟吧!开始男主的个人的担当让我很喜欢那个开头,就是一个龙书记(去世,积蓄是上交党费)儿子能不是继承遗产,这个钱该不该拿。男主很霸气,然后女主也很刚,这就是一场你势均力敌的战斗呀!然后期待男女主的相遇,果然,男主被贬为村支书,女主被下派扶贫,二人不期而遇。就是这样老套的情节,我被吸引了。其实我就是被二人的情节主线吸引了。看完当中的剧情,我想到了和多。一个村子的贫穷不是村子的人不努力,也不是人懒,是人
2021-01-24 11:38:10 269 1
原创 idea中git的使用
遇到问题就要解决问题,自己做事情欠考虑然后自己一气之下就把自己本地创建的分支全部删除了,当时啥也没想。气愤让自己的大脑停止运转成为了白痴。然后自己commit到本地仓库的代码,付之一炬。前车之鉴,为自己敲响了警钟。整理下git的使用方式。先梳理下如何使用git吧! 今天梳理思路,这周会有实践一步步把吹的牛逼实现在github 或者是码云上创建自己的项目仓库,需要注意的事项,然后得到项目的地址。在自己的idea上能够使用git,一般好像安装完成就能用的,自己还是想说下如何使用,idea上如
2021-01-21 00:08:17 268
原创 mapper中的sql语句
最近总结下如何写sql,在面试的过程中有人到了我,如果你传递了多个参数你如何传递到sql语句中,开始很懵。不知道如何去说,去描述。今天好好的总结写这方面的内容。大致写下目录,细节后续整理。传参 单个参数 多个参数 数组 实体等等返回值区别 实体 map如何批量查询 修改 删除sql的动态查询如何实现一些关键字的使用当你不小心把数据更新了很多,如何解决。未解决。后续会有小故事!!!...
2021-01-19 22:48:31 1302 1
原创 分页查询
说起分页查询我们首先想到的就是真分页和假分页。真分页就是我们想取那一页的数据我们就去数据库中查询那些数据。举例说明我想查询 6-10这几条数据select * from table limit 5,5我们这样就查询到了第6条道第10条 一共5条数据,实际上我用的就是limit的用法,索引的开始值为0在mysql数据库中,你想要从第一条去要从0开始,第6条要从5开始,规律自己去找吧!然后说下假分页,我们就是一次性的把数据库中的所有数据查询出来,然后在内存中分页展示到页面上,有很多的方式,
2021-01-19 22:39:41 815
原创 原理lombok
在使用的时候很多人都使用过lombok,使用的也很简单,把jar包引入,然后在用的实体上添加上注解,这样就使用了,我们不用写get,set方法了,还有tostring。如果就是这样使用了这样为什么会有那些OpenAPI文档,还要很多的文档,还有写规范什么的,很专业很规范,如果是这样简单的使用为什么要这些专业的文档,还是很专业的文档,对我这样英文很差的人很头疼,希望自己经过这些可以很好的应用。待更新:...
2020-11-21 20:06:17 220 1
原创 spring事务传播机制总结
REQUIRED(Spring默认的事务传播类型) Required如果当前没有事务,则自己新建一个事务,如果当前存在事务,则加入这个事务根据场景举栗子,我们在testMain和testB上声明事务,设置传播行为REQUIRED,伪代码如下:@Transactional(propagation = Propagation.REQUIRED)public void testMain(){ A(a1); //调用A入参a1 testB(); //调用testB}..
2020-11-07 10:35:26 341 1
原创 spring事务
1、Spring事务隔离级别Spring事务隔离级别比数据库事务隔离级别多一个default1) DEFAULT (默认) 这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别。另外四个与JDBC的隔离级别相对应。2) READ_UNCOMMITTED (读未提交) 这是事务最低的隔离级别,它允许另外一个事务可以看到这个事务未提交的数据。这种隔离级别会产生脏读,不可重复读和幻像读。3) READ_COMMITTED (读已提交)
2020-10-30 11:32:55 221
原创 聊点Netty
netty是什么,有什么用,解决了什么问题,还说和ngix有关系,我是真的看书没有看懂,就去了解下吧!等待更新,还有就是noacs是注册中心,Zookeeper是注册中心,好像还有其他的做用,最后用的时候总结起来所有的知识点还说不错的。等待更新。...
2020-09-20 17:57:56 249 2
原创 数据结构
前面说过一点点的java容器。只些容器是如何实现数据存储的,这就需要对数据结构有了解了。数据结构,就是一种程序设计优化的方法论,研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,目的是加快程序的执行速度、减少内存占用的空间。数据结构是计算机存储、组织数据的方式,是指数据相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率(这就是为什么我们要研究数据结构的原因),数据结构往往同高效的检索算法和索引技术相关。常见的数据结
2020-09-12 20:42:53 219
原创 java多线程
首先我要说的是程序,进程,线程。多线程真对的是多cpu而言,但是单cpu也可以实现,原因就是cpu运行是内存的100倍,cpu运行的很快这时候就能进行时间片轮换线程,让你看起来像是多个线程并行。多线程就会说的有几种实现多线程的方法,可以说两种,也可以说是4种?两种创建一个子类对 Thread继承,然后重写run的方法,调用start方法,实现实现Runnable接口,实现run方法,创建对象,把对象当成参数传入Thread类的构造器中,调用Thread中的start方法。Thread也是对R
2020-09-12 20:38:08 237 1
原创 java集合(容器)
分为list,set,map三类:list常用的实现有arraylist和linkedlist,set常用的有HashSet,map中常用的有HashMap、Hashtable。list和set继承接口collection,同时collection也继承iterable,继承iterable是为了iterator,这是一个迭代器。list集合,代表一个元素是有序的且可以重复,集合中每一个元素都有其对应的顺序索引,允许添加重复元素,可以通过索引来访问指定位置的集合元素。...
2020-09-05 08:33:02 262
原创 软件设计原则的理解和认识
通过实例演变的过程,我们的软件设计要符合设计模式的几个原则1. 开闭原则软件实体(class,模块,功能或业务,微服务etc)对修改关闭,对拓展开放。抽象构建框架,实现拓展细节。面向抽象编程,而不是面向具体实现编程。因为抽象相对来说是稳定的,让类去依赖于固定的抽象,所有对于修改来说就是封闭的,通过OO的继承,多态机制就可以实现对抽象体的拓展,通过重写改变固有的方法或者实现新的拓展方法。2. 依赖倒置原则高层实现不应该直接依赖于低层实现,它们应该依赖于共同的抽象(低层接口)。越基础
2020-08-05 10:46:22 518 1
原创 jdbc
JDBC API是一个Java API可以访问任何类型的数据库的数据,尤其是存储在关系数据库中的数据。 JDBC的工作原理与Java在各种平台一样,如Windows,Mac OS和各种版本的UNIX系统
2020-07-12 23:35:27 308 1
原创 fastDFS分布式文件系统
在存储图片上使用fastDFS还是很不错的,优点就是:。fastDFS非常适合 存储图片等那些小文件,fastDFS不对文件进行分块,所以它就没有分块合并的开销,fastDFS网络通信采用 socket,通信速度很快。fastDFS架构TrackerTracker Server作用是负载均衡和调度,通过Tracker server在文件上传时可以根据一些策略找到Storage server提 供文件上传服务。可以将tracker称为追踪服务器或调度服务器。FastDFS集群中的Track.
2020-06-28 16:04:48 341
原创 字符串的截取
做了前端用到了js就感觉很累,页面真的很难受。下面说下对字符串的连接js有三种合并字符串的方法,我用到了两种,有一种还不知道什么原因用不了,了解的可以给提示下!第一种用法--用加号运算符连接两个字符串。var s1 = "abc" , s2 = "def";console.log(s1 + s2); //返回字符串“abcdef”不知道是自已傻还是咋样,反正就是错误。我懂了,我把console当成接受体,我靠。第二种用法--使用concat()方法把多个字符串连接在一起。..
2020-06-21 17:24:22 324
原创 docker安装mysql8.0
拉取mysql镜像(默认最新8.0以上)docker pull mysql创建需要挂载的目录mkdir -p /Project/Docker/mysql/data /Project/Docker/mysql/logs /Project/Docker/mysql/conf创建配置文件注:挂载配置文件必须先在宿主机创建 .cnf自定义配置文件,不然无法启动cd Project/Docker/mysql/confvi my.cnf加入自定义配置# Copyrigh
2020-06-06 18:05:39 409 1
原创 nginx
先说几个概念:今天就说这几个概念,后面应该会更新,如果你想问,我想回复。正向代理:如果把局域网外的 Internet 想象成一个巨大的资源库,则局域网中的客户端要访 问 Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。反向代理:其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只 需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返 回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器 地址,隐藏
2020-05-23 10:13:33 282
原创 Nacos作为注册中心
首先安装Nacos,我使用的是docker安装Nacos,启动安装的Nacos容器,登录就可以看到Nacos是什么样的了。1、在Springcloud中使用首先是在pom文件中引入<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><
2020-05-15 10:02:37 1144 1
原创 springcloud
springcloud给我的感受就是一个项目整体使用的全部服务的集合,好像就是一个项目使用到的全部的技术,就好像是一个整合。把应用的所有优秀的技术的整合。...
2020-04-30 19:12:52 279 1
原创 springboot总结
检验规则常用的校验规则如下@NotBlank:判断字符串是否为null或者是空串(去掉两边空格)@NotEmpty:判断字符串是否为null或者是空串(不会去掉两边空格,也即是如果你输入的是一段空串,校验会通过)@Length:判断字符的长度(最大或最小)[校验数字会抛异常的哦]@Min:判断数值最小值@Max:判断数值最大值@Email:判断邮箱是否合法e/details/944...
2020-04-26 21:35:20 254
原创 SpringBoot 使用Thymeleaf模板引擎
首先引入Thymeleaf的jar包<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>这样应该就可以使用了,使...
2020-04-19 20:53:46 338
原创 oracle数据库替换mysql总结
我使用的项目是一个maven的小项目,完成数据库替换很简单的。1.把mysql的jar包更换正oracle的jar包。替换前:<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <...
2020-04-14 10:09:09 1669
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人