最新文章列表

如何设计一个地图功能,找到当前最近的加油站?

吴军老师的《硅谷来信》中的第080封信,讲了一道Google面试题。   题目如标题,主要考察两方面: 1、考察计算机科学的基本知识 2、看候选人分解问题、解决问题的能力   首先处理一个问题要先全面了解问题,否则答非所问或者没有体会出题人的考察点。我刚开始思考这道题,忽略掉了有点个关键点: 1、汽车是移动的,结果会不断更新,计算速度不能很慢。 2、这个产品不同的使用场景,对准确 ...
murray2081 评论(0) 有647人浏览 2018-04-19 12:57

java数据结构总结(包含数组,链表,堆,栈)

      眨眼间,我们就上到了数据结构,从数组到队列,数据结构中的基本内容也快讲完,在数组的学习中,我们首先是学习ArrayList做了一个简单的长度可变的数组,利用两个数组中的交换数据做到了每次增量为1的可变数组,然而和ArrayList相比较,我们的可变数组的计算速度耗时过长,为了将数组的时间缩短,提高数组的效率,我们设置了增量,初始容量和数量,每次数组中放入数据超过数组本身的容量是就自动 ...
真眼2017 评论(0) 有373人浏览 2017-03-22 19:39

Algorithm之排序之堆排序(Heap Sort)

Algorithm之排序之堆排序(Heap Sort) 一、什么是堆 在讲述堆之前,首先看一下二叉树。 二叉树: 每个节点最多有两个子节点,且这两个子节点有左右 ...
Lixh1986 评论(0) 有4294人浏览 2017-01-20 16:05

jvm内存区域

概述 jvm内存分为几个区域: - 程序计数器 - 虚拟机栈 - 本地方法栈 - 堆 - 方法区 - 运行时常量池 - 直接内存 这些内存区域是在Java进程中细分的,为java程序提供服务 不同的区域存储的内容不一样,生命周期的也不一样 内存区域 程序计数器 这个就跟处理器中的程序计数器的功能差不多,是记录下一条字节码的地址 不过处理器的程序计数器是为进程服务的,jvm中的程序计数 ...
noble510520 评论(0) 有632人浏览 2016-11-05 15:18

JVM运行时数据区域名词解释

运行时数据区域,Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用户,以及创建和销毁的时 ...
飞翔神话 评论(0) 有660人浏览 2016-10-01 22:54

Java中的super限定

