自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis 发布订阅

Redis 发布订阅*通信,队列 发送者===== 订阅者*Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub) 发送消息,订阅者(sub)接收消息。Redis 客户端可以订阅任意数量的频道订阅/发布消息图:第一个:消息发送者,第二个:频道 第三个:消息订阅者!下图展示了频道channel1,以及订阅这个频道的三个客户端-- client2,client5 和client1 之间的关系:当有新消息通过PUBLISH 命令发送给频道channel1 时,这个消息就

2021-08-15 14:53:26 903

原创 Redis 持久化(RDB 与AOF)

Redis 持久化 面试和工作,持久化都是重点! Redis 是内存数据库,如果不讲内存中的数据库保存到磁盘,那么一旦服务器进程退出 服务器中的数据库状态也会消失,所以Redis 提供持久化功能!什么是RDB在指定的时间间隔内讲内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。...

2021-08-15 14:13:11 1020 2

原创 Redis 配置文件 redis.config详解

Redis config 详解单位1.配置文件unit 单位对大小写不敏感!包含就是好比我们学习Spring,Import,include网络bind 127.0.0.1 #绑定ipprotected-mode yes #保护模式,一般打开port 6379 # 端口设置通用配置Genealdaemonize yes #以守护进程的方式运行,默认是no,我们需要自己开启yes!supervised no # 去管理守护线程。默认是no通用GENERAL

2021-08-12 22:48:05 1141

原创 Redis 中级学习,学习使你快乐05(redis实现乐观锁)

监控! watch (面试常问)悲观锁:很悲观,认为什么时候都会出问题,无论干什么都会加锁!会影响性能的!乐观锁:很乐观,认为什么时候都不会出问题,所以不会上锁!更新数据的时候去判断一下,在此期间是否有人修改过这个数据,相对性能会好很多。拓展:mysql 通过获取 version 来做乐观锁!(mysql)更新的时候比较versionRedis 监视测试正常执行成功!127.0.0.1:6379> set money 100OK127.0.0.1:6379> s.

2021-08-10 22:30:12 339

原创 Redis 中级学习,学习使你快乐04(redis事务)

事务Redis事务本质:一组命令的集合!一个事务中的所有的命令都会被序列化,在事务执行过程中,会按照顺序执行!一次性,顺序性,排他性! 执行一系列的命令!---- 队列 set set set 执行---Redis 事务没有隔离级别的概念!所有的命令在事务中,并没有直接被执行! 只有发起执行命令的时候才会执行!ExecRedis 单条命令是保证原子性的,但是事务不保证原子性!redis的事务开启事务(Multi)命令入队()执行事务(exec)锁:Redis 可以实现乐观锁

2021-08-09 22:52:34 317

原创 Reids入门基本命令,学习使我快乐03,关于reidis 的一些操作命令(三种特殊数据类型)

Zset(有序集合)在set 的基础上,增加了一个只,set k1,v1 zet k1 score1 v1127.0.0.1:6379> zadd myset 1 one # 添加一个值(integer) 1127.0.0.1:6379> zadd myset 2 two(integer) 1127.0.0.1:6379> zadd myset 3 two 4 three # t添加多个值(integer) 1127.0.0.1:6379> ZRANGE

2021-08-09 22:06:35 417

原创 Reids入门基本命令,学习使我快乐02,关于reidis 的一些操作命令(五大基本数据类型)

Redis 五大数据类型官方文档全段翻译:Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。我们现在讲解所有的命令大家单点登录Redis-Key127.0.0.1:6379[1]> se

2021-08-08 14:01:00 501

原创 Redis 入门学习,学习使我快乐01

