![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础类
文章平均质量分 89
思无邪心飞扬
业精于勤荒于嬉,行成于思毁于随。
展开
-
布隆过滤器(Bloom Filter)
为什么就当前互联网环境来说,头部的互联网生态越来越往高并发、分布式的形态发展。举例来说,各大网页的黑名单系统,爬虫的重复率判断。这些场景越来越多。举例来说,实时状态下可能会对超过百亿级别的 URL 需要进行判断是否符合规范或者存在于系统中,能否正常使用。通常情况下,每个 URL 的大小为 64B(字节),那么就按照100亿的 URL 数量来看,大概需要640GB的内存容量【】,对于当前线上服务器来说,… 这个值依然还是很大的!但如果利用布隆过滤器的优势,在没有失误率的情况下只需要100亿个比特,即原创 2022-02-22 16:15:20 · 2864 阅读 · 0 评论 -
java面试
mysql事物四大特性原子性:要么全部做完,要么全部不做。事务的最小单位一致性:事务开始前和结束后,数据库的完整性没有遭到破坏。(AB转账问题)隔离性:同一时间,只允许同一事务访问同一数据,不同事务之间不能有任何干扰。(A取钱时B不能向他转账)持久性:事务完成之后,事务对数据库所有更新被永久保存在数据库中,不能回滚。事务的并发问题与解决脏读:事务A读取到事务B未提交的数据(内存中的数据,或者事务B进行回滚操作)不可重复读:同一事务内两次读取的数据库值不一样(读取到事务B修改后的操作:你原创 2022-01-21 16:37:56 · 599 阅读 · 0 评论 -
rabbitMq
RabbitMq是一个基于erlang语言写的消息队列,是典型的生产消费者模型。关于队列,我相信大家也都熟悉,特点是有序、先进先出。而消息队列的特性有很多,最常用的莫过于:解耦假设A系统和BCD系统有业务调用,如果B系统不需要了,或者又有E系统需要对接,那A系统的负责人如何处理?BCDE随便哪个挂了是否需要存储,要不要重发?都是一大堆问题。系统之间的耦合性太强了,而MQ通过(推送-MQ-拉取)模型就很好的解决了这个问题,如果使用 MQ,A 系统产生一条数据,发送到 MQ 里面去,哪个系统需要数据自己去原创 2021-12-30 16:20:09 · 844 阅读 · 0 评论 -
利用YApi管理Swagger自动生成的接口文档(java)
swagger整合yapi管理java项目api文档原创 2021-12-02 16:04:05 · 983 阅读 · 0 评论 -
SQL语言操作
MySQL数据库CREATE TABLE t_user (uid INT AUTO_INCREMENT COMMENT ‘用户id’,username VARCHAR(20) NOT NULL UNIQUE COMMENT ‘用户名’,password CHAR(32) NOT NULL COMMENT ‘密码’,salt CHAR(36) COMMENT ‘盐值’,gender INT COMMENT ‘性别,0-女,1-男’,phone VARCHAR(20) COMMENT ‘电话’,原创 2021-02-07 16:02:19 · 630 阅读 · 0 评论 -
SpringBoot精进
快速入门安装AND环境准备工具下载1)下载JDK1.8,并进行环境变量配置。2)下载maven(例如apache-maven-3.6.2,网址http://maven.apache.org/),并进行相关配置(本地库,私服)。3)下载sts最新版(例如sts-4.4.2.RELEASE,网址https://spring.io/tools)。工作区准备1)定义新的工作区(要求没有中文目录),例如d:/workspacests。相关配置maven配置打开maven中的setting.xm原创 2021-02-07 14:51:41 · 117 阅读 · 0 评论 -
23种设计模式
概述:设计模式在讲设计模式之前,首先大家得明白什么叫设计模式?设计模式就是一套无数程序员前辈总结出来的代码编写开发套路,它教我们怎么写出功能完整,维护简洁,性价比高并且优美的代码。首先说说,设计模式的原则:总原则、开闭原则对扩展开放,对修改封闭。在程序需要进行拓展的时候,不能去修改原有的代码,而是要扩展原有代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类等,后面的具体设计中我们会提到这点。1、单一职责原则不要存在多原创 2021-02-05 11:19:03 · 184 阅读 · 0 评论 -
JVM调优
1. Java 类加载过程:Java 类加载需要经历一下 7 个过程:加载加载是类加载的第一个过程,在这个阶段,将完成一下三件事情:• 通过一个类的全限定名获取该类的二进制流。• 将该二进制流中的静态存储结构转化为方法去运行时数据结构。• 在内存中生成该类的 Class 对象,作为该类的数据访问入口。验证验证的目的是为了确保 Class 文件的字节流中的信息不回危害到虚拟机.在该阶段主要完成以下四钟验证: • 文件格式验证:验证字节流是否符合 Class 文件的规范,如主次版本号是否原创 2021-02-03 17:42:57 · 105 阅读 · 0 评论 -
数据结构与算法之算法篇
文章目录大O算法时间复杂度空间复杂度大O算法时间复杂度在长度为n的数组中:直接通过下标去访问元素,时间复杂度为O(1)。需要遍历查找元素的时候,时间复杂度为O(n)。需要遍历二维数组的时候,时间复杂度为O(n²)。时间复杂度,在代码编程中指的是要测量的代码在运行中会执行多少个步骤。步骤越少,肯定执行的效率越高。用一些算法函数来表示,它定性描述该算法的运行时间。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。相同大小的不同输入值仍可能造成算法的运行时间不同,因此我们通常使用算法的原创 2020-11-26 18:28:17 · 1416 阅读 · 0 评论 -
redis
目录数据存储类RedisMySql负责均衡类NginxZookeeperSpringCloud队列RabbitMQ搜索引擎Lucene+Solr/ES容器以及控制器DockerKubernetsDubbo数据存储类Redis官网:https://redis.io简介:Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broke原创 2020-11-09 16:30:29 · 247 阅读 · 2 评论 -
环境配置
文章目录JAVA_HOMEJAVA_HOME在软件编程中,凡是要用到java语言开发的软件或者java的衍生语言,都需要配置该变量,具体配置如下windows版本计算机-属性-高级系统设置-高级-环境变量Linux版本Linux版本中环境变量配置在 /etc/profiles文件中,在文件末尾追击即可#set java environment JAVA_HOME=/home/app/jdk1.8.0_65 #自身jdk所在目录 JAVA_BIN=/home/app/jdk原创 2020-06-05 10:59:37 · 145 阅读 · 0 评论 -
Linux
文章目录Linux简介Linux版本Linux结构Linux安装常用命令Linux简介芬兰大学生Linux,出于兴趣,编写了Linux操作系统内核,开源,所有人都能免费得到系统源码,免费使用现在,服务器多数采用Linux操作系统,因为Linux安全,免费将来用Java编写的服务器端程序,很可能要运行在 Linux服务器上.服务器端会尽量安装最少的软件,也不会安装桌面系统,必须用命令行,执行命令来管理服务器.一般需要远程管理服务器,从远程终端登录远程服务器.Linux版本红帽子系列Redh原创 2020-06-03 13:15:05 · 293 阅读 · 0 评论 -
idea使用入门(多图)
文章目录简介安装环境配置配置入口JDK配置maven设置字体设置快捷键设置编码设置插件设置简介安装环境配置配置入口JDK配置maven设置字体设置快捷键设置编码设置插件设置springboot插件tomcat插件...原创 2020-05-30 12:11:17 · 841 阅读 · 0 评论 -
从零起步学VUE
文章目录简介安装vue官网: link.简介Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式js框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的安装vue引入vue.js的两种方式:vue下原创 2020-05-29 08:45:43 · 162 阅读 · 0 评论 -
JAVA常用API
API:Application Programming Interface应用编程接口文章目录API:Application Programming Interface应用编程接口Java.lang.Object :所有类的顶级父类;Java.lang.String:StringBuilder/StringBuffer :Java.lang.Number :日期处理类/date/simpledateformat/Calendar :Java.util.Date :日期类,其每一个实例都用于表示一个确切的时原创 2020-05-26 22:43:18 · 1127 阅读 · 1 评论 -
java基础知识
概括学前知识岗位分析合格的程序员素养:Do more,Do better,Do share!软件开发流程(软件开发生命周期)计算机常识Java语言发展史JDK:Java 语言的软件开发工具包jdk环境变量配置java基础两大数据类型基本类型:引用类型:标识符关键字:在java语言中已经被赋予特定意义的一些单词。运算符运算顺序泛型注释变量概念:可以改变的数,称为变量。包装类数组创建数组:数组的遍历二维数组:数组工具:Arrays面向对象(Object Oriented Programming)封装概述:ext原创 2020-05-24 12:17:51 · 752 阅读 · 1 评论 -
各类常用快捷键
Win10功能快捷键大全:Win10常用快捷键:贴靠窗口:Win + 左/右 > Win + 上/下 > 窗口可以变为 1/4 大小放置在屏幕 4 个角落。Win + R 打开运行对话框Alt+F4 关机快捷键切换窗口:Alt + Tab(不是新的,但任务切换界面改进)。Win+L:锁住电脑或切换用户Win+M:最小化所有窗口Win+减号:缩小(放大镜)Win+加号:放大(放大镜)win+空格:秒显桌面Win+Esc:关闭放大镜Win+Tab:循环切换应用Ctrl+S转载 2020-05-24 10:00:50 · 1270 阅读 · 0 评论