自定义博客皮肤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)
  • 收藏
  • 关注

转载 接口限流的几种算法

接口限流的几种算法今天面试遇到一个关于接口限流的问题:设计一个方案,保证每秒只有 10 个请求可以访问接口。不得不说,此问题可以很好的考察面试高级工程师岗位的候选人的过往经验。不过很遗憾,我原来并没有做过这方面的工作。在自己的知识储备中,首先想到的是:假如保证每秒只有 1 个请求访问接口,如何实现。在这个前提下,首先想到的是直接加锁,加锁后,每次只有一个请求可以访问接口,但是每个请求的处理时间不确定,可能小于 1s(也可能大于 1 s),此种方法不符合问题要求,pass。接着想到使用 Redis 设置

2022-03-15 10:24:02 3030 2

原创 MAVEN项目打包后提示没有主清单属性解决方案

1、普通maven项目中打包后运行提示没有主清单属性解决方案 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId>

2022-02-10 14:26:37 10719

转载 Java有限状态机的4种实现对比

在日常工作过程中,我们经常会遇到状态的变化场景,例如订单状态发生变化,商品状态的变化。这些状态的变化,我们称为有限状态机,缩写为FSM( F State Machine).。之所以称其为有限,是因为这些场景中的状态往往是可以枚举出来的有限个的,所以称其为有限状态机。下面我们来看一个具体的场景例子。简单场景:地铁进站闸口的状态有两个:已经关闭、已经开启两个状态。刷卡后闸口从已关闭变为已开启,人通过后闸口状态从已开启变为已关闭。01 遇到这类问题,在编码时我们应该如何处理呢?基于Switch基于

2021-11-30 16:54:28 661

转载 java线程池ThreadPoolExecutor类使用详解

在《阿里巴巴java开发手册》中指出了线程资源必须通过线程池提供,不允许在应用中自行显示的创建线程,这样一方面是线程的创建更加规范,可以合理控制开辟线程的数量;另一方面线程的细节管理交给线程池处理,优化了资源的开销。而线程池不允许使用Executors去创建,而要通过ThreadPoolExecutor方式,这一方面是由于jdk中Executor框架虽然提供了如newFixedThreadPool()、newSingleThreadExecutor()、newCachedThreadPool()等创建线程池

2021-11-12 17:05:34 114

转载 软件版本说明

GAGeneral Availability,正式发布的版本,官方开始推荐广泛使用,国外有的用GA来表示release版本。RELEASE正式发布版,官方推荐使用的版本,有的用GA来表示。比如spring。Stable稳定版,开源软件有的会用stable来表示正式发布的版本。比如Nginx。Final最终版,也是正式发布版的一种表示方法。比如Hibernate。RCRelease Candidate,发行候选版本,基本不再加入新的功能,主要修复bug。是最终发布成正式版的前一个版本,将b.

2021-10-19 09:43:27 868

转载 拦截器和过滤器的区别

过滤器和拦截器的区别:  ①拦截器是基于java的反射机制的,而过滤器是基于函数回调。  ②拦截器不依赖与servlet容器,过滤器依赖与servlet容器。  ③拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。  ④拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。  ⑤在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次。  ⑥拦截器可以获取IOC容器中的各个bean,而过滤器就不行,这点很重要,在拦截器里注入一个s

2021-09-28 16:05:52 77

原创 Socket 模拟HTTP请求

package com.beluga.hello.http;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.Socket;public class TestHttpClient { Socket socket = null; public void

2021-09-03 15:16:18 369

转载 java线程池ThreadPoolExecutor类使用详解

在《阿里巴巴java开发手册》中指出了线程资源必须通过线程池提供,不允许在应用中自行显示的创建线程,这样一方面是线程的创建更加规范,可以合理控制开辟线程的数量;另一方面线程的细节管理交给线程池处理,优化了资源的开销。而线程池不允许使用Executors去创建,而要通过ThreadPoolExecutor方式,这一方面是由于jdk中Executor框架虽然提供了如newFixedThreadPool()、newSingleThreadExecutor()、newCachedThreadPool()等创建线程池

2021-08-04 15:50:15 64

转载 mysql—排序函数rank() over()、dense_rank() over()、row_num() over()

1.rank() over()查出指定条件后进行排名。特点是,加入是对学生排名,使用这个函数,成绩相同的两名是并列,下一位同学空出所占的名次。rank()over(partitionbysubjectorderbyscoredesc) rank2.dense_rank() over()与rank() over的区别是,两名学生的成绩并列以后,下一位同学并不空出所占的名次。dense_rank()over(partitionbysubjecto...

2020-06-21 14:56:54 1363

原创 JavaScript中的正则表达式

正则表达式形象化网站:https://regexper.com/一、RegExp对象JavaScript通过内置对象RegExp支持正则表达式有两种方法支持实例化RegExp对象字面量例如:var reg = /\bis\b/g;(这里的 \b 代表单词边界)构造函数例如:var reg = new RegExp(’\bis\b’,‘g’);(修饰符:1.g:global ...

2020-03-03 11:19:25 365 1

转载 什么是集群,分布式,微服务?

转至–外行人都能看懂的SpringCloud什么是集群集群技术特点:通过多台计算机完成同一个工作,达到更高的效率。两机或多机内容、工作过程等完全一样。如果一台死机,另一台可以起作用。在维基百科上说得也挺明白的了,我来举个例子吧。小周在公司写Java程序,但公司业务在发展,一个Java开发者可能忙不过来,小周有的时候也得请个假呀。于是请了3y过去一起做Java开发。平时小周和3y就写...

2020-03-02 11:37:50 178

原创 MySQL删除数据几种情况以及是否释放磁盘空间

1、drop table table_name 立刻释放磁盘空间 ,不管是 InnoDB和MyISAM2、truncate table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM 。truncate table其实有点类似于drop table 然后create。只不过这个create table 的过程做了优化,比如表结构文件之前已经有了等等,就不需要重新再...

2019-12-24 10:33:52 262

空空如也

空空如也

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

TA关注的人

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