SpringBoot之从零搭建博客网站(可提供源码)

文字不够,图片来凑。 前言 为什么想要搭建这个博客? 我还记得,在大二寒假的某天,同往常一样的在家解决这某个bug,不停地问度娘,很巧的碰到了一个同行在他的博客中完美的记录了我的bug的解决方案,随后我又看了看他写的其他博客文章,觉得都非常的不...

2018-08-05 21:53:45

阅读数 9222

评论数 79

JDK1.7和JDK1.8中HashMap为什么是线程不安全的?

前言 只要是对于集合有一定了解的一定都知道HashMap是线程不安全的,我们应该使用ConcurrentHashMap。但是为什么HashMap是线程不安全的呢,之前面试的时候也遇到到这样的问题,但是当时只停留在***知道是***的层面上,并没有深入理解***为什么是***。于是今天重温一个Has...

2019-03-30 19:57:35

阅读数 123

评论数 1

LinkedHashMap源码解读

前言 之前在看HashMap的源码时看到几个空实现的函数,当时也没有在意,今天在了解LinkedHashMap时突然明白了那个空实现函数(钩子函数)的意义。 本文源码版本依旧是JDK1.8。 LinkedHashMap 钩子函数 首先先来看看HashMap中所谓的钩子函数。 为什么...

2019-03-15 16:34:19

阅读数 40

评论数 0

从源码初步了解ConcurrentHashMap

为什么要了解ConcurrentHashMap 首先先说下为什么我们需要了解ConcurrentHashMap。原因其实很简单:①HashMap在多线程环境下会有线程不安全的情况,比如在put时会造成死循环。②线程安全的HashTable效率低,HashTable的所有方法都使用Synchroiz...

2019-02-23 16:57:41

阅读数 54

评论数 0

数据库索引到底是什么鬼?

进行后端开发经常会与数据库打交道,对于数据库的一些核心基础了解太浅,比如经常听到的数据库索引、锁等,在小项目开发过程中也没有过于严格的执行索引的建立,而是想当然的对表直接设置一个自增字段作为主键,这些还是源于对于索引的认识不够深喃。 索引 在此之前,对于索引的认识如下: 索引相当于一张表...

2019-01-13 13:03:38

阅读数 88

评论数 0

Intellij IDEA 快捷键整理

【常规】 Ctrl+Shift + Enter,语句完成 “!”,否定完成,输入表达式时按 “!”键 Ctrl+E,最近的文件 Ctrl+Shift+E,最近更改的文件 Shift+Click,可以关闭文件 Ctrl+[ OR ],可以跑到大括号的开头与结尾 Ctrl+F12,可以显示当前文件的...

2019-01-08 11:06:30

阅读数 61

评论数 0

逝去的2018年,年度总结

特意选在2018年的最后一天来总结下今年都干了些什么蠢事 时间过得很快,转眼间就到了一年的最后一天。在我的脑海里对于2018好像没有什么记忆,不过仔细想想今年干过的事还挺多的,于是打算花点时间对这一年做一个总结。 写在前面 以前,对于自己的生活都是匆匆过往,没有留下点什么东西,也感觉比较...

2019-01-04 11:38:24

阅读数 712

评论数 3

如何通关设计模式之适配器模式

“补救模式” 经常在业务开发过程中都会遇到需求变动等情况,一个再好的程序猿也难免设计出一个“完美”的业务系统。因为,需求永远是变化的。 “智者千虑必有一失,愚者千虑必有一得”,我们都是平庸之人,无法做到百分百的完美系统,对于有些“意外”,该来的总会来,而为了去弥补这些意外,就需要使用到一些补救措施...

2018-12-30 17:24:01

阅读数 50

评论数 0

如何通关设计模式之责任链模式

责任在哪? 责任链模式看名称可以理解为责任连成一条链。这也没有什么毛病,责任链模式的重点也在于“链”上,由一条链去处理相似的请求在链中决定谁来处理这个请求,并返回相应的结果。 责任链模式的核心在“链”上,链是由多个处理者组成的。 “古代妇女的枷锁”——责任链的体现 中国古代对于妇女指定了“...

2018-12-28 22:22:36

阅读数 55

评论数 0

如何通关设计模式之代理模式

代理模式在我们平常应用中极为常见,尤其是对于JavaWeb开发来说,使用的Spring框架中AOP(面向切面编程)就是使用的代理模式中的动态代理。 代理模式的定义 对其他对象提供一种代理以控制对这个对象的访问。 听起来有点玄乎,换个栗子来将,平常在生活中打官司,你会请名律师,律师的任务就是帮...

