首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    关于purge master logs的一个小实验

    原理部分来自《MariaDB原理与实现》 Page109-111 purge删除binlog的过程如下: 1、检查to_log在mysql-bin.index中是否存在,避免非法的purge操作 2、创建一个...purge_index_file,用于保存待删除的binlog文件名称 3、遍历index文件,将可删除的binlog添加到purge_index_file中(purge删除时候,只会把未使用到的binlog...之前的文件删除掉) 4、将purge_index_file的内容写入到磁盘 5、更新mysql-bin.index文件,将待删除的binlog文件名从index文件中删除掉 6、删除所有待删除的binlog...4、在主库上执行purge master logs 操作清理掉全部的binlog(如下图): ? 上图中间部分,我们可以看到purge操作有一个warning。...下图是主库中记录的关于purge的警告信息: ? 可以清楚的看到:从库的IO线程正在读取文件的情况下,主库purge master 不会全部清理binlog。

    1.1K30

    java中getclass_java中的getClass()函数

    Java反射学习 所谓反射,可以理解为在运行时期获取对象类型信息的操作。...1,获得类型类 我们知道在Java中一切都是对象,我们一般所使用的对象都直接或间接继承自Object类。Object类中包含一个方法名叫getClass,利用这个方法就可以获得一个实例的类型类。...类型类指的是代表一个类型的类,因为一切皆是对象,类型也不例外,在Java使用类型类来表示一个类型。所有的类型类都是Class类的实例。...可以看到,对象a是A的一个实例,A某一个类,在if语句中使用a.getClass()返回的结果正是A的类型类,在Java中表示一个特定类型的类型类可以用“类型.class”的方式获得,因为a.getClass

    2.4K20

    Java中&、|、&&、||详解

    1、Java中&叫做按位与,&&叫做短路与,它们的区别是: & 既是位运算符又是逻辑运算符,&的两侧可以是int,也可以是boolean表达式,当&两侧是int时,要先把运算符两侧的数转化为二进制数再进行运算...int i = 2,j = 4;则(++i==2)&&(j++==4)的结果为false,其过程基本上和上面的是相同的,但是若左侧表达式的值为false时,程序则不会继续判断右侧表达式的真假了,短路与中,...短路这个词大概也就是这个意思吧 2、Java中‘|’与‘||’的区别 int i=0; if(3>2 || (i++)>1) i=i+1; System.out.println(i); 这段程序会打印出...因为在if的条件判断中,程序先判断第一个表达式3>2是否成立,结果3>2为真,那么按照逻辑来说,无论后面一个表达式(i++)>1是否成立,整个或表达式肯定为真,因此程序就不去执行判断后面一个表达式即(i

    1.4K10

    java中finalized的用法_java中的引用类型

    ,会把该对象放到引用队列中,这样java.lang.ref.Finalizer类就可以从队列中取出该对象,执行对象的finalize方法,并清除和该对象的引用关系.需要注意的是只有finalize方法实现不为空时...(Native Method) at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83) at java.lang.ref.Finalizer.access...$100(Finalizer.java:14) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160) 这个线程唯一的职责就是不断的从...java.lang.ref.Finalizer.ReferenceQueue队列中取对象,当一个对象进入到队列中,finalizer线程就执行对象的finalize方法并且把对象从队列中删除,因此在下一次...-histo:live 8700|head -n 10命令强制触发一次GC,结果和前面的分析一致,Finalizer对象都放到引用队列中,并依次调用了对象的finalize方法,内存中java.lang.ref.Finalizer

    2.4K10
    领券