自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 int和bigint的区别

bigint(mysql没有long类型)从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。P.S. bigint已经有长度了,在mysql建表中的length,只是用于显示的位数int从 -2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 inte

2022-01-10 11:18:04 2661

原创 datetime和timestamp的区别

datetime和timestamp的区别MySQL的timestamp类型存储时间范围为什么是2038年之内MySQL 中 timestamp 数据类型的工作原理:timestamp 记载着从 1970 年 1 月 1 日到 2000 年所经历的秒数。这个数据是以 32 位存储的,第一位是符号位,其余的 31 位用来存数字,而这 31 位数字可以存储的最大数字为 2147483647。从 1970 年开始计算,这 31 位的数字可以表示的秒数最多可以用到 2038 年 01 月 19 日 03 时 1

2022-01-10 11:12:47 1627

转载 mybatis trim标签的使用

https://blog.csdn.net/wt_better/article/details/80992014

2022-01-07 11:17:01 169

转载 spring事务管理中,用try-catch处理了异常,事务也会回滚?

http://www.javashuo.com/article/p-uarqxbqy-b.html

2022-01-07 11:15:23 727

转载 VIM 进入和退出命令

https://www.cnblogs.com/chen-nn/p/11531932.html

2022-01-07 11:14:23 122

转载 MySQL中的any_value()函数

https://blog.csdn.net/u014079773/article/details/93722761

2022-01-07 11:12:55 609

转载 工具类中使用@Autowired注入为null的问题

https://blog.csdn.net/A_Runner/article/details/101425355

2022-01-07 11:11:40 251

转载 mybatis中 <set>标签

https://blog.csdn.net/qq_32534855/article/details/110877688

2022-01-07 11:10:44 301

转载 Mybatis之jdbcType的重要性

https://www.cnblogs.com/lzjdm/p/10881745.html

2022-01-07 11:09:40 86

转载 JAXB 实现java对象与xml之间互相转换

