自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于二分查找的一些思考

最近在做二分查找的算法,发现二分查找并不是想象的那么简单,尤其是终止条件,已经mid的取值问题,总是让我晕头转向,下面以一个例子,说一下我对二分查找的理解归纳:leetcode:剑指 Offer 53 - I. 在排序数组中查找数字 I统计一个数字在排序数组中出现的次数。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: 2示例 2:输入: nums = [5,7,7,8,8,10], target = 6输出: 0限制:0 <= 数组长

2021-05-12 20:36:42 223

原创 服务治理框架Eureka使用与简单理解

服务治理是分布式架构和微服务架构的核心功能,Eureka在Spring Cloud中负责服务注册和服务发现的组件。服务架构流程分析(1)通常我们会在应用中依赖Eureka Client,项目启动之后Eureka Client会向Eureka Server发送自己的信息进行注册(2)注册成功之后,Eureka Client会向Eureka Server发送心跳来进行续约,否则将在90s内从服务器注册表中删除客户端信息(3)Eureka Client定期从Eureka Server拉取服务注册表。(4

2021-05-11 14:34:10 635

原创 SpringBoot自定义starter实现

Spring Boot的基础介绍Spring Boot是由Pivotal团队提出的全新框架,其出现的目的主要是为了简化Spring应用的搭建;在使用SpringBoot之前,我们在使用Spring搭建项目时通常需要写一些xml对项目进行配置,通常还需要手动添加maven配置,框架搭建难度大,时间成本高;在对项目进行本地调试或者线上部署的时候,通常需要将项目编译成war包,然后部署到tomcat中;SpringBoot的出现,改变了这种状况,SpringBoot具有自动装配的特性,另外SpringBoo

2021-05-08 11:29:27 259

原创 CentOS设置固定ip

CentOS设置固定ip查找网络的配置文件cd /etc/sysconfig/network-scripts/ls | grep ifcfg我这里有ifcfg-ens33和ifcfg-lo,ifcfg-后面跟的就是网卡的名称,ifcfg-lo是本地回环地址的配置文件,不要动他。修改配置vi ifcfg-ens33BOOTPROTO="dhcp" 更改为 BOOTPROTO="static"# 追加如下内容BROADCAST=192.168.0.255 IPADDR=19

2020-06-18 09:02:20 585

原创 MyBatis之XML解析

xml文件解析无论是在MyBatis框架,还是在Spring框架中XML解析都占据了很大的一个篇幅,包括MyBatis对Mapper.xml 以及 mybatis-config.xml文件的解析以及Spring 对applicationContext.xml解析中,所以这里我们就单独拎出来对xml解析的知识进行回顾总结;常见的xml文件解析方式首先我们需要知道xml文件解析的常用的方式有哪些DOM解析 (java官方提供)SAX解析(java官方提供)JDOM解析(第三方提供)DOM4J解析

2020-06-08 12:17:25 1488

原创 静态代理,JDK动态代理,CGLib动态代理解析

静态代理的实现静态代理的主要特点:代理类和目标类有一个公共的接口Animal,一个目标类Cat,一个代理类CatProxy,代理类含有目标类的引用,代为执行具体的实例方法PS: 以下代码无实际意义,只是演示静态代理约束接口Catpublic interface Animal { void run();}目标类public class Cat implements Animal{ public void run() { System.out.println("-

2020-05-26 17:57:57 223

原创 SpringSession究竟对Session做了什么?

SpringSession的产生机制在单机版的项目中,客户端第一次请求服务端时会创建session对象,同时生成一个session_id,返回给客户端保存至cookie中,从而服务端和客户端建立一种关联关系,利用这种关系可以做到用户会话保持;但是对于分布式或者集群环境下,由于服务器端会话未保持同步,如果客户端请求被分发至其他服务器导致根据cookie无法找到session的这种局面,所以对于分布式系统来说,会话保持是要解决的一个关键问题;对于上面的问题,出现了若干种解决方案:nginx或者hapr

2020-05-16 18:25:43 820

原创 ElasticSearch安装详解(CentOS)

在实际的项目开发中搜索引擎是常常被使用到,比如说历史订单搜索,商品内容搜索,销售额报表统计等功能,如果涉及的数据量比较大,如果直接通过MySQL等常规的数据存储去做的话,可能会造成很严重的性能瓶颈,ElasticSearch作为一款全文搜索引擎经常被项目中使用,要想了解这个工具,我们先从安装入手,为避免安装过程中遇见各种各样的奇葩问题,将下面详细安装步骤分享给大家:1. 安装Java11 并配置环境变量# 下载解压tar -xvf /app/jdk-11.0.4_linux-x64_bin.tar.g

2020-05-15 09:18:34 471

原创 Redis安装详解(CentOS)

下载+解压wget http://download.redis.io/releases/redis-5.0.8.tar.gztar -zxvf redis-5.0.8.tar.gz在项目根目录下进行编译makemake执行时可能会出现错误,因为缺少gcc环境采用以下命令进行安装yum install gcc安装之后可能还会出现错误In file included from adlist.c:34:0:zmalloc.h:50:31: 致命错误:jemalloc/jemall..

2020-05-15 09:15:44 329

原创 MySQL安装详解(CentOS)

CentOS中默认安装MariaDB ,需要覆盖掉下载官方Yum Reposiitorywget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm安装(覆盖掉MariaDB 软件源)yum -y install mysql57-community-release-el7-10.noarch.rpmyum updateyum -y install mysql-community-serve.

2020-05-15 09:11:45 352

原创 Volatile关键字大揭秘

volatile关键字详解volatile在面试中出现频率非常高,尤其是在涉及单例模式,并发等场景下的时候;volatile关键字修饰的变量具有两大特性:第一,对所有线程的可见性第二,禁止指令重排序优化介绍volatile之前有必要先说一下现在计算机模型和JMM现在计算机模型我们知道绝大多数的问题的都不能只靠处理器"计算"完成,处理器至少要和内存进行交互,比如说存储运算结果,读取运算数据等;早计算机发展早期,处理器和内存的速度其实是差不多的,随着计算机的发展,处理器的计算速度越来越快,导致与内

2020-05-15 09:03:16 231

原创 啥!单例模式还可以这样写!

故事背景故事发生在前几天,小张去某一家公司面试,事情的经过是这样的:面试官问小张:你了解单例模式吗?小张谦虚的说:当然,单例模式就是就是这个类我们只能创建一个对象,通常我们最好的办法是让类自身负责保存它唯一的一个实例,然后这个类可以保证没有其他实例可以被创建,并且它可以提供一个唯一的方法访问该实例;面试官:那这个类通常如何设计才能达到这种效果呢小张:构造方法私有化这就堵死了外界通过new 创建该对象的可能;获取对象的时候可以判断下该对象是否存在,如果存在的话就创建一个实例,否则就返回当前已经存在的

2020-05-15 08:54:10 232

空空如也

空空如也

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

TA关注的人

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