自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Redis的三种特殊数据类型及使用场景

geospatial地理位置经纬度使用场景:朋友定位,附近的人,打车距离Hyperloglog基数:集合中不重复的元素Redis 2.8.9 版本就更新了 Hyperloglog 数据结构!Redis Hyperloglog 基数统计的算法!优点:占用的内存是固定,2^64 不同的元素的技术,只需要废 12KB内存!如果要从内存角度来比较的话 Hyperloglog 首选...

2020-04-20 09:37:52 260

原创 Redis的五大数据类型及使用场景

Redis-key# 查看所有的keykeys *# set keyset name ku# 判断当前key 是否存在EXISTS name# 移动当前的key到另一个数据库,如果存在当前key,移动失败move name 1# 设置key的过期时间,单位是秒EXPIRE name 10# 查看当前key的剩余时间ttl name# 查看当前key的类型t...

2020-04-19 11:41:17 223

转载 Redis是单线程

Redis 是单线程的!明白Redis是很快的,官方表示,Redis是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程来实现,就使用单线程了!所有就使用了单线程了!Redis 是C 语言写的,官方提供的数据为 100000+ 的QPS,完全不比同样是使用 key-vale的Memecache差!Redis 为什么单线程还这么快...

2020-04-18 13:49:39 163

转载 Redis简介、基础命令

Redis是什么Redis(Remote Dictionary Server),远程字典服务是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。redis会周期性的把更新的数据写入磁盘或者修改操作写入追加的记录文件,并且在此基础上实现master-slave主从同步。免费开源,也被人们称之为结构...

2020-04-18 13:32:19 138

转载 NoSQL简介

1.Nosql概述为什么要用Nosql单机时代,网站访问量,不大,单个数据库完全够用。但是后来,数据量太大,一个机器放不下;数据的索引,一个机器内存也放不下。读写混合的数据库,一个服务器承受不了。Memcached(缓存)+MySql+垂直拆分(读写分离)网站80%的情况,都在读,利用缓存保证效率分库分表+水平拆分+MySQL集群如今的时代,数据可能是音乐、热榜。M...

2020-04-17 22:43:21 194

原创 vue-router

1.安装//在项目里安装vue-router 保存配置到dev配置文件里cnpm install vue-router --save-dev2.使用在初始的webpack项目中,创建组件//路径/components/main.vue<template> <html> <div>首页</div> </htm...

2020-04-16 22:15:39 88

原创 webpack测试案列

1. npm打包工具2.webpack打包模块,也可以降级,使ES6规范,变为ES5规范,可以让浏览器识别2.1 下载webpack包npm install webpack -gnpm install webpack-cli -g//查看版本webpack -v管理员权限下,运行cmd2.2 webpack打包项目案列创建项目:webpack-study...

2020-04-16 21:13:10 99

原创 vue通信与计算属性

1.axios通信<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>Vue 测试实例 - 菜鸟教程(runoob.com)</title> <script src="https://cdn.staticfile.org/vue...

2020-04-14 22:24:47 101

原创 异常

1.ThrowableThrowable 是 Java 语言中所有错误或异常的超类,在 Java 中只有 Throwable 类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。实例分为 Error 和 Exception 两种。1.1 ErrorError 类是指 java 运行时系统的内部错误和资源耗尽错误。应用程序不会抛出该类对象。如果出现...

2020-04-13 22:06:36 93

原创 finally