Redis 入门Redis 是什么?Redis(Remote_Dictionary Server) ,即远程字段服务!是一个开元的使用ANSI C语言编写,支持网咯,可给予内存亦可持久化的日志型,KEY-value 数据库,并提供多种语言的API免费和开源!当下最热门的NOSQL 技术之一!,也被人门称之为结构化数据库!Redis 能干嘛?内存存储,持久化,内存中断电即失,所以说持久化很重要(rdb,aof)效率高,可以用于高速缓存发布订阅系统地图信息分析计时器,计数器(浏览

2021-08-01 11:31:04 375

原创 Mysql基本命令3 授权,备份,数据库设计

权限管理和备份SQL yog 可视化管理各位小伙伴大家好,上次mysql 安装教程如果还有问题的可以私信我,有几个小伙伴有问题已经帮忙解决了!** 权限管理和备份 **点击这个人头添加用户主机选什么登录的时候就填什么点击创建可以看到对应权限SQL 命令操作授权用户表:mysql.user本质:新增用户本质上就是对这张表进行增删改查,基本命令授权-- 创建用户 CREATE USER 用户名 IDENTIFIED BY '密码'CREATE USER kua

2021-07-12 21:50:54 453 4

原创 面试被问到HashMap 底层原理?看完这边文章绝对不慌!

快速入门存储:put 方法 put(key,value)查询 : get 方法 get(key)java 代码如下import java.util.HashMap;import java.util.Map;public class App { public static void main(String[] args) { Map<String,String> map = new HashMap<>(); map.put("刘一",

2021-07-11 22:16:37 251201 154

原创 mysql存储引擎索引实现

存储引擎是形容表的,一般来说默认就是INNODB,一般来说mysql 是将数据存在磁盘上面的,一 一对应如下:innodb 存储引擎 下的文件大家看到没,test_innodb_lock 表对应的是两个文件: 分别是test_innodb_lock.frm ,test_innodb_lock_ibd 文件test_innodb_lock.frm:表结构文件test_innodb_lock_ibd : 索引和数据文件下面给大家举个例子:test_innodb_lock_ibd 文件

2021-07-04 22:24:52 409 2

原创 MYSQL索引

索引的分类在一个表中,主键索引只有一个,唯一索引可以有多个主键索引(PRIMARY KEY)唯一的表示,主键不可以重复,只能有一个列作为主键唯一索引 (UNIQUE KEY)避免重复的列出现,唯一索引可以重复,多个列都可以标识为 唯一索引常规索引(KEY/INDEX)默认的,index ,key 关键字来设置全文索引 (FullText)在特定的数据引擎下才有,MyLSAM快速定位数据基础语句-- 索引的使用-- 1. 在创建表的时候给字段增.

2021-07-03 12:17:24 350 1

原创 我还在搬砖

生活生活就是或者干活!![在这里插入图片描述](https://img-blog.csdnimg.cn/20210629133227809.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zOTQzNjU1Ng==,size_16,color_FFFFFF,t_70)...

2021-06-29 13:33:23 384

原创 MYSQL事务

事务要么都成功,要么都失败SQL 执行 A给B 转账 A1000 —> B200 (A 转给B 200 块钱)SQL B 收到A 的钱 A 800 --> B400 (B 收到A 200 块钱)将一组SQL 放在一个批次中去执行事务有一个原则:ACID 原则,原子性,一致性,隔离性,持久性 (脏读,幻读)原子性(Atomicity)要么都成功,要么都失败一致性(Consistency)事务前后的数据完整性要保证一致,1000持久性(Durabi

2021-06-27 21:57:59 308 2

原创 Mysql 基本命令2

创建数据表1.通过sql 命令创建表-- 字符串使用单引号-- 所有的语句后面加,(英文的), 最后一个不用加-- id 列自增为空CREATE TABLE IF NOT EXISTS `student`( `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号', `name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名', `pwd` VARCHAR(20) NOT NULL

2021-06-26 20:50:16 352 2

原创 Mysql 基本命令

连接数据库命令行连接!mysql -uroot -p123456 --连接数据库update mysql.user set authentication_string=password('123456') where user='用户名' and Host ='localhost'; -- 修改用户密码flush privileges; --刷新权限 -- 所有的语句都使用; 结尾 show databases; -- 查看所有的数据库use test; –

2021-06-26 17:13:10 325

原创 1.认识MySQL

JavaEE: 企业级Java 开发 Web前端(展示:数据!)后台 (连接点:连接数据库JDBC,连接前端(控制试图的跳转,和前端传数据))数据库 (存数据,Txt,Excel,world)只会写代码,学号数据库,基本混饭吃;操作系统,数据结构与算法! 当一个不错的程序员!离散数学,数字电路,体系结构,编译原理。+ 实战经验,高级程序员1.1 为什么学习数据库岗位需求现在的纾解,大数据时代,数据是可以变线的!被迫需求:存数据 去IOE4.==数据库是所有软件体系中最核心的存在

2021-06-24 23:21:01 2170 31

原创 java 可重入锁

公平锁,非公平锁公平锁:非常公平,不能插队,必须先来后到!非公平锁:非常不公平,可以插队,例子:一个线程3s 执行完,一个线程3h 执行完,先让3s 的执行,需要插队!Lock lock = new ReentrantLock(); public ReentrantLock() { sync = new NonfairSync();}ReentranLock 默认是非公平锁但是可以通过他的构造方法改变为公平锁: 如下 Lock lock = new ReentrantLock(true)

2021-06-22 22:46:25 489 3

原创 深入理解CAS

什么是CASUnsafe 类打断点发现this + 偏移量 不等 var5则不自增,返回 var5自旋锁:CAS : ABA 问题:(狸猫换太子)CAS : 比较当前工作内存中的值和主内存中的值,如果这个值是期望的,那么则执行操作,否则不执行!如果不是则一直循环优点:自带原子性缺点:循环比较耗时,一次性只能保证一个g共享变量的原子性,ABA 问题...

2021-06-17 22:45:25 333

原创 彻底玩转单例模式

单例模式饿汉式,DCL 懒汉式,深究!

2021-06-17 22:17:22 336 2

原创 java_异步回调

异步回调Future 设计的初衷:对将来的某个时间的结果进行建模代码示例package com.future;import java.util.concurrent.CompletableFuture;import java.util.concurrent.ExecutionException;import java.util.concurrent.Future;import java.util.concurrent.TimeUnit;/** * * 异步调用:Ajax *

2021-06-15 21:28:27 2183 2

原创 ForkJion

ForkJoin什么是ForkJoinForkJion 在JDK1.7,并行执行任务!提高效率。大数据量!大数据:Map Reduce(将大任务拆分为小任务)ForkJion 特点:工作窃取这个里面维护的都是双端队列,A 线程没有执行完,B线程执行完了,B 线程则去 执行A 中的(红框)未执行完任务ForkJion代码案例:package com.forkjoin;import java.util.concurrent.ExecutionException;imp

2021-06-14 18:39:06 9372 6

原创 java_Stream 流式计算

Stream 流式计算什么是Stream 流式计算大数据: 存储 + 计算对于存储: 集合,Mysql ,本质就是存东西的计算都用该交给流来操作!package com.stream;import java.util.Arrays;import java.util.List;/** * 题目要求:一分钟内完成此题,只能用一行代码实现! * 现在有5 个用户! 帅选: * 1. ID 必须是偶数 * 2. 年龄必须大于23 岁 * 3. 用户名转为大写字母 *

2021-06-14 16:46:33 410 2

原创 java四大函数式接口(重点,简单)

四大函数式接口新时代的程序员:lambda 表达式,链式编程,函数式接口,Stream 流式计算函数式接口: 只有一个方法的接口@FunctionalInterfacepublic interface Runnable { public abstract void run();}//超级多FunctionalInterface//简化编程模型,在新版本的框架底层大量应用!//foreach(消费者类型的函数式接口)代码测试:Function 函数式接口 pack

2021-06-14 13:31:17 2328 3

原创 线程池(重点)

线程池线程池:三大方法,7大参数,4 种拒绝策略1.池化技术程序的运行,本质:占用系统的资源!我们就要优化资源的使用! =》池化技术线程池,jdbc连接池,内存池,对象池////… 创建,销毁,十分浪费资源最小的池最大的池池化技术:事先准备好一些资源,有人要用,就来我这里拿,用完之后还给我。2.如果事先准备2 个,则默认就只有2 个线程池的好处降低资源的消耗,提高响应的速度方便管理线程复用,可以控制最大并发数,管理线程线程池必会三大方法package com.

2021-06-13 13:26:15 335

原创 多线程阻塞队列

阻塞队列FIFO: first in put first out put 先进先出阻塞队列:含义如上的图两种情况BlockingQueue 不是新的东西什么情况下我们会使用阻塞队列:多线程并发处理,线程池!IDEA 类关系图:学会使用队列这里面就两个操作:添加,移除*四组Api方式抛出异常有返回值阻塞 等待超时等待添加$1600$1600阻塞 等待超时等待移除$12$1600阻塞 等待超时等待判断队列的首部$1$160

2021-06-12 19:50:02 550

原创 多线程读写锁

读写锁代码示例:package com.rw;import sun.misc.REException;import java.util.HashMap;import java.util.Map;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.locks.ReentrantLock;import java

2021-06-12 12:45:41 298

原创 JUC常用辅助类

常用辅助类CountDownLatchpackage com.add;import java.util.concurrent.CountDownLatch;//计数器 +1/** * 场景:放学后6个学生走完后,才关门!!!! 保证了所有的人都走了,不会关在里面 */public class CountDownLatchDemo { public static void main(String[] args) throws InterruptedException {

2021-06-10 23:20:36 288

原创 Callable(简单)

Callable(简单)Callable 跟Runnable 的区别:Callable可以有返回值可以抛出异常方法不同,Runnable 用的是run(),CallAble 用的是call() 方法代码测试CallAble 的泛型就是方法的返回值package com.callable;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import jav

2021-06-10 23:05:09 393

原创 集合类不安全_List_Set_HashMap

集合类不安全1.单线程的代码永远是安全的并发下这些所有的类都有问题List 不安全VectorCopyOnWriteArrayList :写入时复制lock 锁先初始化一个数组,获取之前数组长度,复制之前的数组并且长度加1将add 的新增到对应数组的位置将数组转化为Listpackage com.unsafe;import java.util.*;import java.util.concurrent.CopyOnWriteArrayList;/** * 我遇

2021-06-10 22:33:44 295 2

原创 生产者和消费者及8锁现象

JUC生产者和消费者通过Lock 找到Condition代码实现下:package com;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class B { public static void main(String[] args) {

2021-06-08 23:08:51 292

原创 java_JUC

什么是JUCjava.util 工具包包:为了分类业务:普通的线程 ThreadRunnable 没有返回值,效率相比入Callable 相对较低!,在企业级开发中用的相对较少!2.线程和进程线程,进程,如果不能使用一句话说出来的技术,不扎实进程:一个程序,比如QQ.EXE,Music.exe, 程序的集合 .jar一个进程往往可以包含多个线程,至少包含一个!java 默认有几个线程? 2 个,main线程,GC 线程线程:开了一个进程Typora,写字,自动保存(线程负责

2021-06-05 22:21:55 265

原创 JMM概念

JMMjava 内存模型什么是JMM ?JMM (Java Memory Model 的缩写)2.他干嘛了?官方,博客,视频作用:缓存一致性协议,用于定义数据读写的规则(遵守,找到这个规则)。JMM 定义了线程和主内存之间的抽象关系:线程之间的共享变量存储在主内存(Main Memory)中,每个线程都有一个私有的本地内存(Local Memory).解决共享对象可见性这个问题:volilate 关键字(保证一致性)volilate 可以将写完的代码立即刷新到主内存。3.该如何学

2021-06-01 23:07:16 467

原创 JAVA_GC

GC:垃圾回收机制GC 的作用区在堆和方法区:JVM 在进行GC 时,并不是对这三个区域统一回收,大部分时候,回收都是新生代-新生代幸存区(from ,to) from 和to 是交替的过程老年区GC 两种类:轻GC(普通的GC):针对于新生代,偶尔针对下幸存区,重GC(全局GC,所有东西都清理一遍,释放内存)题目:4. JVM 的内存模型和分区-详细到每个区放什么5. 推里面的分区有哪些?Eden ,from,to,老年区,说说他们的特点6. GC 的算法有哪些?标记清除法,标记

2021-06-01 22:43:30 252

原创 java_JVM

JVM 探究请你谈谈你对JVM 虚拟机的理解java8 虚拟机和之前的变化更新什么是OOM,什么是栈溢出StackOverFlowError?,怎么分析?JVM 常用调优参数有哪些?内存快照如何抓取,怎么分析Dump文件?知道吗?谈谈JVM 中内加载器的认识? rt-jar,ext ,application1.JVM的位置建立在操作系统之上2.JVM的体系结构(自己画一遍)垃圾回收的位置3.类加载器作用: 加载class 文件,如 new Student();->有一

2021-05-29 18:18:12 290

原创 java_Class 对象获取数据

Class 对象package com.kuang.reflection;//动态的创建对象,通过反射public class Test09 { public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InstantiationException { //获得Class 对象 Class c1 = Class.forName(

2021-05-27 22:47:44 489

原创 java_内存分析

Java 内存分析堆,栈,方法区堆,方法区,可以被所有线程共享类的加载过程代码案例package com.kuang.reflection;public class Test05 { public static void main(String[] args) { A a = new A(); System.out.println(A.m); } /** >1.加载到内存,会产生一个类对应的Cl

2021-05-26 22:17:56 354 1

原创 java_注解与反射

注解springboot,mybatis .spring ,底层用的都是反射注解还能给程序看3. 注解单词是Annotation,注释是comment什么是注解内置注解@Deprecated 方法以废弃,不鼓励程序员使用,有更好的替代方法@Override 重写注解@SuppressWarnings(“all”) 镇压警告内置注解元注解@Target 目标注解,有方法:method ,all :全部,@Retention 表示需要在什么级别保存该注释信息@Doc

2021-05-25 22:14:58 310

原创 java_UDP/URL例子

Tomcat服务端自定义 STomcat 服务器 S : java 后台开发!客户端自定义 C浏览器 B1.7 UDP发短信:不用连接,需要知道对方的地址客户端package com.kuang.lesson03;import java.io.IOException;import java.net.*;//不需要连接服务器public class UdpClientDemo01 { public static void main(String[] args

2021-05-23 13:39:30 264

原创 java_网络编程

概述网络编程目的无线电台…传播交流信息,数据交换,通信1.如何准确的定位网络上的一台主机: 192.168.16.124:端口,定位到这个计算机上的某个资源2.找到了这个主机,如何传输数据了javaWeb:网页编程 B/S网络编程:Tcp/ip C/S1.2 网络通信的要素人工智能:智能汽车:工厂,人少! ?伦理:如何实现网络的通信,通信双方的地址ip 192.168.1.1端口号规则:网络通信的协议http , ftp 上传文件,smtp 发送文件,tcp ,ud

2021-05-22 21:03:18 354

空空如也

空空如也

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

TA关注的人

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