(https://www.cnblogs.com/liuk/p/5829389.html)

2022-01-07 11:02:35 107

转载 Spring事务传播机制

引用一篇写的比较好的文章

2022-01-07 11:00:12 73

原创 Java自定义异常,应该继承Exception还是Runtime Exception,为什么?

Exception分为编译时异常和运行时异常,编译时异常也叫做checkedException,运行时异常也叫做uncheckedException如果抛出Exception,比如throw new Exception(“error message”);则必须要对该异常进行处理,要么自己try catch,要么使用throws语句在方法上抛出给调用者,让调用者去处理,而且调用者必须处理,否则编译不会通过,这样的好处是出现该异常时由于调用方处理了,所以程序不会停止运行,缺点是耦合性太高了,如果不throws

2022-01-07 10:55:37 4761 3

原创 多线程

进程和线程的区别:在操作系统中运行的程序就是进程,比如你的QQ,播放器,游戏,IDE等等…一个进程可以有多个线程,如视频中同时听声音,看图像,看弹幕,等等程序运行起来就变成进程了,进程中包含线程1.说起进程,就不得不说下程序.程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念2.而进程则是执行程序的一次执行过程,它是一个动态的概念,是系统资源分配的单位3.通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义,线程是CPU调度和执行的单位注意:

2021-02-14 20:39:44 217

原创 网络编程之TCP和UDP

网络编程的目的:无线电台…传播交流信息,数据交换,通信网络通信的要素:ip,端口,网络通信协议(tcp,udp)网络编程中有两个主要的问题:1:如何准确的定位到网络中的一台或者多台主机 2:找到主机之后如何进行通信...

2021-02-09 19:17:56 157

原创 Spring Security Oauth2

1用户认证需求分析1.1 用户认证与授权什么是用户身份认证?用户身份认证即用户去访问系统资源时系统要求验证用户的身份信息,身份合法方可继续访问。常见的用户身份认证表现形式有:用户名密码登录,指纹打卡等方式。什么是用户授权?用户认证通过后去访问系统的资源,系统会判断用户是否拥有访问资源的权限,只允许访问有权限的系统资源,没有权限的资源将无法访问,这个过程叫用户授权。1.2 单点登录需求一个项目可以包括多个子项目,如:学习系统,教学管理中心、系统管理中心等,为了提高用户体验性需要实现用户只认证一次

2020-11-05 21:44:46 1806 2

原创 Eureka注册中心和Feign远程调用

在前后端分离架构中,服务层被拆分成了很多的微服务,微服务的信息如何管理?Spring Cloud中提供服务注册中心来管理微服务信息。为什么 要用注册中心?1、微服务数量众多,要进行远程调用就需要知道服务端的ip地址和端口,注册中心帮助我们管理这些服务的ip和端口。2、微服务会实时上报自己的状态,注册中心统一管理这些微服务的状态,将存在问题的服务踢出服务列表,客户端获取到可用的服务进行调用。Eureka介绍Spring Cloud Eureka 是对Netflix公司的Eureka的二次封装,它实现

2020-10-24 19:50:42 1946

原创 分布式文件系统 fastDFS研究

文件太多如何高效存储?用户访问量大如何保证下载速度?分布式文件系统解决了海量文件存储及传输访问的瓶颈问题,对海量视频的管理、对海量图片的管理等。什么是文件系统文件系统是负责管理和存储文件的系统软件,它是操作系统和硬件驱动之间的桥梁,操作系统通过文件系统提供的接口去存取文件,用户通过操作系统访问磁盘上的文件什么是分布式文件系统分布式文件系统是面对互联网的需求而产生,互联网时代对海量数据如何存储?靠简单的增加硬盘的个数已经满足不了我们的要求,因为硬盘传输速度有限但是数据在急剧增长,另外我们还要要做好数

2020-10-18 19:05:11 187

原创 MySQL存储原理

MySQL中的数据组织是以页为单位的每一页中的信息包括:页头记录页面的控制信息,共占56字节,包括页的左右兄弟页面指针(用来连接相邻的页面),页面空间使用情况等虚记录最大虚记录: 比页内最大主键还大最小虚记录:比页内最小主键还小记录堆行记录存储区: 分为有效记录和已删除记录两种自由空间链表已删除记录组成的链表未分配空间页面未使用的存储空间页尾页面组后部分,占8个字节,主要存储页面的校验信息页内记录维护顺序保证MySQL中的数据是逻辑连续的页与页之间的关系图插入策

2020-08-16 21:11:14 1368

原创 MongoDB与分布式文件系统GridFS

mongodb介绍Mongodb是非关系型数据库,存储Json格式数据 ,数据格式灵活。在win7系统安装mongodb需要vc++运行库,如果没有则会提示“无法启动此程序,因为计算机中丢失VCRUNTIME140.dll”。安装完mongodb之后启动mongodb在bin目录的同级下创建几个文件夹具体如下:数据库路径(data目录)、日志路径(logs目录)并在logs目录下添加日志文件(mongo.log文件)创建配置文件mongo.conf,文件内容如下:#数据库路径dbpath

2020-08-02 10:04:08 520

原创 JVM内存模型以及JVM调优

JVM内存模型图

2020-07-26 21:00:24 305

原创 RabbitMQ

消息中间件RabbitMQRabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现,并不是由java语言开发的.消息中间件(消息队列)是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题实现高性能,高可用,可伸缩和最终一致性[架构] 使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ以下介绍消息队列在实际应用中常用的使用场景:异步处理,应用解耦,流量削锋和消息通讯四个场景架构图RabbitMQ安装与启

2020-07-19 19:49:15 281 1

原创 ElasticSearch详解

为什么要使用全文检索面对复杂的搜索业务和数据量,使用传统数据库搜索就显得力不从心,一般我们都会使用全文检索技术。常见的全文检索技术有 Lucene、solr 、elasticsearch 等。理解索引结构索引结构包括逻辑结构和物理结构逻辑结构部分是一个倒排索引表:1、将要搜索的文档内容分词,所有不重复的词组成分词列表。2、将搜索的文档最终以Document方式存储起来。3、每个词和docment都有关联。如下:Elasticsearch简介ElasticSearch是一个基于Luce

2020-07-18 09:56:10 1825

原创 缓存穿透、缓存击穿、缓存雪崩

缓存穿透缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。解决方案:1.接口层增加校验,如用户鉴权校验,id做基础校验,id<=0的直接拦截;2.从缓存取不到的数据,在数据库中也没有取到,这时也可以将key-value对写为key-0。这样可以防止攻击用户反复用同一个id暴力攻击。3. 使用缓存预热缓存预热就是将数据提前加入到缓存中,当数据发生变更,再将最新的数据更新

2020-07-05 17:15:52 155

原创 跨域

什么叫跨域?当协议、子域名、主域名、端口号中任意一个不相同时,都算作不同域。不同域之间相互请求资源,就算作“跨域”。JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。那什么是跨域呢,简单地理解就是因为JavaScript同源策略的限制,a.com域名下的js无法操作b.com或是c.a.com域名下的对象。当协议、子域名、主域名、端口号中任意一个不相同时,都算作不同域。不同域之间相互请求资源,就算作“跨域”。如何解决跨域问题?我们使用CORS实现跨域。CORS是一个W3C

2020-07-05 17:14:53 302

原创 SpringDataRedis的使用

SpringDataRedis 属于Spring Data 家族一员,用于对redis的操作进行封装的框架Spring Data ----- Spring 的一个子项目。Spring 官方提供一套数据层综合解决方案,用于简化数据库访问,支持NoSQL和关系数据库存储。包括Spring Data JPA 、SpringData Redis 、SpringDataSolr 、SpringDataElasticsearch 、Spring DataMongodb 等框架。首先在类中注入RedisTemp

2020-07-04 18:28:48 200

原创 redis分布式锁在项目中的使用和底层原理

[redis分布式锁在项目中的使用] (https://blog.csdn.net/LLLLLiSHI/article/details/105811284)底层原理:(https://www.cnblogs.com/williamjie/p/11250679.html)

2020-06-26 18:50:13 221

原创 多级菜单展示

//方式1:首先按照条件(不同角色展示不同的菜单,权限不同)查询上级菜单id为0的列表(1级菜单),循环得到每个一级菜单id,用一级菜单的id作为parent_id去查询二级菜单,得到每个二级菜单的id,嵌套循环得到每个二级菜单id,查询三级菜单//不推荐方式1:因为和数据库需要频繁交互,交互次数 = 1 + 一级菜单数量 + 二级菜单数量//方式2:首先把符合条件的菜单查询出来(列表),通过...

2020-04-25 17:21:13 829

原创 文件上传

先添加配置,为了通用性,我们选择CommonsMultipartResolver具体实现@RestController@RequestMapping("/upload")public class UploadController {@Autowiredprivate HttpServletRequest request;@PostMapping("/native")p...

2020-03-14 21:06:41 175

原创 公共异常处理方法

通过建立公共异常处理类,就不需要在每一个controller中都使用try…catch了先定义执行成功或者出现异常返回的实体类public class ResultOk implements Serializable {private Integer code; //0代表成功,1代表失败private String message;public ResultOk(){ this...

2020-03-09 21:43:28 1121

空空如也

空空如也

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

TA关注的人

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