1.finally块通常释放资源等操作放在finally中,比如流的关闭/** * finally块 * finally块只能定义在异常处理机制的最后,可以直接 * 跟在try后面或者最后一个catch之后. * * finally可以保证只要程序运行到try当中,那么无论 * try当中的代码片段是否出现异常,finally块里面的 * 代码都必然执行. * 通常把释...

2020-04-13 21:53:35 214

转载 Vue-Cli程序创建

1.需要的环境安装vue-clicnpm install vue-cli -gwebpack可以将包打成Es5降级使用,因为很多还是es5以管理员身份运行

2020-04-12 00:34:32 81

转载 vue程序演示

1.第一个程序<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><script src="https://cdnjs.cloudflare.com/ajax/...

2020-04-11 23:55:13 199

转载 前端框架Vue简介01

1.前端三要素HTML:超级文本标记语言 (Hyper Text Markup Language),决定网页的结构和内容CSS:层叠样式表(Cascading Style Sheets),设计网页的表现形式,现在都用CSS预处理器JavaScript: 是一种弱类型脚本语言,其代码不需要编译,而是由浏览器解释运行,用来控制页面的行为1.1 什么是CSS预处理器用一种专门...

2020-04-11 23:16:19 584

转载 SSH协议

一、什么是SSH协议简单说,SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界...

2020-04-11 16:23:08 379

原创 http和https的区别

配置SSL,采用https方式访问程序-https://www.cnblogs.com/mikespook/archive/2004/12/22/80591.html

2020-04-11 15:58:30 187

转载 数字签名和数字证书

“数字签名”(digital signature)和"数字证书"(digital certificate)数字签名: 摘要采用私钥加密,保证数据没被篡改私钥和公钥成对产生,具有唯一性,一把私钥只能由一把公钥打开,相反也是如此信息经过hash函数生成摘要,摘要经过私钥加密接收信息方采用公钥解密得到的摘要,和接受到信息经过hash函数生成的摘要,进行对比,保证数据没被篡改数字证...

2020-04-11 15:41:36 173

原创 密码学

1.密码学1.1加密方式单钥加密(private key cryptography),加密和解密过程都用同一套密码。莫尔斯电码也可以看作是一种私钥加密方法。通用的单钥加密算法为DES(Data Encryption Standard)双钥加密(public key cryptography),加密和解密过程用的是两套密码。双钥加密算法为RSA( Rivest-Shamir-Adl...

2020-04-11 14:11:37 199

原创 ELK-windows环境搭建

1.ElasticSearch下载链接1:www.elastic.co,太慢下载链接2:关注狂神公众号获取,视频学习https://www.bilibili.com/video/BV17a4y1x7zq?p=6版本:7.6.1启动:添加 config/elasticsearch.yml//开启跨域,可以让所有人访问,为elasticsearch-head-master可视化界面...

2020-04-09 23:08:13 321

原创 final

1.修饰类当用final去修饰一个类的时候,表示这个类不能被继承。注意:a. 被final修饰的类,final类中的成员变量可以根据自己的实际需要设计为fianl。b. final类中的成员方法都会被隐式的指定为final方法。说明:在自己设计一个类的时候,要想好这个类将来是否会被继承,如果可以被继承,则该类不能使用fianl修饰,在这里呢,一般来说工具类我们往往都会设计成为一个fi...

2020-04-07 10:39:48 92

原创 static

1.static简介(1)特点:1、static是一个修饰符,用于修饰成员。(成员变量,成员函数)static修饰的成员变量 称之为静态变量或类变量。2、static修饰的成员被所有的对象共享。3、static优先于对象存在,因为static的成员随着类的加载就已经存在。4、static修饰的成员多了一种调用方式,可以直接被类名所调用,(类名.静态成员)。5、static修饰的...

2020-04-07 10:33:15 603

原创 二进制

二进制初识二进制案例:/* * 认识一下2进制 * 数据在计算机中是2进制的! * int long 等数据都是2进制的! */int n = 50;//110010//toBinaryString 将一个在内存中实际的2进制//转换为字符串! 就是输出n在内存中的情况System.out.println( Integer.toBinaryString(n));什么是...

2020-04-07 10:06:53 220

原创 注解、反射、泛型

1.注解什么是注解Annotation是jdk5出来的技术作用:不是程序本身,对程序做出解释可以被其它程序读取常用注解:@Override \@SuppressWarnings 抑制警告@Deprecated 提示过时,1.8已停用元注解-meta-annotation解释注解的注解,可以再java.lang.annotation中找到四大元注解:...

2020-04-06 20:51:49 94

原创 死锁命令查看

