自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 为什么使用加密盐

什么是加密盐?百度给出的解释是:加盐加密是一种对系统登录口令的加密方式,它实现的方式是将每一个口令同一个叫做”盐“(salt)的n位随机数相关联。无论何时只要口令改变,随机数就改变。随机数以未加密的方式存放在口令文件中,这样每个人都可以读。不再只是保存加密过的口令,而是先将口令和随机数连接起来然后一同加密,加密后的结果放在口令文件中。ps:这里的口令应该指的是password加密盐的意义何在?由于相同的密码经过哈希之后的密文是相同的,当存储用户密码的数据库泄露后,攻击者会很容易便能找到相同

2020-07-29 21:32:28 2271

原创 深刻理解重载和覆盖

# 重载和覆盖的区别定义不同重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调用的时候根据参数来区分不同的函数。覆盖(也叫重写)是指在派生类中重新对基类中的虚函数(注意是虚函数)重新实现。即函数名或参数不一样,只是函数实现体不一样。类的关系不同重载是同一个类中方法之间的关系,是水平关系;覆盖是子类和父类之间的关系,是垂直关系。产生方法不同重载是多个方法之间的关系;覆盖只能由一个方法或一对方法产生关系。参数列表要求不同重载要求参数列表不同;覆盖要求参数

2020-07-28 16:43:16 541

原创 JVM中方法调用的内部实现原理

本文算是《深入理解Java 虚拟机》的学习笔记# 符号引用和直接引用首先来了解一下符号引用和直接引用的概念:Java类从加载到虚拟机内存开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、卸载,共七个阶段。注意:加载、验证、准备、初始化这四个阶段发生的顺序是固定的,而解析阶段在某些情况下位于初始化之后。此外,因为这些阶段通常都是互相交叉地混合进行的,通常在一个阶段执行的过程中调用或激活另一个阶段。其中解析阶段主要是虚拟机将常量池中的符号引用转化为直接引用的过程。那.

2020-07-28 16:41:39 276

原创 初学者之用IDEA建一个JavaWeb项目

# 前言虽然Servlet已经被抛弃了,但是现在的一些框架仍然是建立在Servlet的基础上,比如SpringMVC,其实就是为了开发效率,在Servlet又封装了一层。在理解了Sevelet的基础上,再理解SpringMVC就相对简单了。接来通过创建一个Web项目来熟悉大概的流程。# 下载Tomcat由于我们的项目需要依赖Tomcat,在创建项目之前,需要下载Tomcat,并将其配置到项目中进入Tomcat,左边Download选择我们想下载的版本,我这里下载的是Tomcat9版本点击T

2020-07-23 18:41:11 376

原创 如何在GitHub搭建属于自己的Hugo博客

# 前言首先附上自己的GitHub博客 HoryBlog看一下效果!如果满意您就继续…# 安装 homebrew 工具接下来用brew这个工具来安装hugo(博客工具)安装完之后,终端输入brew# 安装Hugo## Windows如果是windows点击往下拉…选择windows 32位或64位## Mac如果是MAC在终端输入brew install hugo,安装速度会受到网络影响请耐心等待…下载完之后会自动跳到初始命令行输入hugo version验证是

2020-07-23 18:26:49 382

原创 一步步教你理解JDK动态代理

# 为什么使用代理?简单地说,除了当前类能够提供的功能外,我们还需要补充一些其他功能。最容易想到的情况就是权限过滤,比如有一个类可以用来做某项业务,但是由于安全原因只有某些用户才可以调用这个类,此时我们就可以做一个该类的代理类,要求所有请求必须通过该代理类,由该代理类做权限判断,如果安全则调用实际类的业务开始处理。可能有人说为什么我要多加个代理类?我只需要在原来类的方法里面加上权限过滤不就完了吗?在类的设计中有一个类的单一性原则问题,就是每个类的功能尽可能单一,因为只有功能单一这个类被改动的可能性才

2020-07-23 17:59:32 244

原创 关于递归前后语句执行顺序

递归前后语句的执行顺序:先从外到内,再从内到外

2020-07-23 17:57:06 3385 8

原创 关于Java的volatile关键字

