![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
jamesluozhiwei
个人博客:https://ccccyc.cn
展开
-
Java基础面试题系列
本文收集了一些经典的Java面试题1、面向对象的特征有哪些方面?答:面向对象的特征主要有以下几个方面:抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中...原创 2019-06-20 18:33:10 · 9018 阅读 · 0 评论 -
了解JVM的内存区域
了解JVM的内存区域先来看看JVM运行时候的内存区域,如下图:大多数 JVM 将内存区域划分为 Heap(堆)、方法区、Stack(栈)、本地方法栈、程序计数器。其中 Heap 和 方法区 是线程共享的,Stack、本地方法栈 和 程序计数器 是非线程共享的。为什么分为线程共享和非线程共享的呢?请继续往下看。首先我们熟悉一下一个 Java 程序的工作过程。一个 Java 源程序文件,会被编...原创 2019-06-21 13:42:50 · 156 阅读 · 0 评论 -
Java的参数传递是按值传递还是按引用传递
Java的参数传递是按值传递还是按引用传递当一个对象被当作参数传递到一个方法后,在此方法内可以改变这个对象的属性,那么这里到底是按值传递还是按引用传递?答:是按值传递。 Java 语言的参数传递只有按值传递。 当一个实例对象作为参数被传递到方法中时,参数的值就是该对象的引用的一个副本。指向同一个对象,对象的内容可以在被调用的方法内改变,但对象的引用(不是引用的副本) 是永远不会改变的。J...原创 2019-07-01 17:30:54 · 194 阅读 · 0 评论 -
Semaphore的工作原理及实例
Semaphore是一种在多线程环境下使用的设施,该设施负责协调各个线程,以保证它们能够正确、合理的使用公共资源的设施,也是操作系统中用于控制进程同步互斥的量。Semaphore是一种计数信号量,用于管理一组资源,内部是基于AQS的共享模式。它相当于给线程规定一个量从而控制允许活动的线程数。1、工作原理  ...原创 2019-06-26 15:25:48 · 190 阅读 · 0 评论 -
JVM的垃圾回收机制
1、前言理解JVM的垃圾回收机制(简称GC)有什么好处呢?作为一名软件开发者,满足自己的好奇心将是一个很好的理由,不过更重要的是,理解GC工作机制可以帮助你写出更好的Java程序。在学习GC前,你应该知道一个技术名词:“stop-the-world” ,无论你选择哪种GC算法,“stop-the-world”都会发生。“stop-the-world”意味着JVM停止应用程序,而去进行垃圾回收。...原创 2019-06-24 19:20:34 · 145 阅读 · 0 评论 -
Java中String、StringBuffer、StringBuilder的区别
1.从是否可变的角度String类中使用字符数组保存字符串,因为有“final”修饰符,所以String对象是不可变的。/** The value is used for character storage. */ private final char value[];StringBuffer和StringBuilder都继承自AbstractStringBuilder类,在Abs...原创 2019-06-28 17:26:57 · 82 阅读 · 0 评论 -
Java中ArrayList与LinkedList的区别
一般大家都知道ArrayList和LinkedList的区别: 1、ArrayList的实现是基于数组,LinkedList的实现是基于双向链表。 2、对于随机访问,ArrayList优于LinkedList 3、对于插入和删除操作,LinkedList优于ArrayList 4、LinkedList比ArrayList更占内存,因为LinkedList的节点除了存储数据...原创 2019-06-28 17:27:37 · 206 阅读 · 0 评论