一 super限定介绍Java中允许通过关键字super来调用父类的方法或属性。super不能出现在static修饰的方法中。   二 通过super限定访问父类的成员变量1 代码示例 class BaseClass { public int a = 5; } public class SubClass extends BaseClass { public int a = ...
cakin24 评论(0) 有1105人浏览 2016-09-29 06:44

Java成员变量的初始化和在內存中的运行机制

一 成员变量介绍成员变量包括:实例变量(不以static修饰)和类变量(以static修饰)。 二成员变量的初始化和运行机制1代码片段 class Person { public String name; public static int eyeNum; ) Person p1 = new Person(); //a Person p2 = new Perso ...
cakin24 评论(0) 有801人浏览 2016-09-28 06:55

三张图讲清楚Java中的方法的参数传递机制

一 Java中方法的参数传递机制介绍Java中方法的参数传递机制只有一种:值传递。   二 应用举例1 代码示例 class DataWrap { int a; int b; } public class ReferenceTransferTest { public static void swap(DataWrap dw) { // 下面三行代码实现dw的a、 ...
cakin24 评论(0) 有1859人浏览 2016-09-25 08:06

Java对象在内存中的表示

有这样一行代码Person p = new Person(),它在内存中是怎样表示的呢?这一行代码实际产生了两个东西:一个是p变量,一个是Person对象,它在内存中的表示如下图。 如果希望通知垃圾回收机制回收某个对象,只需切断对象的所有引用变量和它之间的关系即可,也即把这些引用变量赋值为null,即p=null。
cakin24 评论(0) 有1203人浏览 2016-09-25 07:22

两张内存变化图揭秘二维数组的初始化

一 代码示例 public class TwoDimensionTest { public static void main(String[] args) { // 定义一个二维数组 int[][] a; // 把a当成一维数组进行初始化,初始化a是一个长度为4的数组 // a数组的数组元素又是引用类型 a = new int[4][]; //a ...
cakin24 评论(0) 有1113人浏览 2016-09-24 22:14

四张內存变化图揭秘引用类型数组的初始化

一代码示例 class Person { public int age; // 年龄 public double height; // 身高 // 定义一个info方法 public void info() { System.out.println("我的年龄是:" + age + ",我的身高是:" + height ...
cakin24 评论(0) 有669人浏览 2016-09-24 21:46

三张內存变化图揭秘基本类型数组的初始化

一 代码示例 public class PrimitiveArrayTest { public static void main(String[] args) { // 定义一个int[]类型的数组变量 int[] iArr; //a // 动态初始化数组,数组长度为5 iArr = new int[5]; //b // 采用循环方式为每个数组元素赋值 ...
cakin24 评论(0) 有605人浏览 2016-09-24 21:25

看透内存中的数组

一 数组在內存中的存储方式看待一个数组时,一定要把数组看成两个部分:一部分是数组引用,也就是在代码中定义的数组引用变量,它存储在内存的栈部分,另一部分是实际的数组对象,这部分存储在內存的堆部分,通常无法直接访问它,只能通过数组引用变量来访问,下图清晰的描述了数组在内存中的存储示意图。 二数组应用举例1代码示例 public class ArrayInRam { public static ...
cakin24 评论(0) 有589人浏览 2016-09-24 20:58

JAVA基础知识回顾-----Java堆内存设计原理-----随想随写

Java堆内存设计原理    通常来说,堆中存储通过new字符创建的对象或者数组;   JVM中堆内存分为2大块,Permanent space和 Heap space   Permanent即持久代 ...
 
YE_wolf 评论(1) 有2080人浏览 2016-08-11 10:12

二叉搜索树和堆

[size=x-small]这周学习了二叉搜索树和堆的原理。 一、二叉搜索树     1、定义     二叉搜索树又称二叉查找树,它是一棵空树,或者是一棵具有如下特 ...
飞翔神话 评论(0) 有1342人浏览 2016-07-31 12:00

堆区和栈区的概念

栈区(stack自动分配的连续空间) 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 堆区(heap不连续的空间) 一般由程序员分配释放,如果程序员不释放,程序结束时由OS回收,需要注意的是这与数据结构中的堆是两回事,分配的方式类似于链表。Java中的堆区存放new出来的对象。 java中的方法区(类似于堆) 用于存放类的 ...
dragonboss2016 评论(0) 有1350人浏览 2016-07-30 11:35

JAVA中堆和栈的区别

  在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。        当在一段代码块定义一个变量时,Java就在栈中为这个变 ...
zhangliguoaccp 评论(0) 有932人浏览 2015-08-18 14:43

java的堆和栈

堆:heap  -Java的堆是一个运行时数据区,类的(对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等 指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时 动态分配内存的,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动 ...
ruyi0127 评论(0) 有630人浏览 2015-06-27 12:07

[转]Java中的堆和栈

当一个人开始学习Java或者其他编程语言的时候,会接触到堆和栈,由于一开始没有明确清晰的说明解释,很多人会产生很多疑问,什么是堆,什么是栈,堆和栈有什么区别?更糟糕的是,Java中存在栈这样一个后进先出(Last In First Out)的顺序的数据结构,这就是java.util.Stack。这种情况下,不免让很多人更加费解前面的问题。事实上,堆和栈都是内存中的一部分,有着不同的作用,而且一个 ...
hejiajunsh 评论(0) 有801人浏览 2015-04-10 10:54

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics