摘要: 对象的内存布局 平时用java编写程序,你了解java对象的内存布局么? 在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域: 对象头 实例数据 对齐填充 对象头 对象头包括两部分信息: MarkWord 第一部分用于存储对象 __自身__ 的 __运行时数据__ ,如: 哈希码(Ha 阅读全文
posted @ 2017-06-10 22:47 天驰 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 内存 内存大家都知道(当然不是硬盘啊)。与c、c++相比呢,Java在内存管理的方面一个优越之处就是我们不用显式的去对对象进行内存的分配和内存的回收,可能有人会着迷于对内存使用分配的这种快感,但是随着程序变大,对于内存的维护工作也就越来越大。Java的JVM的自动内存管理机制,凸显出了强大的优越感。 阅读全文
posted @ 2017-06-08 21:12 天驰 阅读(7514) 评论(0) 推荐(2) 编辑
摘要: 题目 实现一个特殊的栈,在实现栈的基本功能的基础上,在实现返回栈中最小元素的操作。 要求 1. pop、push、getMin操作的时间复杂度都是O(1). 2. 设计的栈类型可以使用现成的栈结构。 解答 在设计上我们使用两个栈,一个栈用来保存当前栈中的元素,其功能和一个正常的栈没有区别,这个栈记为 阅读全文
posted @ 2017-04-18 16:29 天驰 阅读(395) 评论(0) 推荐(0) 编辑
摘要: finally块在代码中什么时候被执行? 在Java语言的异常处理中,finally块的作用十九为了保证无论出现什么情况,finally块里面的代码一定会被执行。由于程序执行return就以为这结束对当前函数的调用并跳出这个函数体,因此任何语句要执行都只能在return执行(除非碰到exit函数), 阅读全文
posted @ 2017-04-05 07:47 天驰 阅读(1326) 评论(0) 推荐(0) 编辑
摘要: 类型转换规则 在Java语言中,当参与运算的两个变量的数据类型不同时,就需要进行隐式的数据类型转换,转换的规则是:从低精度向高精度转换即优先级满足: byte 阅读全文
posted @ 2017-04-01 10:28 天驰 阅读(595) 评论(0) 推荐(0) 编辑
摘要: Redis和Spring整合 Redis在这篇里就不做介绍了~以后系统的学学,然后整理写出来。 首先是环境的搭建 通过自己引包的方式,将redis和spring redis的包引到自己的项目中,我项目中是通过pom引进的,如下(貌似版本都是写着篇博客时最新的): 通过pom的依赖可以看出来,我用的J 阅读全文
posted @ 2017-03-31 15:31 天驰 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 构造函数 在java语言中构造函数具有以下特点: 1. 构造函数必须与类名相同,并且不能有返回值; 2. 每个类可以有多个构造函数,如果我们没有提供构造函数,编译器在把源代码编译成字节码的过程中会提供一个没有参数默认的构造函数,但这个构造函数不会执行任何代码。如果我们提供了构造函数,编译器就不会提供 阅读全文
posted @ 2017-03-31 09:42 天驰 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 策略模式 如果解决一件事情有很多种方法(算法,策略),用户根据不同的需求去选择不同的方法。这个时候会用到策略模式。我是通过Head First这本书学习的设计模式,策略模式被看做为整本书的入门章节,可以看出策略模式在一定的意义上还是比较好理解的。 例子 举一个现实中的例子来说吧~ 比如我们上完课,老 阅读全文
posted @ 2017-03-30 15:32 天驰 阅读(133) 评论(0) 推荐(0) 编辑