自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一名java小白的求知之路的博客

技术分享,如有哪些地方写的不到位,还望大神指点一二

  • 博客(30)
  • 资源 (2)
  • 收藏
  • 关注

原创 Redis 执行Lua脚本

redis incr 命令当Key不存在时会默认设置key 并自增为1,如果需要在key不存在时重新初始化key 可以在应用程序中判断,也可以直接使用lua脚本Redis 执行lua脚本命令。

2023-07-22 13:58:22 760

原创 PageHelper不使用startPage 默认分页的问题

使用Mybatis框架和PageHelper时,并没有使用PageHelper.startPage(1,10)的语句,但是sql 默认被分页了。

2023-07-20 14:45:06 377

原创 Spring Cache使用过程中一些坑

Spring Cache

2022-12-22 10:25:07 176 1

原创 Springboot 3.0之Spring Native初体验

Spring Boot 3.0初体验

2022-11-14 15:13:57 10188 1

原创 【FastDfs】参考官方安装教程

安装FastDFS

2022-11-07 11:12:09 233

原创 如何实现一个Key可以过期的HashMap

背景在项目中,我有大量的接口是只读的,只是从数据库发布为服务接口供其他项目使用,为了提高服务接口的响应速度(数据接口的特点是只读,所以做缓存会极大提升接口访问性能)。本文只介绍本地缓存存储可过期HashMap的实现。可选的缓存中间件有:缓存类型本地缓存caffeine 一个优秀的进程缓存框架(据说是本地缓存性能最高)guava google的Java类库中间件缓存redis (优秀的分布式缓存中间件)memcached (缓存中间件,相对redis功能来说较少)项目在实际

2022-02-14 12:59:22 1943 3

原创 ES环境搭建

ES环境搭建环境准备Centos 7.xelasticsearch-7.9.0-linux-x86_64.tar.gzkibana-7.9.0-linux-x86_64.tar.gzjdk 8.0+搭建步骤创建Es用户# 添加用户组groupadd es# 添加Es用户useradd es -g es -p es上传安装包并解压# 上传rz# 创建es目录mkdir elastic# 解压cd elastictar -zxvf elasticsearch-7.9.

2021-07-26 10:30:02 303

原创 设计模式之抽象工厂模式

抽象工厂模式背景工厂方法模式通过引入工厂等级结构,解决了简单工厂模式中工厂类职责太重的问题,但由于工厂方法模式中的每个工厂只生产一类产品,可能会导致系统中存在大量的工厂类,势必会增加系统的开销。此时,我们可以考虑将一些相关的产品组成一个“产品族”,由同一个工厂来统一生产,这就是我们本文将要学习的抽象工厂模式的基本思想。概述抽象工厂模式为创建一组对象提供了一种解决方案。与工厂方法模式相比,抽象工厂模式中的具体工厂不只是创建一种产品,它负责创建一族产品理解方式:在工厂方法模式中具体.

2021-07-19 13:51:37 129

原创 设计模式之适配器模式

适配器模式背景在软件开发中,有时会存在在结构上不兼容的情况,我们需要在结构上通过协调去兼容这些结构,使他们共同协作,这种设计模式称为适配器模式,适配器模式属于结构型模式概述与电源适配器相似,在适配器模式中引入了一个被称为适配器(Adapter)的包装类,而它所包装的对象称为适配者(Adaptee),即被适配的类。适配器的实现就是把客户类的请求转化为对适配者的相应接口的调用。也就是说:当客户类调用适配器的方法时,在适配器类的内部将调用适配者类的方法,而这个过程对客户类是透明的,客户类并不直接访问

2021-07-12 16:02:26 107

原创 设计模式学习笔记(一)、初识

JAVA开发中的设计模式1.什么是设计模式设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结2.设计模式六大原则 (1) 开闭原则(Open Close Principle)开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。(2) 里

2020-09-17 15:45:04 104

原创 使用Docker搭建mongodb简单版

使用Docker搭建mongodb简单版文件结构├── docker-compose.yml├── Dockerfile└── setup └── setup.jssetup.js用于初始化MongoDBdb = db.getSiblingDB('gis'); // 创建一个名为"gis"的DBdb.createUser( // 创建一个名为"shon"的用户,...

2019-09-27 16:57:28 573

原创 Docker Swarm 和Docker Machine常用命令

