自定义博客皮肤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 263

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

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

2023-08-23 20:44:41 1557

原创 leetcode88题:数组合并排序

leetcode88题,有序数组合并

2022-08-15 21:51:38 342

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

List集合去重方式

2022-03-22 12:57:59 1199

原创 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 554

原创 今天在做项目时候,遇到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 125

原创 通过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 242

原创 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 1987 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 218

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

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

2020-07-13 20:12:07 207

原创 手写mybatis思想

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

2020-05-24 13:30:15 160

原创 分页

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

2020-05-20 14:02:16 399

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

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

2020-05-02 10:24:30 1341

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

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

2020-04-30 14:39:23 247

原创 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 2707

原创 Oracle的一些基础用法

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

2020-04-11 23:47:21 176

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

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

2020-04-09 13:07:30 479

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

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

2020-04-09 12:20:37 604

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

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

2020-04-07 14:12:04 295

原创 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 1114

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

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

2020-04-06 14:00:02 1016

原创 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 572

原创 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 204

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

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

2020-04-05 14:29:55 1281

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

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

2020-04-05 13:21:09 884

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

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

2020-04-04 13:10:14 250

原创 synchronized的底层实现原理

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

2020-04-04 11:30:08 434

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

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

2020-04-01 09:06:52 279

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

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

2020-03-31 15:14:34 264

原创 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 371

springboot实现多数据源切换.md

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

2023-05-31

空空如也

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

TA关注的人

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