自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LinkedHashMap源码分析

1、特点LinkedHashMap有序的,内部维护了一个双向链表2、LinkedHashMap是如何保证顺序的 2.1 核心属性//是否根据操作顺序排序final boolean accessOrder;//链表头节点transient LinkedHashMap.Entry<K,V> head;//链表尾节点transient LinkedHash...

2019-09-06 16:33:31 142

原创 HashMap源码学习

1、核心属性 //最大容量 2的30次方 static final int MAXIMUM_CAPACITY = 1 << 30; //默认的加载因子 static final float DEFAULT_LOAD_FACTOR = 0.75f; //哈希桶,存放链表。 长度是2的N次方,或者初始化时为0. transient Node<K,V>...

2019-09-04 15:40:16 137

原创 linux查看日志常用命令收集

1、实时监控日志tail -f test.log2、实时监控当前100行日志tail -100f test.log3、查看最新的100行日志(-n表示显示行号)tail -n 100 test.log4、查看除了头100行以外的所有日志tail -n +100 test.log5、查看头100行日志head -n 100 test.log6、查看除了最后100以外的...

2019-07-25 17:51:38 783

原创 springboot进行mock测试

1、使用spring@RunWith(SpringRunner.class)@SpringBootTest(classes = Application.class)public class PersonControllerTest2 { @Autowired private WebApplicationContext context; private MockMv...

2019-05-14 11:59:49 7107 1

原创 springboo配置druid

1、在application.properties中配置数据库信息##配置数据源,使用druid# 驱动配置信息spring.datasource.url=jdbc:mysql://192.168.6.209:3306/test2?useUnicode=true&characterEncoding=utf8&useSSL=falsespring.datasource.use...

2019-05-13 11:24:16 293

原创 springboot集成mybatis

1、依赖的jar包<properties> <mybatis-spring-boot>2.0.0</mybatis-spring-boot> <mysql-connector>8.0.15</mysql-connector> <druid-version>1.1.16</druid-versio...

2019-05-10 16:24:42 112

原创 springboot全局异常处理

1、spring提供了一套控制全局异常的注解配置,通过使用注解,可以给异常一个全局出口,使用@RestControllerAdvice或者@ControllerAdvice(@RestControllerAdvice相当于@ControllerAdvice和@ResponseBody的组合)2、@ControllerAdvice:是controller的一个辅助类,最常用的就是作为全局异常处理的...

2019-05-05 11:43:47 210

原创 springboot配置logback日志

1、springboot默认使用logBack日志系统2、springboot的logBack依赖spring-boot-starter-logging包3、如果要定义日志配置文件,默认的名字为logback-spring.xml,默认要求放在resources文件夹下4、如果使用springboot日志的基础配置,logging.file和logging.path不能同时使用,如果同时使用...

2019-04-26 16:20:28 323

原创 Springboot中redis序列化问题分析

研究原因:springboot中使用redis获取数据后,转换成对象时,总是提示:“com.alibaba.fastjson.JSONException: syntax error, expect {, actual [, pos 0”,最后发现是因为redis的序列化方式引起的。所以就对redis序列化的方式做一下分析:1、springboot中redis存储数据序列化方式,常用的有以...

2019-04-23 18:18:04 3349

原创 springboo读取配置文件

SpringBoot读取配置文件1、springboot的配置文件默认为application.properties。springboot启动时会自动加载根目录下的application.properties文件2、如果参数配置直接放在application.properties中,则可以使用@Component和@Value注解搭配使用。如果不想在每个属性上都使用@Value注解,则可以...

2019-04-16 19:54:24 332

原创 线程池介绍

创建线程池的方法1、使用JDK1.5自带的Executors框架创建线程池。Executors框架提供了4种线程池的创建方法创建一个固定数量的线程池public static ExecutorService newFixedThreadPool(int nThreads) { return new ThreadPoolExecutor(nThreads, nThread...

2019-03-25 16:36:57 216

原创 ReentrantLock的实现原理

ReentrantLock是一个显示锁,实现基础都是AQS。所谓的AQS就是AbstractQueuedSynchronizer,AQS的作用用来构建锁和同步工具的框架, ReentrantLock、CountDownLatch、Semaphore基础都是AQSAQS有个state变量,是int类型,使用了volatile修饰,AQS围绕state提供两种基本的获取和释放功能Reen...

2019-03-21 16:02:21 1518

原创 springboot集成mybatisPlus

这一章记录一下springboot集成mybatisPlus的buho步骤以及其中遇到的问题1、首先介绍一下,mybatisPlus根据官方文档的介绍,MybatisPlus(简称mp)是对mybatis的增强而不做改变,只为ti提高效率简化开发,具体参见http://mp.baomidou.com/#/?id=%e7%ae%80%e4%bb%8b2、开始集成mybatis-plu...

2018-08-20 18:05:24 12469

原创 springboot集成redis

现在大部分公司在使用NOSQL的时候,都选用了redis,下面就来说一说springboot集成redis的方式。1、依赖jar<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis&l...

2018-07-27 16:08:09 130

原创 springboot使用jpa的详细讲解(3)

这一章说一下jpa使用注解使用sql的方法如果不按照jpa要求,jpa给我们提供了@Query注解来自定义sql或者hql1、使用hibernate的hql方式/*** 在使用hql的时候,不能使用*,如:(select * from User t where t.id = :id)* 表明直接使用类名**/@Query(value="select t from User t...

2018-07-26 13:46:19 165

原创 springboot使用jpa的详细讲解(2)

本次主要说一下jpa提供的查询方式:1、JPA原生的简单语法jpa根据fang方法名自动生成sql7语句。主要语法为:查询:以findBy开头,后面跟上属性名。例:findByName 或者findByNameAndId 删除:以deleteBy开头,后面跟上属性名 新增修改:统一使用save 统计:countBy开头,后面跟上属性其他常用的关键字如下图2、原生分页查询...

2018-07-25 18:16:17 298

原创 springboot使用jpa的详细讲解(1)

目录1、配置文件2、实例类3、Repository1、配置文件jpa依赖于hibernate 在使用springboot集成jpa的时候,我们配置了一些参数spring: jpa: database: mysql //指定了数据库的类型 show-sql: true //控制台显示sql hibernate: ddl-auto: u...

2018-07-25 15:57:19 1491

原创 SpringBoot使用Jpa连接数据库

目录1、springboots使用Jpa连接数据需要的依赖:2、创建实体Bean3、创建一个Repository4、配置连接数据库的配置文件1、springboots使用Jpa连接数据需要的依赖:&lt;!--jpa依赖--&gt;&lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/gro...

2018-07-25 14:40:40 2483

原创 HashMap的分析

1、了解一下hashMap的基本特性: 1>访问速度快,但顺序不确定。 2>允许value为null,最多允许一条记录的key为null。 3>非线程安全。2、hashMap的内部结构数据结构中通常通过数组和链表两种方式来存储数据。数组存储的特点:连续的,内存占用严重,查找容易,插入和删除困难链表存储的特点:离散的,内存占用较宽松,查找困难,但插入和删除容易而Has

2018-01-25 17:06:58 158

原创 关于equals()和hashCode()的分析

今天跟同事讨论到一些java基础的问题:1、什么时候重写equals?2、什么时候重写hashcode?3、什么时候两个都要重写?4、equals相等hashcode一定相等吗?5、hashcode相等equals一定相等吗?现在,对这几个问题,好好做一下分析:第一:什么时候需要重写equals首先,对于equals,我要知道它自己有一套比较的逻辑,对于非引用对象,

2018-01-25 15:17:54 217

原创 springboot发送邮件

1、springboot提供的邮件的发送功能①引入核心依赖jar包org.springframework.bootspring-boot-starter-mail2、在applicaiton.properties中配置属性上图中的password不是真正的登录密码,而是登录第三方客户端邮箱的授权码3、邮件发送类JavaMailSender

2017-09-07 15:44:34 242

原创 git 配置多个ssh

1、如果配置一个ssh-key,直接执行如下命令:$ssh-keygen -t rsa -C "[email protected]",然后在系统盘所在用户文件夹下会生成一个.ssh文件夹。在文件夹中会生成两个文件,id_rsa和id_rsa.pub然后在github或者gitLab中配置上ssh打开git,执行代码测试:ssh -T git@

2017-09-06 19:59:56 250

原创 Intellij IDE 配置git

Intellij IDE配置git

2017-09-05 14:48:02 4808

原创 git常用命令总结

git 比较有用的命令:1、很多时候查看分支信息的时候,会发现本地分支与远程分支信息对应错误,有些分支本地仓库有但远程没有,此时使用命令:git remote prune origin  可以清除没有与远程分支关联的本地分支或者执行命令 git fetch -p如果想让本地分支和远程分支做关联,可以执行命令:git branch --set-upstream branch-

2017-09-04 16:24:58 217

原创 设计模式——观察者模式

观察者模式:本质上就是一种订阅/发布的模型,从逻辑上来讲就是一对多的依赖关系。顾名思义,观察者模式当然有一个观察者和一个被观察者,在被观察者有变动的时候,相应的观察者也要有些操作。①定义一个被观察者。 ②定义一个观察者③测试类以上就是观察者模式的实现,总结如下:每个观察者都需要保存在被观察者的集合中,同时给被观察者提供添加和删除的方法。

2017-02-07 18:37:20 147

原创 设计模式——单例模式

单例模式适用场景:要获得唯一的一个实例对象的时候,使用单例模式。单例模式是所有模式中最简单的一种。学习单例模式,要知道单例模式的核心点:①要有一个私有构造器②声明一个静态对象③定义一个静态方法来构造对象所以,通过上面的三个核心点,一个简单的单例模式如下:这种模式也可称为饿汉单例模式,就是在初始化的时候就创建对象。那相对应的还有懒汉单例模式。懒汉模式,顾名思义,就是在

2017-02-07 10:40:18 165

原创 git——git flow的使用

上一篇学习了如果安装Git Flow,这一次学习一下如何使用Git Flow。1、git flow中的几个分支概念。     master:主分支,稳定版本代码,随时可以发布。     develop:开发工作分支,但是一般不直接在分支上工作。     feature:新特性开发分支,如果要开发新的功能,会从develop分支上迁出一个feature分支,开发完成之后合并到

2017-01-16 17:40:08 1924 2

原创 git——git flow的安装

1、前面说了git,现在学习一下git的开发模型git flow。      Git flow利用Git创建和管理分支的能力,位每个分支设定具有特定含义的名称,并将软件生命周期中的各类活动归并到不同的分支上。从而实现了软件开发过程中不同操作的相互隔离。这种软件开发模型就是“Git Flow”2、Git Flow的下载安装。①首先要先安装Git。Git的安装前面已经有过介绍,这里

2017-01-16 12:02:12 9534

原创 git——分支操作

1、创建分支使用命令git branch dev来创建一个dev分支,然后再使用git checkout dev切换到dev分支。        也可以有一个一步到位的命令:git checkout -b dev:创建分支并切换到分支。创建之后使用git branck查看分支。2、合并分支分支从master切换到dev之后,我们更改提交路径就变成了dev分支。①我们在dev

2017-01-15 15:26:27 1245

原创 git——远程仓库

前面讲的都是在本地仓库的操作,本次学习一下远程仓库的使用。1、创建连接远程仓库需要的ssh key.     在本地仓库目录,打开Git bash,执行命令:ssh-keygen -t rsa -C "[email protected]"     当然了,邮件地址要换成你自己的地址,如果不想设置密码,就可以一路回车。顺利执行完成之后,会提示在生成      id_rsa文件的路

2017-01-15 14:16:04 255

原创 git——撤销修改

我们在提交修改时,往往会出现提交了错误的修改从而想将提交的修改撤销。在git中有下面两种方式可以供我们使用:前面说的,git分区管理,有工作区和暂存区。如果我是在工作区做了某些错误的修改,想撤销的时候,可以使用git checkout -- fileName命令来完成我们的操作,在我们的文件中添加一句话,如下图:    这时候使用命令git checkout -- lear

2017-01-14 23:20:04 302

原创 git——版本回退

前面讲了git添加和提交文件,但是如果提交错误,我们怎么回退呢?       1、每次的commit,我们都可以通过命令来查看,使用git log来查看,如果想格式化提交命令,  可以使用参数--pretty=oneline,如下图:             前面一大长串字母数字,是提交时自动生成的commit ID,后面为提交时的备注。2、我们必须知道当前处于什么版本在g

2017-01-14 15:33:50 451

原创 git——分区管理

前面我们说道了可以通过git add命令添加多个文件,然后通过git commit一次性提交所有的更改文件。这是为什么呢?这个问题就涉及到了git的分区管理。    在我们使用git init创建一个git本地仓库的时候,它不仅在我们本地生成了一个.git仓库,同时还为我们创建了一个初始的分支master。    我们创建的learngit文件夹其实就可以说成是我们的工作区,我们在

2017-01-14 15:17:14 1116

原创 git——创建本地版本库

1、在本地创建一个文件夹。比如:我在本地D盘下创建一个learngit文件夹,然后进入文件,然后按住shift,点击鼠标右键,选择在此处打开命令窗口执行命令:git init,这样就将learngit变成了Git可以管理的仓库了。           创建了一个空的仓库(empty Git repository)。在learngit目录中就多了一个.git的文件夹。这是Git用

2017-01-13 11:27:22 2210 1

原创 git——介绍与安装

1、什么是git?2、相较于其他的版本控制工具,git的优势是什么?3、如何安装git?

2017-01-12 22:42:20 291

原创 使用Intellij IDE创建Maven项目

创建Maven项目,本地需要先安装Maven:①下载最新的Maven;②安装Maven后,在环境变量中配置MAVEN_HOME变量③在path中添加%MAVEN_HOME%/bin然后在dos界面运行mvn -v,如果能打印maven信息,则配置成功;1.打开Intellij IDE,选择左侧的Maven,然后再选择Maven模版。如下图:2、点击下一步,填

2017-01-12 22:37:02 10533

转载 spring-data

在基本了解了springboot的运行流程之后,我们需要逐个来突破springboot的几个关键性问题,我们首先解决的是springboot访问数据库的问题。Java访问数据库经历了几个阶段,第一个阶段是直接通过JDBC访问,这种方式工作量极大,而且会做大量的重复劳动,之后出现了一些现成的ORM框架,如hibernate、Mybatis等,这些框架封装了大量的数据库的访问操作,但是我们依然要对这些

2017-01-12 19:21:17 326

原创 java中equals和==的比较

在java基本类型的比较可以用equals和==两种方式。大家都知道使用equals,是比较连个对象的引用,==比较的是对象本身,但是有些情况跟我想象的还是有差别的,看下面的例子:如果按照我们原有的思维,输出的肯定是false,true,其实并不是看输出结果:在看一个例子,如下:输出结果为:在JDK5.0及其以上版本,JVM在启动的时候为

2017-01-12 18:35:01 207

空空如也

空空如也

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

TA关注的人

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