自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(9)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java类加载过程图解

朋友给我发了一道有意思的题目,如下为什么用.class的方式加载类和以Class.forName()的方式加载的结果不同呢,原因很简单,就是类加载过程的不同。这就扯到基础理解上了,就是Java是如何加载一个类的呢?上图是我绘制的整个Java类加载过程。首先是编译期,将Java源文件也就是敲好的代码通过编译,转换成.class文件,也就是字节码文件(byte),然后经过传输传...

2018-08-22 16:52:36 12740 5

原创 Spring Boot(四): 集成 Swagger2 展现在线接口文档

前后端分离的大趋势下,后端除了要开发,最重要的就是编写API文档了。但是,由于开发任务的不断增加,接口增加过多,这给API的编写造成一定的难度,使得文档整合的越来越杂糅。所以,Swagger 就是用来解决这一问题的工具。开发人员不用再提供文档,只需要给出一个Swagger 地址,就可以让需要调用到接口的人员在线获取数据,测试接口功能,可以说是非常便利了。 增加Swagger2 的依赖 ...

2018-08-21 09:49:13 1316

原创 Spring Boot(三): 集成Mybatis和Druid实现增删改查

查了很多教程和博客,基本都是把Spring Boot和Spring Data JPA放在一起用,个人用不惯JPA,所以直接Mybatis了,毕竟现在大部分人用的都是Mybatis,这章主要是写一个基础表的增删改查首先搭建一个Spring Boot项目,项目结构和启动类如下然后是pom.xml引入我们需要的包<?xml version="1.0" encoding="UTF-...

2018-08-10 10:40:30 2047 1

原创 Spring Boot(二): 使用DevTools实现热部署

Spring Boot提供了许多开发工具包,其中就包括实现热部署功能,我们在第一篇中构建的项目里添加的DevTools包就是用来干这个的。如果构建项目时没有添加DevTools的话,那就需要手动导入这个包。添加依赖打开pom.xml文件,添加如下配置<dependency> <groupId>org.springframework.boot</gr...

2018-08-08 16:54:41 360

原创 Spring Boot(一): 快速构建web项目

前言Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。Spring Boot 使用特定的配置来构建生产就绪型的项目,坚持“‘约定大于配置’”的理念,减少之前开发过程中繁琐的配置。总结四个字就是:特别方便(๑•̀ㅂ•́)و✧本文构建的项目是Spring Boot2.x版本,由于2.x版本和1.x版本出入较大,本系列也算是...

2018-08-08 15:48:54 11925

原创 深入解析HashMap源码(二)

接上章   深入解析HashMap源码(一) ,我们来看HashMap中一些核心的成员方法 hash方法 static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16); }ha...

2018-08-06 09:58:55 310

原创 ThreadLocal的使用及实现原理

ThreadLocal直译是本地线程,但实际上它的译名是线程局部变量(ThreadLocalVariable)。ThreadLocal诞生的目的是隔离不同线程所使用的变量,官方对它的解释是:“提供了线程局部变量,是独立于变量的初始化副本”,也就是说它可以实现将某一个变量隔离在某个线程内,其它的线程无法访问和使用这个变量。我们先来做一个测试,先不使用ThreadLocal,创建三个线程pu...

2018-08-03 17:23:16 1911 1

原创 深入解析HashMap源码(一)

使用key-value键值对映射的Map是非常经典的数据结构,作为Map的子类,HashMap是最常用的Map,根据键的hashcode值存储数据,根据键可以直接获取它的值,具有很快的访问速度。由于HashMap源码在JDK1.7和JDK1.8版本的实现不同,这里讲的是1.8版本的HashMap。PS:1.7和1.8版本的不同主要在于JDK1.7中使用一个Entry数组来存储数据,所有hash...

2018-08-02 14:41:51 666

原创 使用Gson进行数据格式的转换

在使用Json格式的数据进行方法操作时,都会经历数据转换的过程,Gson和FastJson都是很不错的转换工具,这次使用的项目主要要到了Gson来进行数据的转换。首先数据的格式大致是下图所示,是一组不带数据头的简单Json串,需求就是获得Json串内的hostId的值[ { "setTime": { "time": 152821440000...

2018-08-01 21:16:25 6524

空空如也

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

TA关注的人

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