Docker Swarm 和Docker Machine常用命令1.Docker swarm 常用命令初始化swarm集群,宿主机存在多个网卡时需要指定IP地址,执行docker swarm init 的节点自动成为管理节点docker swarm init --advertise-addr [IP]查看 swarm 集群状态docker info查看集群节点信息docker n...

2019-09-02 14:05:56 473

原创 docker学习笔记(六)Docker-Compose介绍及应用

docker学习笔记(五)Docker-Compose简介Docker-compose是官方的开源项目,负责实现对Docker容器集群的快速编排举个简单的例子,我们一个java Web应用,依赖的环境有jdk ,数据库使用的mysql,缓存数据库使用的redis,消息队列服务器使用的是rabbitmq,并且分为ABC三个应用协作运行,也就是说我们需要一台mysql服务器,一台rabbit...

2019-09-02 10:07:10 907

原创 使用Docker-compose 部署mysql,并对外提供服务

使用Docker-compose 部署mysql,并对外提供服务1.准备环境安装 Docker docker学习笔记(二)docker环境安装和基本命令安装 Docker-compose Docker-compose安装2.编写docker-compose文件创建docker-compose-mysql.yaml文件mkdir docker-mysqlcd dock...

2019-08-29 17:44:27 3111

原创 docker学习笔记(五)使用Docker部署单体springboot应用

使用Docker部署单体springboot应用总体步骤分为:准备需要部署的springboot应用这是使用的springboot的应用非常简单,就只有一个简单的计数的接口,并且计数的值也并不会做存储,直接是在内存中存储的,基于springboot2.x的一个简单应用pom.xml<!-- parent依赖 --> <parent> &lt...

2019-08-21 17:01:04 504

原创 docker学习笔记(四)Dockerfile的编写

Dockerfile的编写Dockerfile的概念在docker学习笔记(三)Dockerfile的概念中已经介绍的很清楚了,现在可以尝试简易的尝试一下编写DockerfileDockerfile可以允许用户自定义镜像,就代表我们可以把一些常用的环境打到镜像中,这样在不同的机器上我们只需要安装Docker环境,然后直接下载我们自己制作的镜像,可以省去很多环境的麻烦,当然Dockerfile...

2019-08-20 18:35:56 528

原创 docker学习笔记(三)Dockerfile的概念

Dockerfile的概念及其编写Dockerfile可以允许用户创建自定义的镜像1基本结构Dockerfile由一行行命令组成,并且支持以#开头的注释行,一般,Dockerfile分为4部分:基础镜像信息维护者信息镜像操作指令容器启动执行指令指令1. FROM格式为 FROM 或 FROM:第一条指令必须为FROM指令,并且,如果同一个Dockerf...

2019-08-19 17:18:09 217

原创 docker学习笔记(二)docker环境安装和基本命令

docker 环境安装环境准备:centos7虚拟机一台安装步骤:1. 确认linux机器可以链接网络ping www.baidu.com出现如下:PING www.a.shifen.com (61.135.169.125) 56(84) bytes of data.64 bytes from 61.135.169.125 (61.135.169.125): icmp_...

2019-08-05 18:02:46 583

原创 docker学习笔记(一)docker 基本概念

1. docker简介Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub上进行维护。Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker I...

2019-08-05 17:58:26 216

原创 RabbitMQ学习笔记(二)RabbitMQ入门示例

1、RabbitMQ是什么? RabbitMQ是实现了AMQP(高级消息队列协议)的消息中间件的一种,RabbitMQ主要是为了实现系统之间的双向解耦而实现的,当多次进行服务器写操作时,并且这个操作对实时性的要求不是很高,也可以理解为是耗时操作,请求量比较大时,就需要一个中间层来做缓冲,慢慢处理数据。 AMQP,即 Advanced Message Queuing Pr...

2019-07-01 16:32:22 167

原创 RabbitMQ学习笔记(一)Linux 安装rabbitmq

RabbitMQ的安装:环境准备: 虚拟机一台 Linux版本为centos6软件安装包:地址链接:百度网盘地址安装步骤:1 修改hostnamevi /etc/hosts配置自己的主机名和域名映射127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4...

2019-06-27 10:39:39 184

原创 Mybatis-Plus的使用方法(二) 使用自动生成的代码 进行CRUD

接下来就准备开始使用生成的代码进行CURD了:如果不知道怎么生成代码,请看上一篇Mybatis-Plus的使用方法(一) 安装和使用代码生成本文示例均来自官方文档,只对部分接口加以解释说明后续的博客上的代码尽量上传到Github上,但是现在没有时间,理解一下Mapper CRUD 接口说明:通用 CRUD 封装BaseMapper接口,为Mybatis-Plus启动时自...