# 前言首先讲解一下多线程的概念,然后通过一个案例来加深对volatile关键字的理解最后讲解一些volatile关键字的原理及牵扯到的相应知识。# 请讲述一下volatile关键字它是轻量的synchronized在多处理器开发中保证了共享变量的可见性可见性就是当一个线程进行修改共享变量的时候,保证将变量的更新操作通知到其他的线程如果该关键字使用恰当,那么效率比synchronized要好,因为不会引起线程的上下文切换和调度volatile 关键字能保证内存的可见性,但是不能保证原子性

2020-07-23 17:55:14 127

原创 几道经典的位运算题目

# 前言在Java代码中,int是十进制,或、与运算是针对二进制的,但是我们可以直接写出两个十进制的或/与/异或运算,计算机内部会再把两个十进制转换成二进制,然后进行或/与/异或运算。任何数 和 0 ^ 都是它本身任何数 & 其本身还是本身# 判断一个数是否为偶数一般情况下我们可以用 n%2 是否为 0 来进行判断,但是如果用位运算呢?如果一个数是偶数,这个是的二进制表示最右边一位一定为 0这样的话,该 问题就转变为「判断二进制最后一位是不是0」的问题解决方法就是

2020-07-23 17:50:11 234

原创 二分查找模板代码

# 前言在刷题的过程中我们会经常用到二分查找算法,该算法听着很简单,当然实现起来也不难。但是,我们会时常碰到一些特殊情况,根据情况不同,二分查找的代码也会有细微差别,所以真正掌握二分的代码也不是件非常容易的事。今天我们就来扒一扒在各种场景下的代码应该如何写。以下的讨论都是基于问题的解是存在的前提下。对于特殊情况,比如数组中无 target 值等,只需在该函数外考虑。# 场景一场景一:经典场景。在一个有序的数组中寻找某个下标使得其对应的值等于某个指定的 target场景一是二分查找最常见的应用场

2020-07-23 17:45:20 238

原创 Java集合源码解析之——HashMap

# 前言该文章的内容是建立在读者对HashMap有初步了解的基础上的HashMap中有很多知识点,比如哈希表、位运算、链表、红黑树等,HashMap 的源码也是很值得大家去学习的# 哈希表在讲源码之前首先了解一下什么是哈希表Hash表也称为散列表,也有直接译作哈希表,Hash表是一种根据关键码值(key-value)而直接进行访问的数据结构。也就是说它通过把关键码值映射到表中的一个位置来访问记录,以此来加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。在链表、数组等数据

2020-07-23 17:35:58 152

原创 什么是卡特兰数

#简介卡特兰数是组合数学中一个常出现在各种计数问题中的数列。以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)的名字来命名。数列的前几项为:1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862,…卡特兰数Cn满足以下递推关系:Cn+1 = C0Cn + C1Cn-1 + ··· + CnC0##原理设h(n)为catalan数的第n+1项,令h(0)=1,h(1)=1,catalan数满足递推式:h(n)= h(0) * h(n-1) + h

2020-07-23 17:09:32 2900 1

原创 快排之单边扫描和双边扫描策略

#前言在这么多的排序算法中,不考虑桶排序,只有堆排序、快速排序、归并排序的时间复杂度是O(nlogn),今天就来讨论一下神奇的排序算法——快速排序之所以说快排是个神奇的算法,不仅仅是因为其时间复杂度较低,其中包含的几个比较重要的思想非常值得我们学习一下#关于快速排序##基本思想快速排序算法包含其中一个思想就是分治思想,这也是快排的时间复杂度能够保持在O(nlogn)的关键因素每次从序列中选出一个基准值,其他数依次和基准值作比较,比基准值大的放在右边,比基准值小的放在左边,然后再对左

2020-07-23 17:05:17 803

原创 MyBatis关于使用generator的几个坑

最近在做一个权限管理系统的项目,整合myBatis的时候需要配置数据库相应的xml、entity、dao,手写的话工作量巨大,出错率又高所以用了generator工具生成相应的文件,本以为用generator生成文件就万事大吉了,但是启动的时候一直启动不了经过排查发现原来是自动生成了是xxMapper.xml文件的问题用generatorxxMapper.xml配置文件(尤其是xxMapper.xml文件!!)generator内容不一定是对,需要注意的有以下几点:① generator.xm

2020-07-23 17:02:24 424

空空如也

空空如也

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

TA关注的人

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