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