public class DeadLockDemo { public static void main(String[] args) { String LockA = "lockA"; String LockB = "lockB"; new Thread(new MyThread(LockA,LockB),"A").start(); ...

2020-04-04 23:13:44 375

原创 自创锁

自旋锁的由来/** 自旋锁* */public class SpinLockDemo { AtomicReference<Thread> atomicReference = new AtomicReference<>(); //加锁, public void myLock(){ Thread thread = Thr...

2020-04-04 22:26:56 83

原创 深入理解CAS

1.什么是CAScompareAndSet方法public class CasDemo { public static void main(String[] args) { AtomicInteger atomicInteger = new AtomicInteger(2020); //比较并交换:与期望的值比较,相等则更新,底层与native方法...

2020-04-04 21:48:27 75

原创 ForkJoin简介

可以将任务拆分//RecursiveTask 递归任务public class ForkJoinDemo extends RecursiveTask<Long> { private Long start ; private Long end; private Long temp = 1000000L; public ForkJoinDemo...

2020-04-04 20:50:34 78

原创 单例模式的升级玩法

1.DCL 双检索模式的懒汉单例模式1.1 第一种public class SingleDemo { private volatile static SingleDemo singleDemo; private SingleDemo(){ //System.out.println(Thread.currentThread().getName()); }...

2020-04-04 18:58:01 98

原创 Volatile关键字

1. volatile保证可见性:程序会去主内存读取最新的改变public class JMMDemo { /* * 不加volatile关键字,main线程将num改变,并写回主内存中, * 但是A线程并没有去主内存读取最新的num值,所以线程没有中断 * * volatile:提醒线程A去主内存读取最新值 * */ private...

2020-04-04 11:40:14 76

原创 理解JMM

1.JMMjava内存模型,不存在的东西,概念,约定2.关于JMM同步的一些约定线程解锁前,必须把共享变量立刻刷回主内存中线程加锁前,必须读取主内存中的最新值到工作内存加锁和解锁是同一把锁3.JMM同步八种操作(1)lock(锁定):作用于 主内存的变量,把一个变量标记为一条线程独占状态(2)unlock(解锁):作用于 主内存的变量,把一个处于锁定状态的变量释放出来,释放...

2020-04-04 10:13:59 150

原创 JUC版-线程池

三大方法、七大参数、四种拒绝策略1.三大方法public static void main(String[] args) { //单个线程 // ExecutorService threadPool = Executors.newSingleThreadExecutor(); //固定线程 // ExecutorService t...

2020-04-03 10:56:46 76

原创 流式计算

1.什么是流式计算大数据 = 存储 + 计算存储:map 、mysql 等计算:交给流来计算2.举例lambda表达式、链式编程、函数式接口、Stream流式计算public class StreamDemo { public static void main(String[] args) { User user1 = new User(1,"a",21...

2020-04-02 23:01:51 718 1

原创 jdk1.8新特性-四大函数式接口

-老的特性 :泛型、枚举、反射、注解新时代程序员必会jdk1.8:lambda表达式、链式编程、函数式接口、Stream流式计算1.函数式接口只有一个方法的接口简化编程模型,在新版本中大量使用可以用lambdaFunction 、Predicate、Supplier、Consumer@FunctionalInterfacepublic interface Runnable ...

2020-04-02 22:13:16 827

原创 读写锁

ReadWriteLock读写锁:更加细粒度的锁读-读:可以共存读-写:不能共存写-写:不能共存JUC的目的,就是将锁的粒度变的更细,提高并发效率;至少读-读,可以共存public class ReadWriteLockDemo { public static void main(String[] args) { //MyCache myCache = n...

2020-04-02 12:28:30 858

原创 并发辅助类

1.减计数器-CountDownLatch允许一个或多个线程等待直到在其他线程中执行的一组操作完成的同步辅助。public class CountDownLatchDemo { public static void main(String[] args) throws InterruptedException { //定义:允许一个或多个线程等待直到在其他线程中...

2020-04-02 12:24:15 104

原创 BlockingQueue阻塞队列

1.什么是阻塞队列写入:当队列满之后,阻塞等待取:当队列为空,阻塞等待生产者创建2.什么时候使用多线程并发处理,线程池

2020-04-01 22:57:18 92

原创 SpringMVC框架

1. SpringMVC框架的作用MVC = Model(数据模型) + View(视图) + Controller(控制器)SpringMVC框架主要解决了V与C的交互问题,也就是控制器(Controller)如何接收客户端提交的请求,最终如何给予客户端响应!1.1解决了什么问题在Java EE中,传统的控制器就是Servlet组件!假设某个项目中有注册功能、登录功能、修改资料功能、修改...

2020-03-31 12:31:40 62

原创 Spring

1.spring 框架1.1 简介框架(Framework):一系列的jar包,同时约定了实现某个功能的编程方式,可能与原有的编程方式并不相同!每个框架都解决了某些特定的问题!Spring框架解决的问题:解决了创建和管理对象的问题,实现了解耦!解耦:解除对象的之间的耦合!即降低对象之间的依赖关系!依赖:在一个对象的工作过程中,需要使用到另一个对象,则称之为依赖另一个对象! /...

2020-03-31 12:15:52 91

原创 集合并发问题

1.ArrayList 是并发不安全的public class ListDemoOne { public static void main(String[] args) { List<String> lists = new CopyOnWriteArrayList<>(); /* **并发下ArrayList...

2020-03-30 20:33:19 176

原创 git版本控制和svn的区别

1.关于版本控制什么是“版本控制”?我为什么要关心它呢? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。 一般程序员对保存着软件源代码的文件作版本控制,但实际上,你可以对任何类型的文件进行版本控制。2.本地版本控制系统人们很久以前就开发了许多种本地版本控制系统,大多都是采用某种简单的数据库来记录文件的历次更新差异。最流行的是RCS,它的工作原理是在硬盘...

2020-03-30 12:58:38 712

原创 生产者和消费者关于锁的案例

1. 老版案例public class tets2 { public static void main(String[] args) { Data data = new Data(); new Thread(()->{for(int i = 0 ;i<10;i++) { try { dat...

2020-03-29 23:52:22 158

空空如也

空空如也

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

TA关注的人

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