自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

伈伈点灯的博客

个人博客地址:https://alexaccele.github.io/

  • 博客(44)
  • 收藏
  • 关注

原创 HashMap (JDK1.8)的扩容时机与阈值的探讨

最近又开始复习一些基础知识,发现网上很多关于HashMap的总结有一些问题,并且很多人写博客也是抄,是否正确也没用亲自去考究,质量不够高,导致看了很多博客也还是有矛盾的地方,果断还是自己看看源码。本文只指出部分关于扩容的问题,其他详细分析可以参考其他文章。究竟什么时候扩容当put时发现table未初始化时,进行初始化扩容当put加入节点后,发现size>threshold时,进行扩...

2020-02-17 15:51:49 3626 9

原创 服务发现——基于Eureka服务器实现微服务注册

在任何分布式架构中,都需要找到机器所在的物理地址,这个过程称为服务发现。服务发现的优点:可以快速对环境中运行的服务实例数量进行水平伸缩将服务的物理位置抽象,由于服务消费者不知道实际服务实例的物理位置,因此可以从可用服务池中添加或移除服务实例有助于提高应用的弹性。当服务实例不可用时,可从内部可用服务列表移除该实例。服务发现架构微服务通过服务发现代理进行注册通过服务发现代理来查找各...

2019-06-27 16:41:47 541

原创 设计模式总结

设计模式总结策略模式提取出变化的行为,封装为接口,多个实现接口的具体类形成一个算法族,让接口对象成为超类的成员变量(即使用组合的方式),在子类中具体设定行为对象(即选择算法族中的具体的一种实现)。Strategy表示为一种行为的接口。观察者模式对象之间多对一的依赖关系,被依赖的对象为subject,依赖对象为observer,当subject对象的状态发生变化时,会通知给observe...

2019-06-16 11:36:04 211

原创 集合类实现原理总结

个人博客地址:https://alexaccele.github.io/集合类实现原理总结整体认识这里贴出一张网上某大神制作的关于集合类的整体结构关系此图转载自 https://blog.csdn.net/u010887744/article/details/50575735ListArrayList——非线程安全内部结构ArrayList的内部结构其实就是一个数组。由于是数...

2019-04-21 12:30:36 310

原创 虚拟机中多态的实现方式

个人博客地址:https://alexaccele.github.io/虚拟机中多态的实现方式多态的表现形式分为重载和重写。重载是指同一类中的同名方法不同参数列表的表现形式,是一种静态的多态。重写是指具有继承关系的多个类中子类对父类方法的重写,是一种动态的多态。而在虚拟机中,对这两种多态的表现形式有着不同的实现方式。重载的实现——静态分派虚拟机中在重载时是通过参数的静态...

2019-04-21 12:28:07 772

原创 使用Spring Cloud Config配置服务器控制配置

使用Spring Cloud Config配置服务器控制配置本文章所涉及代码在config-test中:https://github.com/Alexaccele/SpringCloudDemoSpring Cloud Config介绍Spring Cloud Config是Sping-Cloud下用于分布式配置管理的组件,分成了两个角色Config-Server和Config-Client...

2019-02-19 19:37:07 467

原创 MySQL性能优化——剖析单条查询

MySQL性能优化——剖析单条查询EXPLAIN 的使用EXPLAIN的使用非常简单,就在你要进行的查询语句前跟上 EXPLAIN 即可。例如:mysql> EXPLAIN SELECT * FROM house limit 5\G;*************************** 1. row *************************** id: 1...

2019-02-17 16:04:35 176

原创 Docker的使用以及命令总结

个人博客地址:https://alexaccele.github.io/Docker的使用以及命令总结帮助相关docker --help 可以查看docker的所有命令docker info 查看docker信息docker version 查看docker版本号最有用的帮助命令docker XXX --help 查看具体命令的帮助手册(XXX代指各种命令)镜像相关docke...

2019-02-17 15:54:46 159

原创 装饰者模式

装饰者模式装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。设计原则类应该对扩展开放,对修改关闭。案例这里我们采用一个制作饮料的过程来介绍装饰者模式,我们先来分析一下在饮料制作的过程中有哪些东西是经常变动的,比如饮料是在牛奶里面加...

2018-12-01 16:33:47 98

原创 观察者模式

观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。这个模式很好理解,就是多个观察者类观察一个具体的主题,当这个主题改变时,所有的观察者就都知道了这一改变,当某个观察者不再观察这个主题时,则不会注意到这个改变。例如我们生活中的订阅或关注,当你订阅了某个杂志或者关注了某个公众号后,当这个公众号有内容更新,即推送信息时,就会通知你,此时一...

2018-12-01 16:33:10 81

原创 策略模式

个人博客地址:http://alexaccele.github.io/策略模式策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。设计原则设计原则:找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。针对接口编程,而不是针对实现编程。即不需要知道实现细节,只根据接口相关信息编程多用组合,少用继承。...

2018-11-20 13:16:53 117

原创 操作系统——调度算法

操作系统——调度算法作业调度算法先来先服务调度算法(first-come first-served,FCFS)FCFS是最简单的调度算法,既可以用于作业调度,也可以用于进程调度,系统将按照作业到达的先后次序来进行调度。短作业优先调度算法(short job first,SJF)SJF算法是以作业的长短来计算优先级,作业越短,优先级越高。作业的长短是以作业所要求的运行时间来衡量的。可以分别...

2018-11-06 17:28:27 1501

原创 操作系统——死锁

死锁在一组进程发生死锁的情况下,这组死锁进程中的每一个进程,都在等待另一个死锁进程所占有的资源。 或者说每个进程所等待的事件是该组中其它进程释放所占有的资源。但由于所有这些进程已都无法运行,因此它们谁也不能释放资源,致使没有任何一个进程可被唤醒。 这样这组进程只能无限期地等待下去。 由此可以给死锁做出如下的定义:如果一组进程中的每一个进程都在等待仅由该组进程中的其它进程才能引发的事件,...

2018-11-06 17:28:03 186

原创 操作系统——进程

操作系统——进程进程的定义与特征为了使参与并发执行的每个程序都能够独立地运行,在操作系统中配置了一个专门的数据结构,称为进程控制块(Process Control Block,PCB)。系统利用PCB来描述进程的基本情况和活动过程,进而控制和管理进程。通常称进程实体为进程。创建进程,实质上是创建进程实体中的PCB;撤销进程,实质上是撤销进程的PCB。定义:进程是程序的一次执行进程是...

2018-11-04 16:11:40 284

原创 Java内存区域

