自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ElassticSearch基础语法与释义

【代码】ElassticSearch基础语法与释义。让我们更快速的入门ES

2023-10-15 13:00:35 202

原创 Spring解决同一个接口不同实现类的依赖注入的方式

Spring针对同一接口的不同实现类,如何进行依赖注入

2023-08-23 20:44:41 1140

原创 leetcode88题:数组合并排序

leetcode88题,有序数组合并

2022-08-15 21:51:38 298

原创 List集合去重的常见几种方式

List集合去重方式

2022-03-22 12:57:59 1141

原创 Swagger的基本用法

Swagger-UI的使用1.导入依赖:<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <v

2022-03-20 22:42:11 510

原创 今天在做项目时候,遇到maven问题,记录一下

1.maven的循环依赖问题:假如项目中是多个模块的聚合A-modules依赖B-Modules模块,B模块的有些东西需要依赖A模块,这样的话,产生了循环依赖异常解决循环依赖的问题:1.比方说B模块,我们可以将A需要B模块的那一部分代码移到A上,但是当项目大了起来,这样做很不方便2.重构:将AB模块共有的抽取出来,作为公共部分去使用,这样既减少了代码量,又避免了一些未知的bug.二:解决了循环依赖的问题之后,又出现了一个新的问题,当我们在B模块导入A模块的时候,启动项目发现,有些类找

2021-09-12 20:36:53 67

原创 通过git命令将代码推送到远程仓库的的踩坑记

记录一篇git推送代码到远程仓库的bug,首先看下bug的内容如下: fatal: Authentication failed for 'https://github.com/zaicheng123/MyCode.git/'这个问题很明显就是推送远程仓库的时候,用户名密码认证失败。二:如何解决呢? git config --global user.email "xxx@qq.com" git config --global user.name "zaicheng123" \设

2021-09-12 20:19:50 184

原创 spring-cloud-alibaba的版本选择遇到的问题

#踩坑记:分享一篇在使用spring-cloud-alibaba时,在版本选择方面踩到的坑:以便帮助一些小伙伴少走弯路啊,我被坑了一下午。一:首先说我遇到的问题: 1.就是下载对应spring-cloud-starter-alibaba-nacos-discovery的 版本下载不出来,百度了一下,发现我的问题所在:附图如下: 2:版本对应不上,导致naocs服务启动时遇到,org.springframework.cloud.client.serviceregistry.Auto

2021-09-11 17:59:29 1829 5

原创 分享一篇jedis到springboot整合redis的流程

首先我想说的是redis是一个基于内存,可持久化,支持网络,key-value形式的缓存型的非关系型数据库,它由C语言编写。它的数据类型有:string、list、hash、set、zset,可用于的场景是:排行榜,分布式消息订阅,计数器,投票,会话,session.redis的缺点:单线程命令慢,容易造成阻塞,线程上下文切换消耗资源。redis的优点:采用io多路复用,它安装在磁盘,运行在内存。那么接下来我想分享的是有关于:从jedis到spring整合redis以及springboot整合red

2020-07-26 11:25:24 158

原创 STS插件创建springboot的mvc项目遇到的问题:

前言:今天用STS插件做了一个springboot整合mvc的web项目,用的视图是jsp,但是我程序启动成功后,报错404,说是找不到页面,依赖都引入了,观察半天我的pom.xml文件,原来是忘了加下面个依赖:加上这个依赖重新再启动的时候,果然可以了。还有我要提醒以下,在创建好项目之后,把启动类一定要放在所有包的外层,springboot会去扫描,不然的话,启动之后访问还是会报404...

2020-07-13 20:12:07 158

原创 手写mybatis思想

前言:mybatis是一个半自动的ORM框架,用于实现面向对象编程语言里的不同类型系统的数据之间转换。那么我们怎么实现一个mybatis一个框架,首先我们对mybatis要有一个深刻的认识,底层源码以及底层原理有个熟悉的掌握,那么我先说一下mybatis的大致执行流程:我们要执行的话,首先要将磁盘上的xml文件,读到内存中,通过java文件去解析。首先通过输入流从磁盘上读取,通过SqlSessionFactoryBuilder的build方法读取流,并创建SqlSessionFactory对象,

2020-05-24 13:30:15 119

原创 分页

近期在做一个SSM项目的分页,由于好久都没写过分页了,今天又写了一次,并且自己也总结了一下:接下来我给大家分享下分页需要准备哪些类:我们想我们要整成上一页下一页,首页尾页的形式,肯定在查询数据库的时候需要传入两个参数,limit index,number,index代表第一条数据的起始位置,number代表显示记录的条数,当我们在写Mapper的时候就将这两个参数传进去。第二,就是写一个分页的工具类:那么下面给大家分享下我的思路:1.首先写一个PageUtil的一个分页工具类:上图就是分页工具类中