2018-12-22 20:37:34

阅读数 60

评论数 0

你必须知道的HashMap面试题

1.HashMap的工作原理,其中get()方法的工作原理? HashMap基于hash原理,通过put()和get()方法存储和获取元素。它内部使用数组+链表或红黑树的结构,通过hash运算找到bucket位置来存储Entey对象,通过equals()方法找到正确的键值对。HashMap使用链地...

2018-12-20 22:15:28

阅读数 255

评论数 0

如何通关设计模式之工厂模式

何为工厂模式? 工厂模式主要为创建对象提供过渡接口。屏蔽对象的实例化具体过程,以达到灵活的作用。 工厂模式分为以下三种: 简单工厂模式(静态工厂模式) 工厂方法模式 抽象工厂模式 简单工厂模式和抽象工厂模式是对工厂方法模式的扩展。与工厂方法模式也有千丝万缕的关系。下面就以工厂方法模式为例。 工...

2018-12-19 20:49:08

阅读数 19

评论数 0

如何通关设计模式之单例模式

一、单例模式的定义 单例模式可谓是设计模式中最简单的一个,没有之一。它的作用也跟其名一样,单例单例,只能生成一个该类的实例。通常我们可以使用new来创建对象,想要多少女朋友就new多少女朋友。但是现在不行了,单例模式规定,你只准有一个女朋友。于是乎… 二、单例模式的实现 现在我们想要有一个女朋友,...

2018-12-18 20:01:00

阅读数 24

评论数 0

从源码深入理解HashMap(附加HashMap面试题)

HashMap向来是面试中的热点话题,深入理解了HashMap的底层实现后,才能更好的掌握它,也有利于在项目中更加灵活的使用。 本文基于JDK8进行解析 一、HashMap解析 1. 结构 HashMap结构由数组加**链表(或红黑树)**构成。主干是Entry数组,Entry是H...

2018-12-17 14:09:48

阅读数 33

评论数 0

排序算法之基数排序

基本思想 基数排序是将整数按位数分割成不同的数字,然后按每个位数分别比较,得到一个有序的序列。具体做法则是将一个数组中的每一个数统一成相同位数,位数不足高位补零。从个位开始按大小排序,当遇到位数大小相同时,要保证顺序与原数组相同。这样从个位一直到高位,就得到一个有序的序列。 实现思路 文字性的语言...

2018-11-23 22:06:23

阅读数 23

评论数 0

排序算法之交换排序(冒泡排序、快速排序)

前言 在前面几篇博客中总结了插入排序(直接插入和希尔排序)、选择排序(直接选择和堆排序)以及归并排序,这里将讲下两种选择排序算法——冒泡排序和快速排序。 冒泡排序 基本概念 冒泡排序相对快速排序而言相对简单。冒泡就如同水里的鱼吐泡泡一样,刚开始时泡泡很小,但随着上浮离水面越来越近,泡泡也逐渐变大。...

2018-11-12 13:52:24

阅读数 46

评论数 0

排序算法之归并排序

基本思想 归并排序是利用归并的思想,合并两个已排序的表,将结果输出到第三个表中。基本的合并算法是去两个输入数组A和B,一个输出数组C,以及3个计数器Actr、Bctr、Cctr,它们初始置于对应数组的开始端,当数组A[Actr]或数组B[Bctr]中的较小者被拷贝到C中的下一个位置时,相关的计数器...

2018-11-07 14:03:38

阅读数 27

评论数 0

关于垃圾收集器的内存回收机制

前言 对于垃圾收集器回收内存应该有以下几点思考: 哪些内存需要回收? 什么时候被回收? 如何回收? 哪些内存需要被回收? 在Java内存运行时区域中,虚拟机栈、本地方法栈、程序计数器3个区域随线程而生,随线程而亡。所以它们不需要垃圾收集器来管理。 而堆和方法区则不一样,堆中存...

2018-11-03 22:17:13

阅读数 20

评论数 0

JVM的内存区域的划分

JVM运行时数据区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。分别是方法区、虚拟机栈、本地方法栈、堆、程序计数器。 程序计数器 字节码解释器工作时通过改变程序计数器的值来选取下一条需要执行的字节码指令。 每条线程都需要有一个独立的程序计数器...

2018-11-02 21:55:26

阅读数 67

评论数 0

排序算法之选择排序(直接选择、堆排序)

排序算法稳定性 假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。 ————百度百科 排序原理 ...

2018-11-01 18:10:43

阅读数 47

评论数 0

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