- 博客(8)
- 资源 (55)
- 收藏
- 关注
原创 避免对boolean判断
Java里的boolean数据类型被定义为存储8位(1个字节)的数值形式,但只能是true或是false。有些时候我们出于写代码的习惯,经常容易导致习惯性思维,这里指的习惯性思维是想要对生成的数据进行判别,这样感觉可以在该变量进入业务逻辑之前有一层检查、判定。对于大多数的数据类型来说,这是正确的做法,但是对于boolean变量,我们应该尽量避免不必要的等于判定。如果尝试去掉boolean与true
2017-11-30 09:31:05 868
原创 LRU算法
LRU是Least Recently Used 的缩写,即“最近最少使用”,基于LRU算法实现的Cache机制简单地说就是缓存一定量的数据,当超过设定的阈值时就把一些过期的数据删除掉,比如我们缓存10000条数据,当数据小于10000时可以随意添加,当超过10000时就需要把新的数据添加进来,同时要把过期数据删除,以确保我们最大缓存10000条,那怎么确定删除哪条过期数据呢,采用LRU算法实现就是
2017-11-27 16:08:10 846
原创 LFU算法
LFU(LeastFrequently Used),即最近最多使用算法。它是基于“如果一个数据在最近一段时间内使用次数很少,那么在将来一段时间内被使用的可能性也很小”的思路。LFU算法需要维护一个队列记录所有数据的访问记录,每个数据都需要维护引用计数。LFU算法需要记录所有数据的访问记录,内存消耗较高;需要基于引用计数排序,性能消耗较高。LFU的每个数据块都有一个引用计数,所有数据块按照引用计数排
2017-11-24 09:17:57 5828
原创 JVM之虚拟机栈
虚拟机栈是一种可以被用来快速访问的存储区域,该区域位于通用RAM[1]里面,通过使用它的所谓的“栈指针”可以让我们访问处理器。栈是一种快速有效的分配存储方法,存取速度仅次于寄存器,堆栈指针若向下移动,则分配新的内存,若向上移动,则释放那些内存。由于Java编译器需要预先去生成相应的内存空间,所以当我们尝试创建程序的时候,Java编译器必须知道被存储在栈内的所有数据的确切大小和生命周期,以便可以按照
2017-11-21 11:20:06 488
原创 JVM之堆
堆在JVM规范里是一种通用性的内存池(也存在于RAM中),用于存放所有的Java对象。堆是一个运行时数据区,类的对象从中分配空间。这些对象通过New关键字被建立,它们不需要程序代码来显式地释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存周期也不需要事先告诉编译器。由于它是在运行时动态分配内存的,Java的垃圾收集器会自动收走那些不再使用的数据。但缺点是,由于要在运行时动态分配内
2017-11-13 18:43:17 784
原创 JVM之程序计数器
冯·诺伊曼计算机体系结构的主要内容之一就是“程序预存储,计算机自动执行”,处理器要执行的程序(指令序列)都是以二进制代码序列方式预存储在计算机的存储器中,处理器将这些代码逐条地取到处理器中再译码、执行,以完成整个程序的执行。为了保证程序能够连续地执行下去,CPU必须具有某些手段来确定下一条取址指令的地址,程序计数器正是起到这种作用,所以通常又称之为“指令计数器”。程序计数器(Program Cou
2017-11-10 10:32:16 874
原创 JVM之本地栈
本地方法栈(Native Method Stacks)和Java虚拟机栈的功能很相似,Java虚拟机栈用于管理Java函数的调用,而本地方法栈用于管理本地方法的调用。本地方法并不是用Java实现的,而是使用C实现的。当某个线程调用一个本地方法时,它就进入了一个全新的并且不再受虚拟机限制的世界,本地方法可以通过本地方法接口来访问虚拟机运行时的数据区,但不止于此,它还可以做任何它想做的事情。比如,它甚
2017-11-04 16:03:35 439
原创 FIFO算法
FIFO(First in First out),即先进先出算法,比如在超市购物之后会提着我们满满的购物车来到收银台排在结账队伍的最后,眼睁睁地看着前面的客户一个个离开,这就是一种先进先出机制,先排队的客户先行结账离开。其实在操作系统的设计理念中很多地方都利用到了先进先出的思想,比如作业调度机制,采用先来先服务的原则,为什么这个原则在很多地方都会用到呢?因为这个原则简单,符合人们的惯性思维,具备公
2017-11-02 10:09:55 2755
java foundattions introduction to programmer
2012-07-12
Beginning.iPhone.3.Development,Exploring.the.iPhone.SDK
2013-12-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人