自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Collections.sort给list集合中的数据排序

public static void main(String[] args) { List<Student> list = new ArrayList<Student>(); list.add(new Student(2,22,"张三")); list.add(new Student(1,25,"李四")); list.add(new Student(5,37,"王五")); list.add(new S

2020-12-10 18:39:34 261 1

原创 Java中如何使用定时器

一,方式一 使用定时器1,指定延时时间,多长时间之后执行public class TimedTask { public static void main(String[] args) { //方式一 //创建定时器对象 Timer timer = new Timer(); //创建定时任务对象 timer.schedule(new TimerTask() { @Override

2020-10-31 22:44:09 499

原创 24时分96刻,每一刻对应的时间格式

从2020-10-18 00:00 ~2020-10-19 24:45for (int j = 0; j <95; j++) { int time = j * 15; int hour = (int) Math.floor(time / 60); //舍弃小数去整数 String hour2 = hour > 9 ? hour + "" : "0" + hour; //三元运算符,得到小时格式xx:00

2020-10-18 01:11:16 429

原创 Eureka高可用配置

一,搭建eureka服务1,在eureka服务端模块引入相关坐标 <!--eureka服务端坐标--> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server&lt

2020-09-12 17:35:13 244

原创 系统架构的演变

系统架构的演变一,集中式架构当网站流量很小时,只需要一个应用将所有的功能部署到一起,以减少部署的节点和成本。优点:系统开发速度快维护成本低适用于并发较低的系统缺点:代码耦合度高,后期维护困难无法针对不同的模块进行针对性优化无法水平扩展单点容错率低,并发能力差二,垂直架构当访问量逐渐增大,单一应用无法满足需求,为应对更高的并发和业务需求,根据业务功能对系统进行拆分。优点:系统拆分实现了流量分担,解决了并发问题可以针对不同的模块进行优化方便水平扩展,负载均衡,容错率

2020-09-10 23:42:49 175

原创 全文检索 Elasticearch

一,ES简介来自百度百科总结:1、elasticsearch是一个基于Lucene的高扩展的分布式搜索服务器,支持开箱即用。2、elasticsearch隐藏了Lucene的复杂性,对外提供Restful 接口来操作索引、搜索。二,ES的安装目录的配置文件安装目录下的配置文件如下:elasticsearch.yml : 用于配置Elasticsearch运行参数jvm.options : 用于配置Elasticsearch JVM设置log4j2.properties: 用于配置Ela

2020-05-22 17:48:01 228

原创 常见的类型转换

/** * 常见的类型转换 */ @Test public void test1() { //1,Int型数字转换成String int i = 1234; //方法一,在int类型后加一个空字符串 String str1 = i + ""; System.out.println(str1); //方法二,调用String的valueOf()方法 St...

2020-05-20 20:47:48 1025

原创 docker的安装以及容器的创建

1,Centos7上docker的安装步骤:1.1 可以参考docker官网安装手册https://docs.docker.com/engine/install/centos/1.2 yum安装gcc环境$ yum install gcc -y1.3卸载旧版本(安装过docker旧版本的话)$ sudo yum remove docker docker-common docker-s...

2020-04-27 13:14:55 155

原创 JWT令牌

1, Oauth2申请授权码模式2,Oauth2密码模式授权3,JWT令牌3.1,首先看一下什么是传统校验令牌如图:传统校验令牌:客户端访问资源服务,资源服务需要通过网络请求认证服务。传统授权方法的问题是用户每次请求资源服务,资源服务都需要携带令牌访问认证服务去校验令牌的合法性,并根据令牌获取用户的相关信息,性能低下。3.2,JWT令牌便应运而生,那么什么是JWT令牌?JSON W...

2020-03-19 15:55:54 279

原创 cron表达式

1,cron表达式包括6个部分: 秒(0~59) 分钟(0~59) 小时(0~23) 月中的天(1~31) 月(1~12) 周中的天(填写MON,TUE,WED,THU,FRI,SAT,SUN,或数字1~7,1表示 MON,依此类推)2,特殊字符介绍:“/” 表示指定数值的增量“*” 表示所有可能的值“-” 表示区间范围“,” 表示列举“?”...

2020-03-18 16:48:49 124

原创 在idea中安装Vue

1,Vue概述:Vue是一套用于构建用户界面的渐进式JavaScript框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,方便与第三方库或既有项目整合。2,Vue的安装打开idea的Terminal窗口,cd 进入到当前项目的目录。输入命令 npm init -y 对项目进行初始化,此时会在项目目录下出现一个package.json文件。...

2020-03-18 16:27:25 717

原创 RabbitMQ与SpringBoot整合

1,创建test-rabbitmq-consumer消费方模块2,创建test-rabbitmq-producer提供方模块3,以上两个模块都需要导入以下配置1)依赖导入 <!--springboot整合rabbitMQ的jar包--> <dependency> <groupId>org.springframewo...

2020-03-03 17:19:39 223 1

原创 RabbitMQ

1,RabbitMQ的介绍MQ全称为Message Queue,即消息队列,RabbitMQ是由erlang语言开发,基于AMQP(高级消息队列协议)实现消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛。2,开发中消息队列通常有如下场景2.1任务异步处理将不需要同步处理的并且耗时长的操作由消息队列通知信息接收方进行异步处理。提高了应用程序之间的响应时间。2...

2020-03-02 13:44:16 139

原创 Mongodb数据库的安装及使用

1,Mongodb数据库的优点MongoDB 的架构较少。它是一个文档数据库,它的一个集合持有不同的文档。MongoDB 中没有复杂的连接MongoDB 提供深度查询的功能,因为它支持对文档的强大的动态查询。Mongodb是非关系型数据库,存储Json格式数据 ,数据格式灵活没有事务管理要求...

2020-02-20 20:54:48 204

原创 Redis缓存相关问题

1,缓存穿透1.1 概念: 缓存穿透是指查询一个数据库不一定存在的数据,查询穿透了缓存进入到的数据库。1.2 存在的问题: 例如我们的数据表中主键是自增产生的,所有的主键值都大于0,此时如果用户传递过来的参数为-1,这个-1就是一个不一定存在的对象,程序就会每次都要查询数据库而每次查询都是空,每次又都不会进行缓存。假如有人恶意攻击,就可以利用这个漏洞,对数据库造成压力,甚至压垮我们的数据库...

2020-02-07 20:43:30 62

原创 定时任务组件Quartz

1,Quartz介绍Quartz是Job scheduling(作业调度)领域的一个开源项目,Quartz既可以单独使用也可以跟spring框架结合使用,在实际的开发中一般使用后者。使用Quartz可以开发一个或者多个定时任务,每个定时任务可以单独指定执行时间。2,相关maven坐标<dependency> <groupId>org.quartz-schedu...

2020-02-06 17:51:25 143

原创 日期工具类

一,作用日期转换- String -> Date日期转换 Date -> String获取当前日期的本周一是几号获取当前日期周的最后一天根据日期区间获取月份列表根据日期获取年度中的周索引根据年份获取年中周列表获取某年的第几周的开始日期获取某年的第几周的结束日期获取当前时间所在周的开始日期获取当前时间所在周的结束日期获得上周一的日期获得本周一的日期获得下周...

2020-01-30 11:59:34 135

原创 Spring注解

Spring注解简介spring是轻代码而重配置的框架,配置比较繁重,影响开发效率,所以注解开发是一种趋势,注解代替xml配置文件可以简化配置,提高开发效率。spring原始注解注解说明@Component使用在类上用于实例化Bean@Controller使用在web层类上用于实例化Bean@Service使用在service层类上用于实例化Bean...

2020-01-26 19:01:22 86

原创 Git分布式版本控制工具

一,Git仓库的使用1,下载安装Git,下载地址:https://git-scm.com/download(一直下一步就可以),安装完成之后,在磁盘目录右键会出现如下图标2,环境配置在任意磁盘目录下右键选择Git Bash Here ,通过命令设置用户名和邮箱git config --global user.name "yonghuming"git config --global us...

2020-01-13 12:37:26 173

原创 网页静态化技术Freemarker

FreeMarker概述FreeMarker是一款用Java语言编写的模板引擎,用它可以通过模板和要改变的数据来生成输出文本(例如HTML网页,配置文件,源代码等),作为用来实现网页静态化的一种手段,FreeMarker的使用率大大超过其他一些技术,对于系统中频繁使用数据库查询但是内容更新很小的应用,都可以使用FreeMarker将网页静态化,这样就避免了大量的数据库访问请求,从而提高网站的性能...

2020-01-11 23:33:30 103

原创 类加载与反射

1.类加载器1.1类加载:当程序要使用某个类时,如果该类还没有被加载到内存中,系统会通过类的加载,类的连接,类的初始化这三个步骤对类进行初始化,如果不出现意外,JVM会连续完成这三个步骤,所以有时候会把这三个步骤称为类的加载或类的初始化类的加载就是将Class文件读入内存,并位置创建一个java.lang.Class对象任何类被使用时,系统都会为之创建一个java.lang.Class...

2019-12-14 16:20:49 181

原创 Spring的Aop注解开发与XML开发

1,AOP的概念AOP为Aspect Oriented Programming的缩写,意思为面向切面编程,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术2,AOP的作用利用AOP可以对业务逻辑的各个部分进行分离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可用性,同时提高了开发效率3,AOP的底层实现AOP的底层是通过Spring提供的动态代理技术实现的,在运行期...

2019-12-12 01:41:37 108

原创 Tomcat服务器防盗链演示

Tomcat服务器防盗链演示一,盗链的定义此内容不在自己服务器上,而通过技术手段来盗取一些有实力的大网站的地址(比如一些音乐、图片、软件的下载地址)然后放置在自己的网站中,通过这种方法盗取大网站的空间和流量。二,获取访问者网址的请求表头数据,根据判断是否包含服务器的虚拟目录,来判定是否为正常访问,代码如下:package cn.itcast.web.request;import ja...

2019-11-07 00:28:04 599

原创 Druid数据库连接池使用

#Druid数据库连接池使用一,简介1, Druid数据源连接池来源于阿里巴巴,是淘宝和支付宝专用数据库连接池.它支持所有JDBC兼容的数据库,包括Oracle、MySql、Derby、Postgresql、SQL Server、H2等等。二,导入jar和配置文件1,首先,在模块下导入jar包和配置文件 如下图:import com.alibaba.druid.pool.DruidDat...

2019-11-04 23:05:01 569

空空如也

空空如也

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

TA关注的人

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