Java基础
Timegoeson
好好学习,天天向上
展开
-
深入理解Java的接口和抽象类
深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲: 一.抽象类 二.接口 三.抽象类和接口的区别 若...转载 2018-10-17 21:13:39 · 213 阅读 · 1 评论 -
红黑树的基本知识
红黑树是一种“平衡的”二叉查找树,它是一种经典高效的算法,能够保证在最坏的情况下动态集合操作的时间为O(lgn)。红黑树每个节点包含5个域,分别为color,key,left,right和p。 color是在每个节点上增加的一个存储位表示节点的颜色,可以是RED或者BLACK。key为结点中的value值,left,right为该结点的左...原创 2018-10-22 19:30:22 · 677 阅读 · 0 评论 -
面试常问:什么是红黑树?
什么是红黑树? ————————————二叉查找树(BST)具备什么特性呢?1.左子树上所有结点的值均小于或等于它的根结点的值。2.右子树上所有结点的值均大于或等于它的根结点的值。3.左、右子树也分别为二叉排序树。下图中这棵树,就是一颗典型的二叉查找树:1.查看根节点9:2.由于10 > 9,...转载 2018-10-22 19:26:04 · 76198 阅读 · 74 评论 -
继承有final关键字修饰的父类的方法和属性
子类继承父类,子类拥有了父类的所有属性和方法。 程序验证,父类的私有属性和方法子类是无法直接访问的。当然私有属性可以通过public修饰的getter和setter方法访问到的,但是私有方法不行。 假设:子类不能够继承父类的私有属性和方法 那么:分析内存后,会发现,当一个子类被实例化的时候,默认会先调用父类的构造方法对父类进行初始化,即在内存中创建一个父类对象,然后再父类对象的外部放上...原创 2018-10-16 23:26:27 · 3648 阅读 · 0 评论 -
final关键字
final关键字 final可以修饰类、方法、属性、和变量。final修饰类表示该类不能被继承final修饰方法,则表示该方法不能被覆盖(重写)。final修饰属性,则表示该属性不会隐式的初始化,(类的初始化属性必须有值)。或在构造方法中赋值(但只能选其一) ...原创 2018-10-16 23:18:57 · 701 阅读 · 0 评论 -
volatile 与 synchronized的对比
一,volatile关键字的可见性要想理解volatile关键字,得先了解下JAVA的内存模型,Java内存模型的抽象示意图如下:从图中可以看出:①每个线程都有一个自己的本地内存空间--线程栈空间???线程执行时,先把变量从主内存读取到线程自己的本地内存空间,然后再对该变量进行操作②对该变量操作完后,在某个时间再把变量刷新回主内存关于JAVA内存模型,更详细的可参考: 深入...转载 2018-10-16 23:14:14 · 133 阅读 · 0 评论 -
java多线程之Synchronized
一 修饰方法Synchronized修饰一个方法很简单,就是在方法的前面加synchronized,synchronized修饰方法和修饰一个代码块类似,只是作用范围不一样,修饰代码块是大括号括起来的范围,而修饰方法范围是整个函数。例如:方法一public synchronized void method(){ // todo}方法二public void method(){ ...转载 2018-10-16 23:07:47 · 142 阅读 · 0 评论 -
JAVA多线程
多线程的基本概念线程指进程中的一个执行场景,也就是执行流程,那么进程和线程有什么区别呢?每个进程是一个应用程序,都有独立的内存空间同一个进程中的线程共享其进程中的内存和资源(共享的内存是堆内存和方法区内存,栈内存不共享,每个线程有自己的。)什么是进程?一个进程对应一个应用程序。例如:在 windows 操作系统启动 Word 就表示启动了一个 进程。在 java 的开发环境下启动 ...转载 2018-10-16 23:00:44 · 107 阅读 · 0 评论 -
Java中接口和抽象类
深入理解Java的接口和抽象类对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲:一.抽象类二.接口三.抽象类和接口的区别若有不正之处,请多多谅解并欢迎批...转载 2018-10-14 23:14:14 · 145 阅读 · 0 评论 -
Java垃圾回收
一、问题 笔者最近遇到超级多的关于java中垃圾回收机制的问题,所以特地写一遍博客来和大家交流一下java中的垃圾回收到底是什么鬼。所谓垃圾回收即使jvm觉得你这个对象没有存在的必要,将你清理出去,那么问题来了。如何确定某个对象是需要被回收? 典型的垃圾收集算法,是怎么回收对象的? 典型的垃圾收集器有哪些? 下面我来一个一个看问题二、如何确定某个对象是需要被回收的 这里...转载 2018-10-23 20:12:18 · 154 阅读 · 0 评论