- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 mycat中间件+mysql集群
1.定义:多角度描述:一个彻底开源的,面向企业应用开发的大数据库集群支持事务、ACID、可以替代 MySQL 的加强版数据库一个可以视为 MySQL 集群的企业级数据库,用来替代昂贵的 Oracle 集群一个融合内存缓存技术、NoSQL 技术、HDFS 大数据的新型 SQL Server结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品一个新颖的数据库中间件产品2.优势:基于阿里开源的 Cobar 产品而研发,Cobar 的稳定性、可靠性、优秀的架构和性能以及众 多成熟的使用案
2020-05-21 22:39:41 295
原创 Java使用阿里云短信服务+阿里云短信服务整合redis使用
1.前期准备: 现在的网站,越来越多的人开始使用验证码的方式来进行验证,下面将粗略的展示一下。 收费标准:可以直接参考阿里云给出的官方价格。小于70字的价格0.045元/条。 在自己的阿里云账户里边,要先先充值一点钱,这样在后面代码开发测试的时候,不会出现报错的现象。1)充值:2)准备AccessKey和密码:(这个涉及到个人隐私,大家一定需要保护好,如果发现泄漏的,可以及时在阿里云平台做出对应的措施。)3)生成AccessKey和密码:(此处本人踩了第一个坑,大家一定要注意)如
2020-05-21 10:39:38 5378 3
原创 mycat分库分表具体操作
一、务理解: 垂直切分 业务维度水平切分数据维度混合切分业务+数据2.定义基于MySQL的数据库中间件,用来协调切分后的数据库,使其可以进行统一管理逻辑库数据库集群对外的统一访问入口3.思路:1.schema.xml配置参数:逻辑库,逻辑表,数据节点,节点主机2.rule.xml3.server.xml4.基础概念:1.schema.xml 逻辑库,逻辑表,数据节点,节点主机附注:balance=“0”---->不进行读写分离writeHost------
2020-05-21 07:34:32 176
原创 mysql集群+docker镜像+主从复制
1.主从复制原理:mysql主(master)从(slave)复制的原理:(1)master讲数据改变记录到二进制日志(binary log)中,也即是配置文件log-bin指定的文件(这些记录叫做二进制事件,binary log events)(2)slave讲master的binary log events拷贝到他的中继日志(relay log)(3)slave重做中继日志的事件,将改变反映它自己的数据(数据重演)总结:主库(master)中有一个二进制文件通过I/O线程关联到从库中的二进制
2020-05-20 18:30:13 434
原创 CountDownLatch/CycliBarrier/Semaphore线程并发问题
1.CountDownLatch:(减:倒得计数器)让一些线程阻塞直到另一个线程完成一系列操作后才被唤醒。CountDownLatch主要有两个方法,当一个或多个线程调用await方法时,调用线程会被阻塞。当它线程调用countDown方法会将计数器减1(调用countDown方法的线程不会阻塞),当计数器的值变为0时,因调用await方法被阻塞的线程会被唤醒,继续执行。public class CountDownLatchDemo { public static void main(Stri
2020-05-20 00:10:26 193
原创 Java锁:公平锁、非公平锁、可重入锁(递归锁)、自旋锁、独占锁
1.公平锁和非公平锁:公平锁:是指多个线程按照申请锁的顺序来获取锁,类似排队打饭,先来后到。非公平锁:是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁在高并发的情况下,可能会造成优先级反转或者饥饿现象。公平锁/非公平锁并发包中ReentrantLock的创建可以指定构造函数的boolean类型来得到公平锁或非公平锁,默认是非公平锁。两者区别:公平锁,就是很公平,在并发环境中每个线程都在获取锁时会先查看此锁维护的等待队列,如果为空,或者当前线程是等待队列的
2020-05-20 00:01:36 299
原创 list、set、map集合出现的问题 java.util.concurrentModificationException(并发修改异常)
1.集合类不安全之并发修改异常之list:1)如果直接new一个ArrayList的话,它的长度默认为10.2)如果超过10,就会扩容原空间的一半。会出现:java.util.concurrentModificationException(并发修改异常)处理问题的四步骤:(1)故障现象: 主要是出现了什么样的的异常。(2)导致原因: 并发修改异常导致的是哪些问题。(3)解决方案: 使用Vector()但是并发能力有问题。 使用Collections.sunchronizedLi
2020-05-19 22:22:02 440
原创 CAS底层实现原理和解决ABA问题
1.CAS:CAS(CompareAndSet)是比较之后并交换;/** * 1.CAS 是什么?==》compareAndSet * 比较并交换:期望值和主内存中的值要是一样的话,就把值更新并快照到主内存中 */public class CASDemo { public static void main(String[] args) { AtomicInteger atomicInteger = new AtomicInteger(5); Syste
2020-05-19 22:07:00 878 2
原创 JUC中的Lock和读写锁的介绍
1.实现线程安全的是那种方法:用于解决多线程的安全的三种方法:同步方法、同步代码块、同步锁其中同步方法和同步代码块用的是synchronized修饰的,它是属于隐式锁。在 JDK 1.5之后出现同步锁Lock(显示锁)注意:需要通过lock()的方法进行上锁,必须通过unlock()方法释放锁。在Java 5.0之前,协调共享对象的访问时,可以使用的机制只有synchronized和volatile。Java5.0后增加了一些新的机制,但并不是一种代替内置锁的方法,而是当内置锁不适用时,作为一种
2020-05-11 09:24:06 246
原创 JUC线程创建,volatile内存可见性CAS算法模式和ConcurrentHashMap基础原理
1.线程的四种创建方式:1.直接继承Thread的方式去实现线程的创建:/** * 创建线程方式一: */public class test01 { public static void main(String[] args) { ThreadDemo01 threadDemo01 = new ThreadDemo01(); threadDemo01.start(); }}class ThreadDemo01 extends Thread {
2020-05-11 00:10:54 228
原创 Redis的分片机制+哨兵机制+集群
1.自定义注解,编辑AOP切面:1.自定义注解:/** * 该注解主要实现查询操作. * 有缓存查询缓存,没缓存查询数据库 * 操作规范: * key: * 1.用户没有赋值 * 如果key为"",表示用户使用自动生成的key * key:包名.类名.方法名.拼接第一个参数 * 2.如果用户赋值 * key:使用用户的数据 * second...
2020-05-08 10:27:34 746
原创 注解的初步常见以及注意事项
1.注解的官网定义:注解是一种元数据形式,即注解是属于Java的一种数据类型,和类、接口、数组、枚举类似。注解用来修饰类、方法、变量、参数、包注解不会对锁修饰的代码产生直接的影响2.创建注解步骤:第一步:定义注解--相当于定义标记;第二步:配置注解--把标记打在需要用到的程序代码中;第三步:解析注解--在编译期或者运行时检测到标记,并进行特殊操作。3.具体操作:/* 操作规...
2020-05-08 07:28:52 247
原创 Linux操作Redis的安装,测试
Redis的相关操作1.下载和安装1.上传redis安装包(个人比较喜欢使用xshell,直接进入到指定的文件夹下面,拖拽进去即可)2.解压redis:tar -xvf redis-5.0.tar.gz3.编译和安装: 要求:在redis根目录中执行(此处解压过之后的文件夹已经被我修改成redis) 编译:make 安装:make install4.修改redis配置文件...
2020-05-05 22:48:55 308
原创 Linux常用的命令以及Linux安装JDK
1.CD命令集:ifconfig 检查IP地址pwd 检查当前文件路径cd命令:是Linux中最基本的命令语句,必须熟练掌握。cd / 返回根目录cd~ 用户主目录cd . 当前目录cd … 返回到上一级目录cd /usr/进入到usr目录cd - 返回上一个目录cd 直接回家2.ls目录和文件ls -l 详细格式,文件权限,时间ll 和ls -l作用相...
2020-05-05 22:07:51 420
gitLab安装GitLabCI/CD需要的软件(包含maven+git+gitrunner+jdk)
2022-11-21
逆向工程3.0.exe
2020-04-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人