2 小样想当当

尚未进行身份认证

我要认证

希望以后可以经常呈现出好的东西出来。

等级
TA的排名 32w+

反射:通过配置文件去读取相关属性

利用反射,去读取配置文件里边的内容import java.io.InputStream;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.util.Properties;public class EmpReflect { public static void main(String[] args) throws Exception { //1.利用反射获取实体类

2020-06-08 10:32:01

list集合实现自定义排序

1.基本数据类型的简单排序public class Demo01 { public static void main(String[] args) { List<Integer> list = Arrays.asList(1,5,2,0,-1); Collections.sort(list); System.out.println(list); }}(1)Collections.sort(list)分析:@Suppress

2020-06-08 09:51:30

mycat中间件+mysql集群

1.定义:多角度描述:一个彻底开源的,面向企业应用开发的大数据库集群支持事务、ACID、可以替代 MySQL 的加强版数据库一个可以视为 MySQL 集群的企业级数据库,用来替代昂贵的 Oracle 集群一个融合内存缓存技术、NoSQL 技术、HDFS 大数据的新型 SQL Server结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品一个新颖的数据库中间件产品2.优势:基于阿里开源的 Cobar 产品而研发,Cobar 的稳定性、可靠性、优秀的架构和性能以及众 多成熟的使用案

2020-05-21 22:39:41

Java使用阿里云短信服务+阿里云短信服务整合redis使用

1.前期准备:​ 现在的网站,越来越多的人开始使用验证码的方式来进行验证,下面将粗略的展示一下。​ 收费标准:可以直接参考阿里云给出的官方价格。小于70字的价格0.045元/条。​ 在自己的阿里云账户里边,要先先充值一点钱,这样在后面代码开发测试的时候,不会出现报错的现象。1)充值:2)准备AccessKey和密码:(这个涉及到个人隐私,大家一定需要保护好,如果发现泄漏的,可以及时在阿里云平台做出对应的措施。)3)生成AccessKey和密码:(此处本人踩了第一个坑,大家一定要注意)如

2020-05-21 10:39:38

mycat分库分表具体操作

一、务理解:​ 垂直切分​ 业务维度水平切分数据维度混合切分业务+数据2.定义基于MySQL的数据库中间件,用来协调切分后的数据库,使其可以进行统一管理逻辑库数据库集群对外的统一访问入口3.思路:1.schema.xml配置参数:逻辑库,逻辑表,数据节点,节点主机2.rule.xml3.server.xml4.基础概念:1.schema.xml 逻辑库,逻辑表,数据节点,节点主机附注:balance=“0”---->不进行读写分离writeHost------

2020-05-21 07:34:32

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

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

Java锁:公平锁、非公平锁、可重入锁(递归锁)、自旋锁、独占锁

1.公平锁和非公平锁:公平锁:是指多个线程按照申请锁的顺序来获取锁,类似排队打饭,先来后到。非公平锁:是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁在高并发的情况下,可能会造成优先级反转或者饥饿现象。公平锁/非公平锁并发包中ReentrantLock的创建可以指定构造函数的boolean类型来得到公平锁或非公平锁,默认是非公平锁。两者区别:公平锁,就是很公平,在并发环境中每个线程都在获取锁时会先查看此锁维护的等待队列,如果为空,或者当前线程是等待队列的

2020-05-20 00:01:36

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

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

JUC中的Lock和读写锁的介绍

1.实现线程安全的是那种方法:用于解决多线程的安全的三种方法:同步方法、同步代码块、同步锁其中同步方法和同步代码块用的是synchronized修饰的,它是属于隐式锁。在 JDK 1.5之后出现同步锁Lock(显示锁)注意:需要通过lock()的方法进行上锁,必须通过unlock()方法释放锁。在Java 5.0之前,协调共享对象的访问时,可以使用的机制只有synchronized和volatile。Java5.0后增加了一些新的机制,但并不是一种代替内置锁的方法,而是当内置锁不适用时,作为一种

2020-05-11 09:24:06

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

Redis的分片机制+哨兵机制+集群

1.自定义注解,编辑AOP切面:1.自定义注解:/** * 该注解主要实现查询操作. * 有缓存查询缓存,没缓存查询数据库 * 操作规范: * key: * 1.用户没有赋值 * 如果key为"",表示用户使用自动生成的key * key:包名.类名.方法名.拼接第一个参数 * 2.如果用户赋值 * key:使用用户的数据 * second...

2020-05-08 10:27:34

注解的初步常见以及注意事项

1.注解的官网定义:注解是一种元数据形式,即注解是属于Java的一种数据类型,和类、接口、数组、枚举类似。注解用来修饰类、方法、变量、参数、包注解不会对锁修饰的代码产生直接的影响2.创建注解步骤:第一步:定义注解--相当于定义标记;第二步:配置注解--把标记打在需要用到的程序代码中;第三步:解析注解--在编译期或者运行时检测到标记,并进行特殊操作。3.具体操作:/* 操作规...

2020-05-08 07:28:52

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

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

nginx的使用nginx的服务集群

1.反向代理说明:当用户发起请求时,首先请求被nginx(此处可以理解为转化器)拦截。根据背部配置文件的约定。将请求的URL地址进行替换。由转换器发起请求,去访问真实的网络资源,之后由转化器将资源交还给用户的过程。核心特点:用户无需关心真实的服务器资源到底是谁,由代理服务器代替用户访问。2.正向代理:核心特点:用户了解自己访问的资源的位置。并且由用户自己去获取真实的资源。3.ng...

2020-04-28 20:37:54

Linux安装docker容器和Redis步骤

一、准备工作:1.首先需要获取到虚拟机中 的IP地址:ifconfig==》![](https://img-blog.csdnimg.cn/20200414193145329.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FfcnV...

2020-04-14 19:54:48

23种设计模式之单例模式

23中设计模式之单例模式单例模式:1.单例模式介绍:2.单例设计模式八种方式:2.1 饿汉式(静态常量)2.2饿汉式(静态代码块)2.3懒汉式(线程不安全)懒汉式(线程安全,同步方法)2.5懒汉式(线程安全,同步代码块)2.6双重检查(推荐使用)2.7静态内部类2.8枚举3.JDK中使用单例模式的案例:4.单例模式注意事项和细节说明单例模式:1.单例模式介绍:所谓的单例模式,就是采取一定的方...

2019-12-22 23:00:24
勋章 我的勋章
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享学徒
    分享学徒
    成功上传1个资源即可获取