title: Java内存区域tags: JVMcategories: JVMJava内存区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。程序计数器 (线程隔离)Java虚拟机栈 (线程隔离)本地方法栈Java堆 (线程共享)方法区 (线程共享)运行时常量池 (属于方法区的一部分)程序计数器程序计数器(Program Coun...

2018-11-04 16:10:31 98

原创 对象存活算法

对象存活算法在Java的垃圾收集器对堆进行回收之前,首先要判断,什么样的对象才是需要回收的对象,而什么样的对象是“存活”的对象。这就需要有一个判断的方法。引用计数算法有一种很简单粗暴的判断方法就是引用计数算法,即给对象中添加一个引用计数器,当出现一个地方引用该对象时,计数器的值就+1;当引用失效时,计数器的值就-1;当任意时刻计数器的值为0时,则判断该对象就不可能在被使用。这种算法实现很简...

2018-11-04 16:10:11 173

原创 垃圾收集器

垃圾收集器一张图了解所有垃圾收集器:上图中的收集器两两之间有连线的,则说明可以搭配使用。Serial收集器单线程的收集器,在进行垃圾收集时,必须暂停其他所有的工作线程,直到它收集结束。Serial收集器是虚拟机运行在Client模式下的默认新生代收集器,对于限定单个CPU的环境来说,Serial收集器由于没有线程交互的开销,可以获得最高的单线程收集效率。ParNew收集器是Seria...

2018-11-04 16:09:48 128

原创 防止跨站点请求伪造

CSRF跨站点请求伪造(Cross-Site Request Forgery,CSRF)是一种常见的攻击手段。它的工作原理是在用户使用浏览器安全登录网站后,浏览器会以Cookie的形式保存信息,其中就包含用户的登录信息,然后在不关闭浏览器的情况下,用户可能访问一个危险网站,这个危险网站就能通过获取Cookie信息来仿造用户的请求,进而请求安全网站,并进行一些危险操作从而给网站带来危险。CS...

2018-10-20 17:38:47 4484

原创 springboot2.0中配置多数据源

个人博客地址:https://alexaccele.github.io/由于在springboot2.0中配置多数据源时遇到了很多问题,也看了许多大牛的博客最终解决了问题,于是在这里记录一下我的解决过程。配置文件中的url应改用jdbc-url在最开始时我配置的是url,结果会出现  jdbcUrl is required with driverClassName的错误下面是正确的...

2018-08-08 18:45:48 5296 4

原创 在springboot中使用vsftpd实现文件上传到服务器

个人博客地址:https://alexaccele.github.io/首先在Linux服务器中安装vsftpd组件 yum -y install vsftpd 添加一个ftp用户此用户就是用来登录ftp服务器用的。[root@bogon ~]# useradd ftpuser这样一个用户建完,可以用这个登录,记得用普通登录不要用匿名了。登录后默认的路径为 /home/...

2018-08-04 11:35:41 2680

原创 Mybatis Generator逆向工程生成代码

个人博客地址:https://alexaccele.github.io/首先需要有一个.xml的配置文件例如mbg.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Con...

2018-08-02 13:43:08 172

原创 Redis实现分布式锁

import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.StringRedisTemplate;import org.springframework.stereotype.Component;import org.springframew...

2018-07-30 14:25:10 126

原创 springboot中的定时任务

个人博客地址:http://alexaccele.github.io/在springboot中让任务定时执行首先在入口类上添加@EnableScheduling注解@EnableScheduling@SpringBootApplicationpublic class DemoApplication { public static void main(String[] a...

2018-07-29 16:16:11 628

原创 springboot中使用异步任务

个人博客地址:http://alexaccele.github.io/在springboot中使用简单的异步任务同步情况首先来看一下同步情况下的代码,在service中添加了一个线程等待方法@Servicepublic class AsyncService { public void asyncHello(){ try { Th...

2018-07-29 15:47:28 493

原创 springboot中使用缓存

个人博客地址:http://alexaccele.github.io/1.导入cache模块要在springboot中使用缓存技术首先要导入springboot的缓存模块,在pom文件中添加如下代码,或者在创建工程时选中cache模块,两者是一样的,选中cache模块也会在pom文件中添加如下代码<dependency> <groupId>org.sprin...

2018-07-24 17:13:38 191

原创 springboot整合spring security

个人博客地址:http://alexaccele.github.io/springboot 要想使用spring security的模块需要导入相应的依赖在pom文件中添加一下代码 <dependency> <groupId>org.springframework.boot</groupId> ...

2018-07-21 17:15:41 485

原创 docker 的使用——docker安装elasticsearch

个人博客地址:https://alexaccele.github.io/在命令行中有以下常见命令:例如 我使用 docker 安装 elasticsearch 的过程如下首先使用 docker search elasticsearch使用这个命令就如同是在docker的官网  https://hub.docker.com 中进行搜索是一样的一下信息中 OFFICIAL表示是...

2018-07-15 11:33:35 3485

原创 linux 上 docker 的安装

个人博客地址:http://alexaccele.github.io/1、检查内核版本,必须是3.10及以上 使用命令  uname ‐r  2、安装docker yum install docker 3、输入y确认安装 4、启动docker systemctl start docker systemctl stop docker 可以关闭doc...

2018-07-15 11:21:43 114

原创 本地Mysql Workbench远程连接云服务器中的MySQL

个人博客地址:http://alexaccele.github.io/首先打开MySQL workbench 在首页点击 MySQL Connections 边上的 + 号在弹出的框中填入相应信息以上的  default schema表示,如果想要只默认连接某一个特定的数据库,则填上数据库的名称然后点击 测试连接 如果显示错误信息:host ... is not all...

2018-07-09 16:49:55 12958 3

原创 发送请求后不跳转或不刷新页面的问题

个人博客地址:http://alexaccele.github.io/经过多次遇到从页面中发送了请求之后,页面不发生跳转等问题,这里给出一种解决方案。可以使用 window.location.reload();来进行页面刷新。注意 ajax是异步请求,因此不会刷新页面,可以使用get或post请求来替换。使用post请求时,要成功刷新页面,需要将window.loc...

2018-06-28 20:54:10 4396

原创 Mybatis的分页插件PageHelper分页失效的原因

个人博客地址:https://alexaccele.github.io/PageHelper是Mybatis的一个很好的分页插件,但要使用它的分页功能需要注意一下几点1.导入相关包,例如maven导入依赖<dependency> <groupId>com.github.pagehelper</groupId> <artifac...

2018-06-28 17:07:04 29152 8

原创 springboot2.0静态资源被拦截器拦截的问题

springboot2.0中如果采用以前的方式去配置拦截器,会发现静态资源被拦截了。首先在springboot2.0中WebMvcConfigurerAdapter类被弃用了,若是要想使用以往的功能,需要改为实现WebMvcConfigurer接口,并重写addInterceptors()方法来@Configurationpublic class MyMvcConfig impleme...

2018-06-26 10:55:48 2649

原创 Redis的事务

Redis是存在事务的,不过并不像大多数数据库那样,Redis只支持部分事务。在Redis中使用事务会经过3个过程:1.开启事务2.命令进入队列3.执行事务Redis事务命令命令说明备注multi开启事务命令,之后的命令就进入队列,而不会马上被执行在事务生存期间,所以的Redis关于数据结构的命令都会入队watch key1[key2...]监听某些键,当被监听的键在事务执行前被修改,则事务会被回...

2018-06-20 19:48:02 99

原创 Redis持久化——RDB和AOF

在运行情况下, Redis 以数据结构的形式将数据维持在内存中, 为了让这些数据在 Redis 重启之后仍然可用, Redis 分别提供了 RDB 和 AOF 两种持久化模式。RDB在指定的时间间隔内将内存中的数据集快照写入磁盘,即snapshot,数据恢复时是将快照文件直接读到内存里。Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再...

2018-06-20 19:15:31 119

原创 Redis配置文件redis.conf

INCLUDES部分:主要介绍一些引用其他配置文件的方式及意义################################## INCLUDES #################################### Include one or more other config files here. This is useful if you# have a standard ...

2018-06-20 15:54:49 127

原创 Redis常见配置

常见配置说明redis.conf 配置项说明如下:1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程  daemonize no2. 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定  pidfile /var/run/redis.pid3. 指定Redis监听端口,默认端口为...

2018-06-20 15:54:08 189

原创 Redis的常用数据类型和基本命令

Redis的六种数据类型数据类型数据类型存储的值说明STRING (字符串)可以是保存字符串、整数和浮点数可以对字符串进行操作,比如增加字符或者求子串等;整数、浮点数等可以计算自增LIST(列表)它是一个链表,它的每一个节点都包含一个字符串支持从链表两端插入和弹出节点,可以通过偏移进行裁剪,可以读取一个或多个节点,可以根据条件删除或者查找节点等SET(集合)它是一个无序集合,里面每一个元素都是一个...

2018-06-20 14:11:22 144

原创 SpringMVC中Controller接受参数的几种方式

1.@RequestParam注解可以获取请求的参数@RequestMapping("/get")public ModelAndView get(@RequestParam("id") Integer id){...}例如通过以上方式,在Controller的方法参数中使用@RequestParam("id")注解就可以获取请求中的id属性值,并赋给入参的Integer类型的id。2.@Se...

2018-06-13 19:22:25 1355

原创 关于使用.serialize()方法封装表单时获取不到表单数据的问题

个人博客地址:https://alexaccele.github.io/.serialize() 方法创建以标准 URL 编码表示的文本字符串。它的操作对象是代表表单元素集合的 jQuery 对象。我有一个id为login_form的表单,在jQuery中我使用 $("#login_form").serialize()  想要封装表单数据时却发现的值为空。后来发现如果想要使用.seri...

2018-06-07 21:02:28 8572 3

原创 Hibernate学习总结(5)——一对多的级联操作

首先介绍一下一对多是什么,一对多关系是关系数据库中两个表之间的一种关系,该关系中第一个表中的单个行可以与第二个表中的一个或多个行相关,但第二个表中的一个行只可以与第一个表中的一个行相关。例如:我有一个Customer类表示客户,一个Linkman类表示联系人。在这个关系中,我定义一个客户可以对应多个联系人,而一个联系人只能对应一个客户,那么这里的客户就是“一”,联系人就是“多”。一对多关系的建表原...

2018-05-27 13:03:27 604

空空如也

空空如也

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

TA关注的人

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