07 2017 档案

摘要:前两篇《JVM入门——运行时数据区》《JVM常见垃圾回收算法》所提到的实际上JVM规范以及常用的垃圾回收算法,具体的JVM实现实际上不止一种,有JRockit、J9等待,当然最有名当属HotSpot JVM。下面是HotSpot JVM的整体架构图,本文着重介绍HotSpot中的垃圾回收器(Garb 阅读全文
posted @ 2017-07-15 23:50 OKevin 阅读(1352) 评论(0) 推荐(0) 编辑
摘要:jdk1.7.0_79 众所周知,Java是一门不用程序员手动管理内存的语言,全靠JVM自动管理内存,既然是自动管理,那必然有一个垃圾内存的回收机制或者回收算法。本文将介绍几种常见的垃圾回收(下文简称GC)算法。 在Java堆上分配一个内存给实例对象时,此时在虚拟机栈上引用型变量就会存放这个实例对象 阅读全文
posted @ 2017-07-13 20:36 OKevin 阅读(23401) 评论(0) 推荐(3) 编辑
摘要:jdk1.7.0_79 这张图我相信基本上对JVM有点接触的都应该很熟悉,可以说这是JVM入门的第一课。其中的“堆”和“虚拟机栈(栈)”更是耳熟能详。下面将围绕这张图对JVM的运行时数据区做一个简单介绍。 程序计数器(Program Counter Register) 这和计算机操作系统中的程序计数 阅读全文
posted @ 2017-07-12 00:24 OKevin 阅读(11189) 评论(4) 推荐(2) 编辑
摘要:对于矩阵有一类特殊的矩阵,叫做三角矩阵。 这种矩阵如果还是按照定义一个二维数组来对数值进行存储的话,无疑将消耗掉不必要的空间,所以我们采用压缩存储的方式,将矩阵存储在一位数组中。 对于下三角矩阵,如果按照行优先存储,则{a11, a21, a22, a31, a32, a33, a41, a43,  阅读全文
posted @ 2017-07-07 23:43 OKevin 阅读(1368) 评论(0) 推荐(0) 编辑
摘要:对于一阶线性方程的求解有多种方式,这里将介绍利用高斯消去法解一阶线性方程组。在介绍高斯消去法前需要对《线性代数》做一下温习,同时在代码中对于矩阵的存储做一个简要介绍。 通常遇到矩阵我们会利用二维数组来进行对矩阵数值的存储(例如前几篇中动态规划中对于求解矩阵初始化就是利用二维数组),但在计算机的内存中 阅读全文
posted @ 2017-07-07 22:54 OKevin 阅读(1938) 评论(0) 推荐(0) 编辑
摘要:找零问题:需找零金额为W,硬币面值有(d1, d2, d3,…,dm),最少需要多少枚硬币。 问题:需找零金额为8,硬币面值有(1, 3, 2, 5),最少需要多少枚硬币。 设F(j)表示总金额为j时最少的零钱数,F(0) = 0,W表示找零金额,有零钱一堆{d1, d2, d3,…,dm}。同样根 阅读全文
posted @ 2017-07-05 23:45 OKevin 阅读(1305) 评论(0) 推荐(0) 编辑
摘要:在上一篇《9.动态规划(2)——子集和问题》中,谈到了什么是子集和问题,以及实现。背包问题实际也是子集和问题的一种,不过背包问题不是“判断问题”而是一个“最优问题”。而背包问题实际上又分为“0-1背包”,“完全背包”,本文对“0-1背包”进行讲解。 问题:有n个物品,每个物品的重量为weigh[i] 阅读全文
posted @ 2017-07-03 23:38 OKevin 阅读(4643) 评论(0) 推荐(0) 编辑
摘要:注:因为对“子集和问题”的学习不够深入,所以本文在讲解动态规划递推公式中可能存在叙述不清,或者错误的地方,如有发现望能不吝赐教。 子集和问题可描述如下:给定n个正整数W=(w1, w2, …, wn)和正整数M,要求寻找这样一个子集I⊆{1, 2, 3, ..., n},使得∑wi=M,i∈I[1] 阅读全文
posted @ 2017-07-02 17:28 OKevin 阅读(22183) 评论(5) 推荐(0) 编辑

点击右上角即可分享
微信分享提示