2020-05-20 14:02:16 362

原创 springIOC的核心:反射,以及我们如何用反射实现依赖注入

前言:最近在一些腾讯课堂上看了一些大佬的讲解,就是在马士兵教育的连老师的讲完的spring源码课程对自己有很深的触动,首先我们来聊一下,我们知道springIOC的核心是java反射,是一个很基础的知识点。我们可以用反射来创建Class对象,以及获取一些类型的属性和类型,那么首先我们代码如何实现:首先我们创建两个包:cn.jbit.service/cn.jbit.controller:对应U...

2020-05-02 10:24:30 994

原创 java中的强软弱虚四种引用类型以及ThreadLocal内存泄漏以及源码解读

前言:首先我们知道什么是一个引用?比方说:Object o=new Object(),这就是一个引用,一个变量指向一个new 出来的对象,引用在java里面分四种,普通引用Object o=new Object(),这也是一个强引用,强引用有什么特点呢?首先看一个小程序:首先我们看到一个类M,重写了finalize(),这个方法已经是被废弃的方法,垃圾回收的时候会调用这个方法,当我们new出...

2020-04-30 14:39:23 193

原创 spring整合mybatis的两种扫描mapper映射文件的两种方式

注入映射器的两种实现:1.使用mybatis-spring项目包下的MapperFactoryBean,在spring.xml的配置如下: <bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean"> <property name="mapperInterface" value=...

2020-04-12 10:06:31 2625

原创 Oracle的一些基础用法

Oracle的一些用途:优点: 1.可用性、支持多用户、大并发、大事务量、可扩展、可移植、跨平台、安全性。 2.全局数据库名:数据库实例、表空间、数据文件、控制文件、日志文件、模式和 模式对象 3.启动服务:OracleOraDb11g_home1TNSListener、OracleServiceORCL...

2020-04-11 23:47:21 126

原创 springboot中自定义starter的实现过程

准备:idea2019.3.1 ,创建一个springboot工程:第一步:导入依赖(spring-boot-autoconfigure和spring-boot-configuration-processor)2.定义一个属性配置类:3.自动配置类:1. @EnableConfigurationProperties会将一个@ConfigurationProperties注册成 ...

2020-04-09 13:07:30 425

原创 springmvc使用@RestController和@Controller的区别

前言:今天在做一个登录功能的时候,遇到一个特别奇怪的bug,我先给大家上一幅图,再解释说明: 然后在网上寻找一凡答案,又问了别人。原来是我在类上加了@RestController的原因。因为@RestController注解内置了@ResponseBody,他会返回一个Html页面,他返回的是个json数据, 加的@Controller会返回一个视图,所以说有以下两种解决方式:1.@Res...

2020-04-09 12:20:37 553

原创 自身volatile的底层实现原理的理解

概念:volatile关键字,是一个变量在多个线程间可见。比如说A,B,线程共享一个变量,java默认是A线程中保留一份copy,这样如果B 线程修改了该变量,则A线程未必能看的见。使用该关键字就可以使所有线程能够读到变量修改的值。比如下面的小例子,running变量存在jvm堆内存的t对象中,当线程t1开始工作的时候,会把running变量从堆内存中读取到线程t1工作区,在运行过程中...

2020-04-07 14:12:04 243

原创 java.lang.UnsupportedClassVersionError: org/apache/ibatis/session/SqlSession : Unsupported major.min

描述:ssm框架的搭建:SqlServer数据库,spring的jar包,mybatis-3.5.2的jar,MyEclipse编译器。然后我在进行测试的时候报了如下错误:我仔细看了一下貌似是jar包版本的问题,他说的是SqlSession的问题,我这里用@Mapper注解的UserMapper.因为@Mapper注解在mybatis-3.4.0就引入了。于是我想到是不是版本过高的...

2020-04-06 14:12:51 1083

原创 com.microsoft.sqlserver.jdbc.SQLServerException: 关键字 'User' 附近有语法错误的解决方式

前言:我在UserMapper映射文件中看了半天都感觉没错,平常连mysql数据库都没有报错,我现在练了一个SqlServer数据库。于是在网上看到了答案,他说User是关键字,必须加中括号[User],如下设置了一下:报错前:报错后解决:ok,问题解决!...

2020-04-06 14:00:02 942

原创 ssm连接mysql数据库出现端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“connect timed out。

