自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 自定义Redis Template

@Configurationpublic class RedisConfig{ //**这是我给大家写好的一个固定模板,大家在企业中,拿去就可以直接用** //自己定义了一个 RedisTemplate @Bean @SupperessWarnings("all") public RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory factory){ // 我们为了自己开发方便,一般直接使用<S

2020-10-29 10:16:32 165 1

原创 SpringBoot集成Redis

SpringBoot整合SpringBoot操作数据:spring-data jpa jdbc mongodb redis!SpringData也是和SpringBoot齐名的项目!说明:在SpringBoot2.x之后,原来使用的jedis就被替换为了lettuce?jedis:采用的直连,多个线程操作的话,是不安全的,如果想要避免不安全的情况!可以使用jedis pool连接池!更像BIO模式lettuce:采用netty,实例可以再多个线程中进行共享,不存在线程不安全的情况!可以减少线程数据

2020-10-21 19:22:06 110

原创 Kafka概述

Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。使用消息队列的好处:解耦允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。2.可恢复性系统的一部分组件失效时,不会影响到整个系统。消息队列降低了进程间的耦合度,所以即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在系统恢复后被处理。3.缓冲有助于控制和优化数据流经过系统的速度,解决生产消息和消费消息的处理速度不一致的情况。4.灵活性 & 峰值处理

2020-10-08 19:38:42 160

原创 通过Jedis理解事务

package com.nanase;import redis.clients.jedis.Jedis;public class TestTX{ public static void main(String[] args){ Jedis jedis=new Jedis("127.0.0.1",6379); JSONObject jsonObject = new JSONObject(); jsonObject.put("rabbit","tank"); jsonObject.

2020-10-08 09:27:41 103

原创 通过Jedis操作Redis

JEDIS我们要使用java来操作Redis什么是Jedis 是Redis官方什么推荐的java连接开发工具!使用java操作Redis中间件!如果你要使用java操作redis,那么一定要对redis十分的熟悉!测试1、导入对应的依赖2、编码测试:连接数据库操作命令断开连接!输出:常用的APIStringListSetHashZset图上第6条为Set keys =jedis.key("*");...

2020-09-28 08:30:22 100

原创 Redis实现乐观锁

监控!watch(面试常问)悲观锁很悲观,什么时候都会出问题,无论做什么都会加锁!乐观锁:很乐观,认为什么时候都不会出问题,所以不会上锁!更新数据的时候去判断一下,在此期间是否有人修改过这个数据,获取version更新的时候比较versionRedis测监视正常执行成功测试多线程修改值,使用watch可以当做redis的乐观锁操作!如果修改失败,获取最新值就好...

2020-09-27 16:54:05 78

原创 Spark RDD 算子整理 转换算子 行动算子

转换算子:filter过滤符合条件的记录数,true保留,false过滤掉map将一个RDD中的每个数据项,通过map中的函数映射变为一个新的元素flatMap先map后flat。与map类似,每个输入项可以映射为0到多个输出项sample随机抽样算子,根据传进去的小数按比例进行有放回或者无放回的抽样reduceByKey将相同的Key根据相应的逻辑进行处理sortByKey/sortBy作用在K,V格式的RDD上,对key进行升序或者降序排序join,leftOuterJoin,

2020-09-22 15:59:18 315 1

原创 spark中自定义分区方法

object MySpark { def main(args: Array[String]): Unit = { val conf = new SparkConf().setMaster("local[2]").setAppName("myjob") val sc = new SparkContext(conf) //numSices分区数 默认会分区,默认使用范围分区,确定key对应键值分配到partition(groupby,reducebykey) val

2020-09-22 13:55:53 167

原创 Spark读取文件并清洗流程

import org.apache.spark.{SparkConf, SparkContext}object MyHome { def main(args: Array[String]): Unit = { val conf = new SparkConf().setMaster("local[2]").setAppName("cust") val sc = new SparkContext(conf) val rdd = sc.textFile("file:///f:/c

2020-09-22 13:47:37 447

原创 Redis基本的事务操作

事务Redis单条命令保证原子性,但是事务不保证原子性!要么同时成功,要么同时失败,原子性!Redis 事务本质:一组命令的集合!一个事务中的所有命令都会被序列化,在事务执行过程中,会按照顺序执行!一次性、顺序性、排他性!执行一些列的命令!----------队列 set set set 执行------Redis事务没有隔离级别的概念!所有的命令在事务中,并没有直接被执行!只有发起执行命令的时候才会执行! EXecredis的事务:开启事务(multi)命令入队

2020-09-17 17:25:24 232 1

原创 scala代码连接mysql数据库

首先用样例类自动实现类构造参数的setter和getter,因为样例类能自动实现其他方法toString()、equals()、copy()、hashCode()、伴生对象中的apply()、unaply()unapply()接受一个对象,从对象中提取出相应的值,主要用于模式匹配中。case class Userinfo(var userid:Int, var username:String, var birthday:String)object BaseDao{//连接数据库获取对象 de

2020-09-15 14:28:54 216

原创 Redis中的Bitmap位图场景详解

Bitmaps位存储统计用户信息,活跃,不活跃!登录、未登录!打卡,365打卡!两个状态的,都可以使用Bitmaps!Bitmaps位图,数据结构!都是操作二进制来进行记录,就只有0和1两个状态!365天=365bit 1字节=8bit 46字节左右。使用bitmap来记录周一到周日的打卡!周一:1 周二:0 周三:0 周四:1 …查看某一天是否有打卡!统计操作,统计打卡的天数!...

2020-09-14 19:07:29 210

原创 scala数组、集合函数大全143条,耗时259200秒

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码

2020-09-10 15:20:22 623

原创 线程自用

public void methodC(){ Object obj = new Object(); synchronized(obj){ for(int i=0; i<5; i++){ System.out.println(Thread.currentThread().getName()+"方法"+i); try{ Thread.sleep(1000); }catch(InterruptedException e){ e.printStackTrace();

2020-09-08 16:15:33 85

原创 Redis中Hyperloglog基数统计

什么是基数?A{1,3,4,5,6,3}B{1,3,5,7,9}基数(不重复的元素)=5,可以接受误差!简介Redis 2.8.9 版本就更新了Hyperloglog 数据结构!Redis Hyperloglog基数统计的算法!优点:占用的内存是固定,2^64不同的元素的技术,只需要费12kb内存!如果要从内存角度来比较的话Hyperloglog首选!网页的UV(一个人访问一个网站多次,但是还是算作一个人!)传统的方式,set保存用户的id,然后就可以统计set中的元素数量作为标准判断!这

2020-09-07 17:01:34 138

原创 Redis中Geospatial地理位置详解

geospatial 地理位置朋友的定位,附近的人,打车距离计算?Redis的Geo 在Redis3.2 版本就推出了!这个功能可以推算地理位置的信息,两地之间的距离,方圆几里的人!可以查询一些测试数据:http://www.jsons.cn/Ingcodeinfo/0706D99C19A781A3/只有6个命令getadd#getadd 添加地理位置#规则:两级无法添加,我们一般会下载城市数据,直接通过java程序一次性导入!#参数 key 值(经度、纬度、名称)getpos获得

2020-09-01 18:32:37 289

原创 Redis中Zest有序集合详解

Zset(有序集合)在set的基础上,增加了一个值,set k1 v1 zset k1 score v1排序如何实现移除rem中的元素获取指定区间的成员数量其余的一些API,如果有需要,可以去查看官方的文档!案列思路: set 排序 存储班级成绩表,工资表排序!普通消息,1,重要消息 2,带权重进行判断!排行榜应用实现,取Top N测试!...

2020-08-31 17:13:40 1099

原创 hive函数大全

hive函数大全文章目录一、关系运算1. 等值比较: =2. 不等值比较: <>3. 小于比较: <4. 小于等于比较: <=5. 大于比较: >6. 大于等于比较: >=7. 空值判断: IS NULL8. 非空判断: IS NOT NULL9. LIKE比较: LIKE10. JAVA的LIKE操作: RLIKE11. REGEXP操作: REGEXP二、数学运算1. 加法操作: +2. 减法操作: -3. 乘法操作: *4. 除法操作: /5. 取余操作: %6.

2020-08-29 18:06:51 211 1

原创 Redis中Hash哈希类型详解

Map集合,key-map! 时这个值是一个map集合!本质和String类型没有太大区别,还是一个简单的 key-value !set myhash field nanase判断hash中指定字段是否存在!#只获得所有的field#只获得所有的valueincr decrhash变更的数据 user name age, 尤其是用户信息之类的,经常变动的信息!hash更适合于对象的存储,String更加适合字符串存储!...

2020-08-24 19:11:22 160

原创 Redis中Set集合类型详解

set中的值是不能重复的!获取set集合中的内容元素个数!rem #移除set集合中的指定元素set #无序不重复集合,抽随机删除指定的key,随机删除key!将一个指定的值,移动到另外一个set集合!微博,b站,共同关注!(交集)数字集合类:查集交集并集微博,A用户将所有关注的人放在一个set集合中!将它的粉丝也放在一个集合中!共同关注,共同爱好,二度好友,推荐好友!(六度分隔理论)...

2020-08-19 13:40:38 142

原创 Redis中List列表类型详解

List*在redis里面,我们可以把list玩成,栈,队列,阻塞队列所有的list命令都是用l开头的,Redis不区分大小写命令移除操作Lindex 获取操作Llen移除指定的值!举例:取关 uidLremtrim 修剪: list 截断rpoplpush #移除列表的最后一个元素,将他移动到新的列表中!lset 将列表中指定下标的值替换为另外一个值,更新操作linsert #将某个具体的value插入到列表中某个元素的前面或者后面!

2020-08-17 19:07:54 181

原创 RedisKey的基本命令和String字符串解析

Redis-Keykey * #查看所有的keyEXISTS NAME #判断当前的key是否存在move name #移除当前的keyEXPIRE name 10 #设置key的过期时间,单位是秒。name #查看当前key的剩余时间type name #查看当前key的一个类型!String(字符串)set key1 v1 #设置值get key1 #获得值keys * #获得所有的keyAPPEND key1 “hello” #追加字符串,如果当前key不存在,就相当于setke

2020-08-14 15:23:23 173

原创 Redis入门

Redis(Remote Dictionary Server),即远程字典服务!首先我们要了解一下Redis能干嘛:1、内存存储、持久化,内存中是断电即失、所以说持久化很重要(rdb、aof)2、效率高,可以用于高速缓存3、发布订阅系统4、地图信息分析5、计时器、计数器(浏览量!)6、…接下来介绍一下Redis的特性:1、多样的数据类型2、持久化3、集群4、事务…我们学习Redis中需要的东西1、官网:https://redis.io/2、中文网:http://www.red

2020-08-12 16:00:15 92

原创 NoSQL的四大分类

KV键值对:新浪:Redis美团:Redis +Tair阿里、百度:Redis+memecache文档型数据库**(bson格式和json一样):**MongoDB(一般必须要掌握)MongoDB是一个基于分布式文件存储的数据库,C++编写,主要用来处理大量的文档!MongoDB是一个介于关系型和非关系型数据中中间的产品!MongoDB是非关系数据库中功能最丰富,最像关系型数据库的!ConthDB列存储数据库HBase分布式文件系统图关系数据库他不是存图形,放的是关系,比如:朋友

2020-08-07 15:00:08 144

原创 NoSQL和RDBMS的结合

Mvc设计模型M model模型V View视图C Controller控制器

2020-08-06 17:26:01 370

原创 spring中bean的三种创建bean对象的方式:细节决定成败

/***账户的业务层实现类*/public class AccountServiceImpl implements IAccountService{ public AccountServiceImpl(){ System.out.println("对象创建了"); } public void saveAccount(){ System.out.println("service中的saveAccount方法执行了。。。“); }}在bean.xml页面中:<!--把.

2020-08-03 20:08:36 320

原创 程序的耦合:工厂模式解耦

public class JdbcDemo1{ public static void main(String[] args){ //1.注册驱动 DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //2.连接操作 Connection con = DriverManger.getConnection("jdbc:mysql://localhost:3306/eesy","root","password"); //3.获取操作数据

2020-08-03 18:50:10 136

原创 ArrayList的源码分析(持续更新)

首先我们来认识一下ArrayList,LinkedList,Vector的相同点和不同点分别是什么:相同点:三个类都是实现了List接口,存储数据的特点相同:存储有序的、可重复的数据。不同点:ArrayList:作为List接口的主要实现类:线程不安全,效率高,底层使用Object[] elementData存储。LinkedList:对于频繁的插入、删除操作,使用此类效率比ArrayList高:底层使用双向链表存储。Vector:作为List接口的古老实现类:线程安全的,效率低;底层使.

2020-07-27 19:53:46 72

原创 快速排序的思维导图

public class Test{ /* *数组的冒泡排序的实现 */ *public class Test{ public static void main(String[] args){ int[] arr=new int[]{43,32,76,-98,0,64,33}; //冒泡排序 for (int i=0;i<arr.length-1;i++){ for(int j=0;j<arr.length-1-j;j++){ if(arr[j]&

2020-07-23 20:12:11 167

原创 不使用idea打jar包的方法

二、两种打jar包的方法1、普通jar包1)project structure =>Artfacts=>+选择 jar=>2)Builder=>builder Artfacts=>build/rebuild=>在工程根目录下新增out目录中查看有xxx.jar2、meavenjar包1)通过Maven projects=>package=>右键run=>在target根目录下有xxx-1.0jar2)配置maven的环境变量,并在dos窗口中

2020-07-18 16:20:19 365

原创 MAVEN创建javaweb项目后的配置

(1)在pom.xml中:修改<maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target>在dependencies中添加外部依赖jar包<!--https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --><dep

2020-07-18 16:11:41 103

原创 mysql数据库的数据库连接池的使用

常见的数据库有:DBCP是Apache提供的数据库连接池,速度相对c3p0较快,但因自身存在BUG,Hibernate3已不再提供支持C3P0是一个开源组织提供的一个数据库连接池,速度相对较慢,稳定性还可以Druid是阿里提供的数据库连接池,据说集DBCP、C3P0、Proxool优点于一身的数据库连接池。Druid(德鲁伊)数据源Druid是阿里巴巴开源平台上的一个数据库连接池实现,它结合了DBCP、C3P0、Proxool等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执

2020-07-09 19:38:13 123

原创 mysql 高级特性的简单入门

aaa

2020-07-09 19:11:49 85

原创 mysql 不能插入中文解决方案

#进入mysql查看当前字符集信息show variables like ‘char%’;#如果出现以下信息,是不允许中文插入的原因character-set-database latinlcharacter-set-server latinl#ctl+c退出mysql返回linux#查找mysql配置文件路径find -name ‘*.cnf’#编辑配置文件vi /etc/my.cnf[client]default-character-set=utf8[mysqld]

2020-07-05 17:42:23 593

原创 mysql 数据库的基本代码

基本代码建库指令show databases; 查当前系统下所有可见库create database [if not exists] DATABASE_NAME; 创建【如果不存在】数据库drop database [if exists] DATABASE_NAME; 删除[如果存在]数据库use DATE_NAME; 进入数据库#建表show tables; 查看当前库...

2020-07-05 17:37:44 438

原创 javaweb css基础知识

css基础知识css其实是一种层叠样式表,我们在web中会使用在html页面嵌入css样式的方法来进行网页的布局。首先我们需要将css与html进行关联,具体的代码如下:<head> <link rel="stylesheet" type="text/css" href="path"/></head>css选择器1、id选择器:#name{...}name具有唯一性,只能使用一次2、class选择器:....

2020-06-28 19:43:37 116

原创 javaweb 块级标签

块级标签块级标签可以独占一行,由我们来决定块级标签的宽度和高度,接下来就每一个块级标签做出基本的说明。首先是标题标签: <h1>标题</h1> <h2>标题</h2> <h3>标题</h3> <h4>标题</h4> <h5>标题</h5> <h6>标题</h6>其次是...

2020-06-28 17:15:20 224

原创 javaweb行内块级标签

行内块级标签表单:<form method="Get/POST" action="where" enctype=""> ...</form>method:GET: 显示提交 POST:隐式提交action:后台一个方法的别名,主要是方便加安全。表单元素<input type=’’" name="" id="" value=""/>text:文本框password:密码框radio:单选按钮checkbox:复选框...

2020-06-21 13:57:11 174

原创 javaweb Html基础行级标签

Html基础标签html是一种超文本标记语言。主要有2种项目类型:1、C/S 即程序型2、B/S 即网页型首先是基础标签的写法:<html><head> <title>标题</title></head><body></body>接下来是a标签,又叫超链接:<a target="" href="地址">提示内容</a>其中target有三种类型...

2020-06-21 10:02:56 271

原创 java自学:反射

反射 反射的主要功能是在程序运行时动态解析类的内部信息:属性,注解,方法,构造结构。我们在java中有一句老话,叫做万物皆对象,其实类也可以看做是一种对象,我们用反射就可以对类进行编程。我们主要要了解一下类的获取方法:1、Class c= Toolkit.class;//通过类名获取类型信息2、Toolkit tl=new Toolkit();//通过对象获取类型信息3Class c =tl.getClass();3、Clas...

2020-06-14 18:52:12 103

空空如也

空空如也

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

TA关注的人

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