- 博客(27)
- 收藏
- 关注
原创 布隆过滤器:提高效率与降低成本的秘密
在互联网中,我们经常遇到需要在大量数据中判断目标数据是否存在的情况。例如,在网络爬虫中,我们需要判断某个网址是否已经被访问过。为了实现这一功能,通常需要使用一个容器来存储已访问过的网址。如果将这些数据直接存储在磁盘中,每次判断都要进行磁盘查询,这将导致大量的IO操作,效率较低。因此,我们希望将这些数据保存在内存中。在数据量较小的情况下,可以使用Redis来存储这些数据。但是,当数据量超过上千万时,将会消耗几GB甚至几十GB的内存空间。然而,对于仅需要记录数据是否存在的情况而言,这样使用大量内存显然是浪费的。
2023-10-29 23:26:32
59
原创 知识点范围
1、redis数据类型常使用的数据类型如何使用的什么场景使用的为什么使用key的删除策略redis优势和缺点redis持久化 RDB和AOF区别redis丢失,如何回写什么是缓存穿透?如何避免?什么是缓存雪崩?何如避免?2、多线程线程扭转:wait() sleep() yield() join()用法与区别Java线程具有五中基本状态:新建状态(New)、就绪状态(Runnable)、运行状态(Running)、阻塞状态(Blocked)、死亡状态(Dead)并发编程三要素:原
2021-01-23 16:28:06
206
原创 数据库索引
说到索引,很多人都知道“索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址,在数据十分庞大的时候,索引可以大大加快查询的速度,这是因为使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的物理地址然后访问相应的数据。”但是索引是怎么实现的呢?因为索引并不是关系模型的组成部分,因此不同的DBMS有不同的实现,我们针对MySQL数据库的实现进行说明。本文内容涉及MySQL中索引的语法、索引的优缺点、索引的分类、索引的实现原理、索引的使用策略、索引的优化几
2021-01-23 16:27:10
156
原创 Linux基本命令
常用指令命令结果ls显示文件或目录-l列出文件详细信息l(list)-a列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir创建单个目录-p可创建多层目录,若无父目录,则创建p(parent)cd切换目录touch创建空文件echo创建带有内容的文件cat查看文件内容cp拷贝mv移动或重命名rm删除文件(不加-f会询问是否确定
2020-10-24 18:20:00
183
原创 大数据海量数据更新策略
问题总结:面临场景Spark面对海量数据的增量更新也是乏力的,例如一批数据初始化为4000万,大约10G,日增量100MB(增量数据分为两部分:新增与老数据变更),那么要如何才能将这100MB数据更新至数据库中?之前方案加载日增量100MB加载库中10G使用left join求出增量部分增量部分写入库中小结:面对上述问题,尽管我们是做大数据的也束手无策,只能牺牲性能来换取业务增量。解决方案重点1:可以准确获取日增量数据重点2:MongoDB特性,_id重点3:Spa
2020-10-24 17:45:46
1517
原创 MongoDB学习使用
windows安装下载地址进入到这个页面,如果没有下载,F5刷新到下载解压到指定文件夹内两种启动方式:1、命令行+参数mongod --dbpath=…\data\db2、命令行+配置文件图形界面下载地址:https://www.mongodb.com/download-center/compassLinux安装下载地址先把安装包上传到cd /data 目录下1.在...
2020-04-16 18:41:44
182
原创 Jmeter添加测试用例
添加线程组右键点击“测试计划” -> “添加” -> “Threads(Users)” -> “线程组”这里可以配置线程组名称,线程数,准备时长(Ramp-Up Period(in seconds))循环次数,调度器等参数:线程组参数详解:线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。Ramp-Up P...
2020-04-16 14:52:53
1036
原创 token令牌的理解
定义Token, 令牌,代表执行某些操作的权利的对象在计算机身份认证中是令牌(临时)的意思,在词法分析中是标记的意思。一般作为邀请、登录系统使用。既是标记的意思,不同的用户有不同的标记,赋有不同的权力生成Token 是在服务端产生的。如果前端使用用户名/密码向服务端请求认证,服务端认证成功,那么在服务端会返回 Token 给前端。前端可以在每次请求的时候带上 Token 证明自己的合...
2020-04-16 14:37:41
821
原创 Java操作时间工具
package com.jhkj.application.common.utils;import java.text.DateFormat;import java.text.ParseException;import java.text.ParsePosition;import java.text.SimpleDateFormat;import java.util.Calendar;...
2020-04-16 14:35:47
108
原创 Robot Framework 环境搭建步骤方式
安装 Python访问 Python 官方网站由于 Robot Framework 框架是基于 Python 语言开发的,要想使用 Robot Framework 首先需要有 Python环境。在学习和使用 Python 时,首先会碰到 Python 版本的问题,这在其它编程语言中是不存在的,目前 Python分为 Python2 和 Python3 两个版本。之所以会有两个版本并存的情...
2020-04-16 11:53:12
588
原创 IDEA搭建SpringCloud项目
SpringCloud简单搭建在微服务的架构体系中,SpringBoot只能用于应用开发,而想要实现完整的微服务架构,还需要实现架构中的服务注册与发现,API网关和负载均衡等功能。接下来通过SpringCloud来实现架构中的这些功能。在创建项目之前,需要了解的是SpringCloud与SpringBoot的版本号区别是:SpringBoot是通过数字来区分版本号的,而SpringCloud...
2020-04-16 11:41:29
6605
3
原创 配置JDk
一、JDK下载从官网下载百度(或其它搜索引擎)搜“jdk 下载”点击进入下载页页面地址我们这里选择最后一个windows64位的安装包,点击红框内右边的jdk-8u191-windows-x64.exe就可以下载了。二、jdk安装找到自己下载的JDK,双击安装(在弹出的对话框中,win10版本选择是):3.点击确定4.修改Jre路径,建议跟Jdk放在同一路径,但不可以...
2020-04-16 11:16:31
183
原创 Java常用框架
十大常用框架:一、SpringMVC二、Spring三、Mybatis四、Dubbo五、Maven六、RabbitMQ七、Log4j八、Ehcache九、Redis十、Shiro延展阅读:一、SpringMVCSpring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦...
2019-12-31 18:57:50
466
转载 位(bit)、字节(byte)、字符、编码之间的关系
1、位:数据存储的最小单位。每个二进制数字0或者1就是1个位;2、字节: 8个位构成一个字节;即:1 byte (字节)= 8 bit(位); 1 KB = 1024 B(字节); 1 MB = 1024 KB; (2^10 B) 1 GB = 1024 MB; (2^20 B) 1 TB = 1024 GB; (2^30 B)3、字符: a、A、中、+、*、の...
2019-12-03 14:07:51
430
原创 BigDecimal使用
运算方式加法:add()函数减法:subtract()函数乘法:multiply()函数除法:divide()函数绝对值:abs()函数注意1)System.out.println()中的数字默认是double类型的,double类型小数计算不精准。2)使用BigDecimal类构造方法传入double类型时,计算的结果也是不精确的!因为不是所有的浮点数都能够被精确的表示成一...
2019-11-21 11:10:49
192
原创 Redis理解
Redis 简介Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value非关系型数据库。Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis支持数据的备份,即master-slave模式的数据备份。Redis不仅仅支持简单的key-value类型的...
2019-11-19 15:08:11
269
原创 内存泄漏与内存溢出
内存泄漏内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果内存溢出内存溢出(Out Of Memory,简称OOM)是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于能提供的最大内存。此时程序就运行不了,系统会提示内存溢出,有时候会自动关闭软件,重启电脑...
2019-11-19 12:08:40
107
原创 Map遍历
public class MapDemo { public static void main(String[] args) { Map<String,String> map = new HashMap<>(); map.put("A","测试1"); map.put("B","测试2"); map.pu...
2019-11-13 12:15:04
96
原创 设计模式之单例模式
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。毫无...
2019-11-13 12:09:55
106
原创 二维码生成
maven依赖<!-- 二维码 --><dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.3.0</version></dependency...
2019-07-11 16:08:39
103
原创 导出pdf文件
需要的maven依赖<dependency> <groupId>com.lowagie</groupId> <artifactId>itext</artifactId> <version>2.1.7</version> </depen...
2019-07-09 20:17:35
610
原创 字符串代码处理
//去掉小数点后多余的0public static String subZeroAndDot(String s){if(s.indexOf(&quot;.&quot;) &amp;gt; 0){s = s.replaceAll(“0+?&amp;amp;quot;,&amp;amp;quot;&amp;amp;quot;);//去掉多余的0s=s.replaceAll(&amp;amp;qu
2019-01-08 18:18:26
305
原创 Mysql 部分优化
Mysql 部分优化使用范式会有哪些优缺点:优点:避免数据冗余减少数据的空间减轻维护数据完整性的麻烦范式设计的表通常比较小,可以更好的利用内存的优势,提高我们的检索速度缺点:经过范式设计出来的表,会很多,越严格来遵循,表就越多多表关联会慢,可能会导致索引失效范式越高,对操作性能可能就越低反范式设计:不符合3NF的设计就是范式在NOSQL中大量运用运用场景:检...
2018-11-15 14:13:08
158
原创 使用阿里邮箱发送带Excel邮件
使用阿里邮箱发送带Excel邮件需要的maven依赖 &amp;amp;amp;lt;!--导出Excel--&amp;amp;amp;gt; &amp;amp;amp;lt;dependency&amp;amp;amp;gt; &amp;amp;amp;lt;groupId&amp;amp;amp;gt;org.apache.poi&am
2018-10-31 18:45:50
2104
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人