二叉树的前序中序后序遍历--使用递归还有栈


class BTree { Node root; public BTree() { Node l3left = new Node(2, null, null); Node l3right = new Node(3, null, null); No

操作系统


目录OS进程、线程调度算法、死锁虚拟存储I/O系统文件1 OS典型操作系统:多道批处理系统、分时系统、实时系统。1.1 多道批处理系统在该系统中,用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系

ANR


ANR概念ANR(Application Not responding),是指应用程序未响应,Android系统对于一些事件需要在一定的时间范围内完成,如果超过预定时间能未能得到有效响应或者响应时间过长,都会造成ANR场景Service TimeoutBroadcastQueue TimeoutCo

注解

Java 

注解的定义Java注解用于为Java代码提供元数据。作为元数据,注解不直接影响你的代码执行,但也有一些类型的注解实际上可以用于这一目的。Java注解是从Java5开始添加到Java的。注解即标签如果把代码想象成一个具有生命的个体,注解就是给这些代码的某些个体打标签如何自定义注解注解通过@interf

什么是匿名内部类,它有什么特征

Java 

匿名内部类使用注意事项匿名内部类也就是没有名字的内部类正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口匿名内部类中是不能定义构造函数的使用的形参为什么要final我们给匿名内部类传递参数的时候,若该形参在内部类中需要被使用

单例模式

Java 

单例模式是什么?确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例模式好处通常使用单例对象都是重量级,里面有很多对象,例如线程池、缓存系统、网络请求等等,很耗资源。使用单例不用重复创建这种对象,其它地方也可以重复使用这个对象,提高性能。单例模式特征构造方法不对外开发的,一般是pr

深克隆和浅克隆有什么区别?它的实现方式有哪些?

Java 

使用克隆可以为我们快速地构建出一个已有对象的副本,它属于 Java 基础的一部分,也是面试中常被问到的知识点之一。我们本课时的面试题是,什么是浅克隆和深克隆?如何实现克隆?典型回答浅克隆(Shadow Clone)是把原型对象中成员变量为值类型的属性都复制给克隆对象,把原型对象中成员变量为引用类型的

谈谈你对锁的理解?如何手动模拟一个死锁?

Java 

在并发编程中有两个重要的概念:线程和锁,多线程是一把双刃剑,它在提高程序性能的同时,也带来了编码的复杂性,对开发者的要求也提高了一个档次。而锁的出现就是为了保障多线程在同时操作一组资源时的数据一致性,当我们给资源加上锁之后,只有拥有此锁的线程才能操作此资源,而其他线程只能排队等待使用此锁。当然,在所

synchronized 和 ReentrantLock 的实现原理是什么?它们有什么区别?

Java 

在 JDK 1.5 之前共享对象的协调机制只有 synchronized 和 volatile,在 JDK 1.5 中增加了新的机制 ReentrantLock,该机制的诞生并不是为了替代 synchronized,而是在 synchronized 不适用的情况下,提供一种可以选择的高级功能。我们本

详解 ThreadPoolExecutor 的参数含义及源码执行流程?

Java 

线程池是为了避免线程频繁的创建和销毁带来的性能消耗而建立的一种池化技术,他是把已经创建的线程放入 “池” 中,当有任务来时就可以重用已有的线程,无需等待创建的过程,这样就可以有效提高程序的响应速度。但如果要说线程的活一定离不开ThreadPoolExecutor,在阿里巴巴《Java开发手册》中这样