1.右击计算机,点击管理:2.打开服务和应用程序–>SQL Server配置管理器—>SQL Server网络配置—>SQLEXPRESS的协议3.检查TCP/IP是否启用4.右击TCP/IP选择属性:5.点击IP地址:6.检查IPALL的动态端口号是否为1433:至此,我们就完成,直接远程就可以连接到数据库,也许我和其它的小伙伴的不一样,如果未连接成功就...

2020-04-06 00:24:42 462

原创 Myeclipsed打开Tomcat出现Could not create the view: An unexpected exception was thrown.的问题

问题描述:myeclipse一打开的时候突然tomcat服务器弹出一个框框,显示了一堆错误,并且我设置的两个服务器都没有了:看了别人的博客说:Server部署了两个项目,分别是SeNT-DL,SeNT-b11M,然而实际上只存在一个部署文件SeNT-DL,另外一个被删除了,而Myeclipse中的Servers部署配置文件没有更新,所以会出现这种情况。解决方法:1.直接在myeclis...

2020-04-05 15:16:01 154

原创 CAS(自旋)原理解析,及ABA问题

概念:CAS(比较并且交换)是无锁优化,或者叫自旋,还有自适应自旋,我们通过Atomic类(原子的)。常常配合循环使用,由于这些操作,老是来回的加锁,减锁,加锁情况特别多,我们java提供了这样常见操作的一个类,这些类的内部就自动带了锁,这些锁不是synchronized重量级锁,而是CAS操作来实现(无锁)。凡是以Atomic开头的类都是用CAS来保证线程安全的。AtomicInteger里...

2020-04-05 14:29:55 1209

原创 synchronized锁竞争、锁升级过程、可重入锁

前言:在我的上篇文章中讲到了,synchronized的实现的底层原理,以及它是如何加锁的。那么当我们给对象头的markword加锁之后,它是如何一步步的进行锁升级的呢?我们说到了,锁的四种状态:无锁态,偏向锁,轻量级锁,重量级锁。那么它到底是怎样一步步的升级为重量级锁的呢?jdk早期的时候,这个synchronized的底层实现是重量级的,重量级到这个synchronized要找操作系统...

2020-04-05 13:21:09 820

原创 zookeeper的单机和集群搭建详解

简述:什么zookeeper?zookeeper是一个分布式的服务注册和发现中心,当服务器端接收到来自客户端的一个服务的时候,通过zookeeper将其注册到注册中心去。那么接下来分别介绍zookeeper的单机搭建和集群搭建:首先我们要下载zookeeper的安装包:我这里用的是.tar.gz结尾的安装包:一开始下载的是3.6.0版本的,但是老是启动失败,换了版本成功。2.通过she...

2020-04-04 13:10:14 212

原创 synchronized的底层实现原理

简述:什么是synchronized?sysnchronized就是同步的意思,故名思意是用来保证线程安全的。synchronized(同步):当一个或者多个线程同时访问一个临界资源的时候,只允许有一个线程访问,其他线程排队等候。当这个线程彻底把锁释放之后,才允许下个线程去访问该临界资源,并且再次获取该锁,执行下面操作,直至把锁释放。下图可以清楚的展示该结论。图一:没有加s...

2020-04-04 11:30:08 379

原创 Windows系统下,mysql表插入数据中文乱码解决方式

建好表之后,插入中文数据乱码:1.查看数据库的编码集: show variables like 'character_%'; 显示如下编码字符集信息: mysql> show variables like 'character_%';±-------------------------±--------------------------------------...

2020-04-01 09:06:52 261

原创 Linux系统下MySQL的表插入数据乱码解决方式

前言首先来说一下,我们在平常开发中,经常会遇到一些乱码问题,相信这些一定会对大家有困扰,那么今天我来列举一下我解决乱码的几种方式:1.首先从我们从配置文件去看:cd /usr/local/mysql/my.cnf,看是否调整为下面的格式将client,mysql,mysqld的character_set_server属性设置为utf8.如果那还出现错误,请看第二种解决方式:2.查看字...

2020-03-31 15:14:34 228

原创 synchronized的锁消除以及锁粗化

准备工作首先下载Linux版本的MySQL(官网下载,我这里下载包是以.tar.gz结尾的): 1.下载压缩包:2.进行拷贝到/usr/local/目录下: 3.解压: 4.删除安装包:5.修改MySQL文件名为mysql(文件名太长,建议修改): 6.切换到mysql目录:cd /usr/local/mysql,检查是否有mysql用户组和my...

2020-03-31 12:59:55 335

springboot实现多数据源切换.md

该文档主要的内容是基于springboot的多数据源切换,主要面向的是大型的分布式项目情况下,我们需要引入多套数据源,比方mysql的主从数据源,phoenix的数据源等其它数据源。

2023-05-31

空空如也

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

TA关注的人

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