day15

博客围绕二叉树的遍历操作、翻转及对称二叉树的判断展开。作者加深了对二叉树递归遍历方式的理解,虽基本掌握内部步骤,但对遍历顺序还需加深宏观理解。同时,理解了对称二叉树判断的并行递归过程,还亲自写了一遍代码。

二叉树的遍历操作、翻转、对称二叉树的判断

首先,理解到的点,对于二叉树的递归遍历方式,加深了印象。自己过了几遍递归遍历的过程,基本内部的每一步都已经理解清楚。但是在宏观的结果上还要加深理解。例如,遍历出来的顺序,还没能达到小脑反应的程度。
其次,对于对称二叉树的判断,理解了并行递归的过程,看懂可、自己也写了一遍。

### 黑马 Java Day 15 课程资料与教程 #### 一、多线程编程基础 在黑马程序员Java培训的第15天,重点讲解了多线程的基础概念及其创建方式。Java中的线程是程序执行流的最小单位,在现代操作系统中可以并发运行多个线程来提高效率[^4]。 对于线程的创建有两种主要方法:继承`Thread`类重写其`run()`方法;实现`Runnable`接口同样需要定义该方法并由外部传入到`Thread`实例中启动新线程。这两种方式各有优劣,前者更直观但可能造成单继承局限性;后者则更加灵活适用于资源共享场景[^4]。 ```java // 继承 Thread 类的方式 class MyThread extends Thread { public void run() { System.out.println("This is a thread by extending Thread class."); } } // 实现 Runnable 接口的方式 class MyRunnable implements Runnable { @Override public void run() { System.out.println("This is a thread by implementing Runnable interface."); } } ``` #### 二、线程同步机制 当涉及到共享资源访问时,为了防止数据竞争条件的发生,引入了锁的概念用于控制同一时刻只有一个线程能够操作特定区域内的代码——即所谓的临界区。可以通过`synchronized`关键字修饰方法或语句块达到此目的[^4]。 ```java public synchronized void criticalSectionMethod(){ // 只有一个线程能进入这段代码 } ``` 或者使用显式的对象监视器: ```java Object lock = new Object(); synchronize(lock){ // 同步代码块 } ``` #### 三、高级特性介绍 除了基本的操作外,还探讨了一些更为复杂的主题如守护进程(daemon threads),它们通常作为服务提供者存在而不参与应用程序的主要逻辑流程;以及如何通过`join()`函数等待其他线程完成工作后再继续执行当前线程的任务等实用技巧[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值