2019-05-16 19:56:22 11141 4

原创 Mybatis-Plus的使用方法(一) 安装和使用代码生成

问题引发: 我们在做后台管理系统时,是否经常会遇到这样的问题:这么多的模块....真的多吗?很多的模块下边基本都是一些简单的对于单表的增删改查,呢这些重复的工作我们是否需要继续写呢,每次当我们做一个后台管理系统时,相对于单表的CURD都是一直写mapper层,service层,controller层? NO,这样会浪费我们的开发时间,非常的浪费.好在互联网上有很多的好心人,将这些繁...

2019-05-16 11:29:40 1245

原创 SpringMvc 之MockMvc的使用方法

出现的问题: 在我们后台开发接口时,经常做的一件事就是编码、启动后台服务、使用PostMan 或者其他的接口调用工具进行测试、发现接口问题、修改代码,继续重启后台服务,继续走着这样的流程,个人感觉启动服务是一个非常麻烦的事情,当我需要看看我写的接口是否正确时,每次都要重新启动,输入参数,访问服务,然后在本地的时候代码跑着一点问题都没有,部署到对应环境时,打包没问题,接口却不通了,...

2019-05-15 11:29:30 7597

原创 只使用for循环和赋值的方式对字符串进行去重

        最近,有个朋友去面试时让一道笔试题给难住了,具体的代码要求当时写出来,考的是非常基础的东西,但是个人感觉这道题非常有意思,话不多说上题目:要求对一串没有任何规律的字符串,例如aassgtgfaagsds,对这个字符串首先进行去重,求出去重后的字符串,其实对原始字符串进行字符统计,统计出每一个字符在这个字符串中出现的次数,最后是将去重后的字符串进行排序,这个题目猛一看貌似很简单,但是...

2018-11-03 07:57:37 2876 1

原创 JAVA基础 之LinkedList源码剖析

LinkedList源码剖析:LinkedList是List的一个实现类,也是一个集合容器.它的底层实现是一个双链接列表实现,在查询上面比起ArrayList差了呢么一点,但是在增加和删除元素时的效率却远远高于ArrayList.我们来一探究竟源码:public class LinkedList&lt;E&gt;extends AbstractSequentialList&lt;...

2018-08-18 12:37:01 189

原创 Java基础 之ArrayList源码剖析

最近在看java编程思想,自己越来越体会到深入了解底层原理的兴奋的感觉,呢就先从java开始,慢慢去深入学习JavaArrayList是java中的集合容器之一,过多的理论知识就不多说了,只分享一些个人看源码的体验通过阅读ArrayList源码的发现:ArrayList的底层实现:1 ArrayList容器的初始化大小为10源码: private static final...

2018-08-17 17:12:57 373

原创 Springboot 整合dubbo小案例

Springboot 整合dubbo小案例最近在看dubbo的一些案例,发现dubbo作为一个分布式的SOA服务治理框架,与普通的项目相比,优势多了很多,springboot作为快速构建微服务的王牌框架,我感觉它对于整个spring框架的封装非常好,对于快速构建一个spring程序来说,让我们更加注重于代码的编写,而框架帮你把需要的配置变成了一条龙服务,在Dubbo Spring Boot 工...

2018-08-13 16:27:42 1898

原创 Zookeeper的安装单机版和集群版

自己写博客,很大一部分原因是因为自己安装过的软件也老是忘记安装步骤,每次都是百度的,写下来供自己参考,当然,有什么不足的地方,请大神批评指正!!!!!都是搞技术的,有错指出来就行,欢迎各位骚扰!!!!Zookeeper的单机版安装从官网上下载zookeeper的安装包准备:安装之前请自行安装jdk,不会的请参考https://blog.csdn.net/qq_41354631/arti...

2018-08-10 20:14:39 4651

原创 Linux下安装jdk1.8和tomcat7

安装JDK安装jdk需要先从官网下载这里使用的是 jdk-8u73-linux-x64.tar.gz(和下面下载的版本不一样,但是不影响)linux上没有软件的直接通过wget命令下载wget http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u18...

2018-08-09 11:01:19 2240 2

中国移动DSP广告平台研究专题报告2014(简版).pdf

一本非常好的正则指引的书,书中涵盖很多正则表达式的使用方法

2018-11-28

空空如也

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

TA关注的人

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