javaweb
文章平均质量分 68
木木不会
临兵斗者皆阵列前行。
展开
-
redis高级数据类型 HyperLogLog 、 Bitmap
redis高级数据类型HyperLogLog (超级日志)采用的是一种基数算法,用于完成独立总数的统计占据空间小,无论统计多少数据,只存12k的内存空间不准确的统计算法,标准误差在 0.81%例子: 用于对巨量的数据进行去重复的操作 // 统计20万个重复数据的独立总数 @Test public void testHyperLogLog(){ String redisKey = "test:hll:01"; for (int i = 1原创 2021-09-15 11:14:33 · 109 阅读 · 0 评论 -
springboot 整合 Elasticsearch
Elasticsearch一个分布式的搜索引擎支持各种类型的数据检索搜索速度快,可以提供实时的搜索服务便于水平扩展,每秒可以处理BP级海量数据。Elasticsearch术语意思索引相当于数据库类型数据库中的表(最新版本已弃用)文档一行数据(相当于一个对象全部数据)字段就是一列一个字段然后我们要学习Elasticsearch的话,先下载可以去 www.elastic.co 下载哦!版本问题这里要注意一下哈,7.0后的版本开始逐步遗原创 2021-08-28 20:43:56 · 797 阅读 · 0 评论 -
kafka命令行入门
kafkaKafka是一个分布式的流媒体平台应用:消息系统 、 日志收集 、 用户行为追踪 、 流式处理。特点: 高吞吐量 、 消息持久化 、 高可靠性 、 高扩展性术语:- Broker 、 Zookeeper- Topic 主题 、 Partition 分区 、 Offset 坐标- Leader Replica 主副本 、 Follower Replica 从副本核心功能,就是消息系统哈,也是个消费者生产者模式这里,我们可以先模拟下这个环境,一个线程不停的生产,三个线程不停的原创 2021-08-19 09:23:32 · 109 阅读 · 0 评论 -
利用Redis实现点赞功能
点赞功能咳咳,点赞功能哈,这是一个非常高频的操作,所以我们这里选择 redis 来存取数据哈开发点赞业务因为我们之前用 Spring 整合 Redis 的时候,已经做了 命名的规定。我们利用 RedisTemplate 这个Bean 操作数据库。点赞 // 点赞 public void like(int userId,int entityType,int entityId){ String entityLikeKey = RedisKeyUtil.getEn原创 2021-08-17 10:43:33 · 3385 阅读 · 1 评论 -
Spring整合Redis
Spring整合Redisredis可以用来做缓存等高效率的工作,因为是存在内存中,所有读取速度会非常的快,然后命令也是很简单的,所以项目中就是要多用多练习,但是项目中不能使用命令进行操作redis呀,所以我们要学用 Spring整合Redis导入依赖导包是一切的开始哈,没这步啥也不是 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spri原创 2021-08-15 21:18:04 · 131 阅读 · 0 评论 -
统一记录日志
统一记录日志一听到统一,肯定都第一时间想到 利用 监听器 啦, 今天不是害学了ControllerAdvice 注解解决统一管理异常满,这里能不能用呢,答案是否定的,为什么呢?因为,controllerAdvice只是针对视图层进行的,异常会往上抛,会聚在视图层,所以我们统一记录日志不能用哦我们要大量记录业务层的日志所以我们今天要用到 AOP 面向切面编程的思想来完成哦!!!AOP (Aspect Oriented Programing)这就是面向切面(方面)编程啦!这是一种编程的原创 2021-08-14 16:39:37 · 103 阅读 · 0 评论 -
Spring统一处理异常
Spring统一处理异常异常,一大糟心的玩意,今天学会了spring利用注解进行统计的异常处理,超级舒服。大纲就是这样哈,我们直接给Controller配一个配置类。就能统一起来一起解决异常,为什么呢因为我们是视图层访问业务层 , 业务层访问数据层, 后面的会将异常向上面抛出,所有最后都会聚在 controller视图层然后我们需要准备两个网页, 就是 404 和 500 的网页,直接放在template下面的 error 文件里面即可,发生错误的时候,就可以自动的调用它了搞个请求挑战原创 2021-08-14 15:08:59 · 154 阅读 · 0 评论 -
事务管理(看了要牢记)
事务管理简单的来说,就是我需要对这些事务进行管理,啊哈哈哈哈哈那么为什么会有这种东东呢,因为程序在并发状态下,数据可能同时被多个人进行读取和修改后就会出错,所以需要进行事务的管理并发状态下可能出现的错误 :第一类丢失更新简单来说,就是我读了一个数,然后你也读取了这个数,接着你对他进行修改提交,而我进行了事务的回滚,然后你的更新就被我的更新给覆盖了。第二类丢失更新跟第一类差别不大哈,就是我的更新把你的更新给覆盖了,然后你疑惑这是为什么?因为搞这个的程序员没有处理事务,啊哈哈哈哈哈原创 2021-08-12 17:30:19 · 511 阅读 · 0 评论 -
利用字典树过滤敏感词
过滤敏感词咳咳,我们做项目哈,都会有要做利用侦听器做过滤敏感词的操作哈,其实呢,我们可以直接用equals方法,直接进行匹配,然后过滤掉,就可以了,但是呢,一个网站,往往有很多很多的信息需要做这样的操作,这样就有点拖了哈,所以我们这次利用字典树的形式,进行过滤操作字典树Trie字典树,又称查找树特点: 查找效率超级高,但是消耗内存大应用:可以用于字符串检索,词频统计、字符串排序等等。先来看看是什么样子的吧就是这样的哈,一般我们头结点为空哈,然后每一层的节点是必须不能有相同的节点原创 2021-08-09 18:39:12 · 403 阅读 · 0 评论 -
利用MultipartFile进行文件上传
MultipartFile文件上传今天我们搞一个换头像的设置哈,就是先上传一个图片文件上去,然后对将user对象里面的头像路径修改为上传的图片哈!!!首先第一步,要进行配置,就是这些图片要存放在哪里你得给他一个路径。community.path.upload=e:/javaweb/work/data/upload我就直接放在e盘下的文件了哈!然后开始第二步因为只是对头像图片的修改,所以我们也不需要对数据访问层进行编写但是我们有一个上传头像的业务所以我们在userServic原创 2021-08-07 19:34:28 · 1896 阅读 · 0 评论 -
Interceptor拦截器学习
Interceptor拦截器咳咳,这个东东还是蛮好的哦,在项目里面哈,有很多的子模块需要做相同的请求处理,如果每个子模块都去写的话,那就太麻烦了,而且修改维护起来也不方便,耦合性也高,所以就需要用到我们今天学习的Interceptor拦截器啦,他可以很好的解耦合。现在我们来写一个拦截器吧@Componentpublic class AlphaInterceptor implements HandlerInterceptor { private static final Logger l原创 2021-08-07 11:01:13 · 251 阅读 · 0 评论 -
利用Kaptcha生成验证码
Kaptcha生成验证码原来搞验证码的时候,都是用java画笔去搞,感觉好麻烦的有木有,今天带大家来看看kaptcha这个小工具吧,他可方便多啦!!!第一步哈,先导包,没有包啥也干不了 <dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifactId> <version>2.3.2</version原创 2021-08-06 11:08:53 · 343 阅读 · 1 评论 -
Spring Boot 框架学习
Spring Boot 快速入门Spring Boot是一个便捷搭建 基于spring工程的脚手架;作用是帮助开发人员快速搭建大型的spring 项目。简化工程的配置,依赖管理;实现开发人员把时间都集中在业务开发上。简单入门实现步骤:创建工程;添加依赖(启动器依赖,spring-boot-starter-web);创建启动类;创建处理器Controller;测试添加依赖<?xml version="1.0" encoding="UTF-8"?><project原创 2021-07-28 17:01:12 · 90 阅读 · 0 评论 -
前端框架Vue学习
前端框架VueVue框架是一套用于构建用户界面的渐进式框架。采用的是MVVM模式,即:通过视图与模型的双向绑定,简化前端操作。渐进式:指的是可以选择性的使用该框架的一个或多个组件,不对你的使用进行要求。那么前端框架三巨头 : Vue.js React.js AngularJsvue.js 的下载 (vpm下载)这里我们通过vpm的方式下载哈,首先要使用vpm,我们先下载nodejs ,下载好后我们进去idea,这样显示,我们就可以了,然后我们的idea就会多一个package原创 2021-07-25 18:16:48 · 2705 阅读 · 12 评论 -
MyBatis数据封装(注解开发)
MyBatis数据封装(注解开发) 学完xml以后呢,老师无情的来了一句,xml用的不大多了哦,大家现在更喜欢用注解开发拉,嘿嘿,我真**了,xml打吐了都快。不过注解我也更喜欢注解拉,让我们重新开始吧!!!咳咳,搞注解前哈,我们还是要配置一下的哈以前我们配置那个核心文件处理xml的关系的时候用的是 <!--加载映射文件--> <mappers> <mapper resource="junmu/mapper/UserMapper.原创 2021-07-21 00:10:01 · 392 阅读 · 1 评论 -
MyBatis数据封装
MyBatis数据封装 xml语法挺多的,如果用的不勤快的话,可能过一会就全忘记了,还是注解方便呀,记得快,用的快,但是xml还是要好好学的哦当我们需要实现动态sql语句实现的时候,我们就需要使用到其他的标签了,比如,条件选择,还有一次性选多种条件的那种。<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://myb原创 2021-07-20 19:40:34 · 773 阅读 · 0 评论 -
MyBatis快速入门
MyBatis快速入门刚刚开始做项目的时候呀,老是用jdbcTemplate来实现dao层与数据库的交互,但是那样确实是与代码耦合了,那么想要解决耦合问题呢。那当然是要选择 配置文件 啦,所有我们来学习学习mybatis的快速入门吧,当然啦,他可不是配置文件哈,啊哈哈哈MyBatis作为dao层的框架还是超级好用的哦,那么我们来看看他的开发吧只需要六步,就能玩转MyBatis啦先来添加MyBatis的坐标吧,emmm就是导入依赖啦第二就是要去创建一个数据表拉,这个我搞个user来演示哈编原创 2021-07-18 11:28:38 · 83 阅读 · 4 评论 -
JDBC连接池Druid操作&JDBCTemplate
JDBC连接池Druid操作&JDBCTemplate首先哈,要使用Druid连接池以及JDBCTemplate,那么肯定是先要导入包的先来看看是哪一些包吧咳咳,就是这些啦,是不是不知道哪里有这些包?那么就上maven官网下载吧,里面有jar,也有依赖,这里我直接把所需依赖放下面吧!!<dependency> <groupId>commons-logging</groupId> <artifactId>commons-l原创 2021-07-06 10:09:37 · 349 阅读 · 0 评论 -
AJAX(同步和异步)
AJAXAJAX 是 asynchronous javascript and xml 的简称;( 异步的 js 和 xml )它可以使用js访问服务器,而且是异步访问服务器给客户端的响应一般是整个页面,一个完整的html页面,但是在AJAX中,因为是局部刷新,那么服务器就不用响应整个页面。json: 它是js提供的数据交互格式,他在ajax中最受欢迎。同步和异步同步:发一个请求,就要等待服务器的响应结束,然后才能发送第二个请求,中间这段时间就是等待。刷新的是整个页面。异步:发一个请求以后原创 2021-05-26 16:02:23 · 405 阅读 · 1 评论