- 博客(11)
- 收藏
- 关注
原创 二叉树的遍历
二叉树的遍历二叉树的遍历分为前序遍历,中序遍历,后序遍历。如图,A为根节点,B为左节点,C为右节点。前序顺序是ABC(根节点排最先,然后同级先左后右);中序顺序是BAC (先左后根最后右);后序顺序是BCA(先左后右最后根)。题目:通过二叉树的两种序列,得到另一序列。例如二叉树的前序遍历为ABHFDECKG,中序遍历为HBDFAEKCG,则它的后序遍历是()?记住两点:先序后序可以确定根节点,中序遍历可以确定左子树和右子树。解答上述题目,反复使用上面介绍的两点。可以得到答案。由前
2021-02-15 14:04:37
285
原创 Redis搭建一套哨兵监控两套主从复制集群
Redis搭建一套哨兵监控两套主从复制集群使用Predixy代理参考[Predixy]: https://github.com/joyieldInc/predixy1.配置哨兵配置文件vi 26379.confport 26379daemonize yesprotected-mode no# 第一套主从复制集群,总共两台,主是192.168.254.10,从是192.168.254.11sentinel monitor group01 192.168.254.10 6379 2#
2020-05-17 15:51:03
1084
原创 Java强软弱虚引用
文章目录Java强软弱虚引用强引用软引用弱引用虚引用Java强软弱虚引用强引用Object obj = new Object() 。这个obj就是一个强引用,jvm不会在垃圾回收的时候对这些引用回收,选择OutOfMemoryError 终止程序软引用软引用(SoftReference)是用来描述一些还有用但并非必须的对象。如果内存空间足够,就不会在垃圾回收的时候回收它。如果内存空...
2020-03-31 15:35:59
152
原创 JUC常用类介绍
文章目录JUC常用类介绍VolatileSynchronizedAtomicXXXReentrantlockCountDownLatchCyclicBarrierPhaserReadWriterLockSemaphoreExchangerLockSupportJUC常用类介绍Volatilevolatie只能保证线程之间的可见性,不能保证原子性。/*** 不能保证原子性的代码*/...
2020-03-31 10:13:15
1600
原创 Thread类的方法和线程的状态
Thread类的方法和线程的几种状态yield()调用该方法让当前线程让出CPU,让CPU去执行其他线程, 不会释放锁并且让该线程回到就绪状态而不是阻塞状态 。yield()方法只会让该线程同优先级的线程得到执行机会。join()无参构造方法调用表示等待该线程结束。sleep()调用sleep()方法,会阻塞该线程,且且不会释放锁wait()和notify()一般配合...
2020-03-30 11:27:46
247
1
原创 Java容器整理介绍
容器Collection作为list和set的根接口,定义了一些集合类常用的增删改查方法。List和Set的区别List插入顺序有序,元素可重复Set无需,元素不重复Set分别有TreeSet,HashSet,LinkedHashSet如何保证元素唯一性?通过重写hashCode()和equals()方法,先比较hashCode,hashCode一直时才比较equals...
2020-03-23 17:42:45
219
原创 JavaSE知识体系目录
文章目录Java基础语法知识关键字运算符数据类型流程控制语句面向对象异常和常用类集合CollectionMapIO字节流字符流线程网络Java基础语法知识关键字运算符算数运算符,比较运算符,赋值运算符,逻辑运算符,三目运算符,位运算符数据类型基本数据类型整型(byte,short,int ,long)浮点型(float,double)字符型(char)布尔型(只占1位...
2020-03-23 11:46:11
559
原创 Java位以及与或非运算简介
文章目录与(&)或(|)非(~)异或(^)位运算>>(有符号右移运算符)<<(左移运算符)>>>(无符号右移运算符)参考链接位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算与(&)两个操作数...
2020-03-17 10:58:11
1854
原创 Java运行时数据区和常用命令
Runtime Data Area and Instruction Setjvms 2.4 2.5指令集分类基于寄存器的指令集基于栈的指令集Hotspot中的Local Variable Table = JVM中的寄存器Runtime Data AreaPC 程序计数器存放指令位置虚拟机的运行,类似于这样的循环:while( not end ) { 取PC中的位置,找...
2020-03-16 17:43:34
182
原创 Java对象的创建过程以及内存布局概要
对象的创建过程1.class loading2.class linking(verification,preparation,resolution)3.class initializing4.申请对象内存5.成员变量赋默认值6.调用构造方法1.成员变量顺序赋初始值2.执行构造方法语句对象在内存中的布局普通对象1.对象头: markword 82.ClassPointer指针...
2020-03-11 21:12:24
130
原创 volatile和synchronized不乱序执行的实现
文章首部添加 @TOCvolatile实现细节字节码层面加上 ACC_VOLATILE 标记JVM层面在volatile内存区读写都加屏障StoreStoreBarriervolatile写操作StoreLoadBarrierLoadLoadBarriervolatile读操作LoadStoreBarrierOS和硬件层面windows lock指令实现参考 hsdi...
2020-03-11 20:23:40
232
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人