博客园_余林丰 Java · RD hellobug@outlook.com uuid:4a19d0d7-e307-4bc3-bb83-f9b7bfca3238;id=2197 2017-08-15T14:52:48Z 余林丰 /yulinfeng/ feed.cnblogs.com /yulinfeng/p/7367957.html 对于软件开发中开发人员与测试人员关系的理解 - 余林丰 在软件开发中都会有开发人员(以下简称开发)和测试人员(以下简称测试),在一些小型公司可能并没有测试,仅仅是开发兼任测试。在这里我仅针对于有专业的测试和专业的开发的项目。 每个公司应该都有考核机制,对于开发和测试的考核实际上很难量化,通常来讲大的方向就是开发所负责模块的bug数,对于测试来讲就是测出来 2017-08-15T13:48:00Z 2017-08-15T13:48:00Z 余林丰 /yulinfeng/ 【摘要】在软件开发中都会有开发人员(以下简称开发)和测试人员(以下简称测试),在一些小型公司可能并没有测试,仅仅是开发兼任测试。在这里我仅针对于有专业的测试和专业的开发的项目。 每个公司应该都有考核机制,对于开发和测试的考核实际上很难量化,通常来讲大的方向就是开发所负责模块的bug数,对于测试来讲就是测出来 <a href="/yulinfeng/p/7367957.html" target="_blank">阅读全文</a> /yulinfeng/p/7282649.html Effective Java通俗理解(170815持续更新) - 余林丰 这篇博客是Java经典书籍《Effective Java(第二版)》的读书笔记,此书共有78条关于编写高质量Java代码的建议,我会试着逐一对其进行更为通俗易懂地讲解,故此篇博客的更新大约会持续1个月左右。 第1条:考虑用静态工厂方法代替构造器 通常情况下我们会利用类的构造器对其进行实例化,这似乎毫 2017-08-03T15:21:00Z 2017-08-03T15:21:00Z 余林丰 /yulinfeng/ 【摘要】这篇博客是Java经典书籍《Effective Java(第二版)》的读书笔记,此书共有78条关于编写高质量Java代码的建议,我会试着逐一对其进行更为通俗易懂地讲解,故此篇博客的更新大约会持续1个月左右。 第1条:考虑用静态工厂方法代替构造器 通常情况下我们会利用类的构造器对其进行实例化,这似乎毫 <a href="/yulinfeng/p/7282649.html" target="_blank">阅读全文</a> /yulinfeng/p/7188609.html Hotspot JVM垃圾回收器 - 余林丰 前两篇《JVM入门——运行时数据区》《JVM常见垃圾回收算法》所提到的实际上JVM规范以及常用的垃圾回收算法,具体的JVM实现实际上不止一种,有JRockit、J9等待,当然最有名当属HotSpot JVM。下面是HotSpot JVM的整体架构图,本文着重介绍HotSpot中的垃圾回收器(Garb 2017-07-15T15:50:00Z 2017-07-15T15:50:00Z 余林丰 /yulinfeng/ 【摘要】前两篇《JVM入门——运行时数据区》《JVM常见垃圾回收算法》所提到的实际上JVM规范以及常用的垃圾回收算法,具体的JVM实现实际上不止一种,有JRockit、J9等待,当然最有名当属HotSpot JVM。下面是HotSpot JVM的整体架构图,本文着重介绍HotSpot中的垃圾回收器(Garb <a href="/yulinfeng/p/7188609.html" target="_blank">阅读全文</a> /yulinfeng/p/7163052.html JVM常见垃圾回收算法 - 余林丰 jdk1.7.0_79 众所周知,Java是一门不用程序员手动管理内存的语言,全靠JVM自动管理内存,既然是自动管理,那必然有一个垃圾内存的回收机制或者回收算法。本文将介绍几种常见的垃圾回收(下文简称GC)算法。 在Java堆上分配一个内存给实例对象时,此时在虚拟机栈上引用型变量就会存放这个实例对象 2017-07-13T12:36:00Z 2017-07-13T12:36:00Z 余林丰 /yulinfeng/ 【摘要】jdk1.7.0_79 众所周知,Java是一门不用程序员手动管理内存的语言,全靠JVM自动管理内存,既然是自动管理,那必然有一个垃圾内存的回收机制或者回收算法。本文将介绍几种常见的垃圾回收(下文简称GC)算法。 在Java堆上分配一个内存给实例对象时,此时在虚拟机栈上引用型变量就会存放这个实例对象 <a href="/yulinfeng/p/7163052.html" target="_blank">阅读全文</a> /yulinfeng/p/7153391.html JVM入门——运行时数据区 - 余林丰 jdk1.7.0_79 这张图我相信基本上对JVM有点接触的都应该很熟悉,可以说这是JVM入门的第一课。其中的“堆”和“虚拟机栈(栈)”更是耳熟能详。下面将围绕这张图对JVM的运行时数据区做一个简单介绍。 程序计数器(Program Counter Register) 这和计算机操作系统中的程序计数 2017-07-11T16:24:00Z 2017-07-11T16:24:00Z 余林丰 /yulinfeng/ 【摘要】jdk1.7.0_79 这张图我相信基本上对JVM有点接触的都应该很熟悉,可以说这是JVM入门的第一课。其中的“堆”和“虚拟机栈(栈)”更是耳熟能详。下面将围绕这张图对JVM的运行时数据区做一个简单介绍。 程序计数器(Program Counter Register) 这和计算机操作系统中的程序计数 <a href="/yulinfeng/p/7153391.html" target="_blank">阅读全文</a> /yulinfeng/p/7134533.html 13.高斯消去法(2)——三角矩阵 - 余林丰 对于矩阵有一类特殊的矩阵,叫做三角矩阵。 这种矩阵如果还是按照定义一个二维数组来对数值进行存储的话,无疑将消耗掉不必要的空间,所以我们采用压缩存储的方式,将矩阵存储在一位数组中。 对于下三角矩阵,如果按照行优先存储,则{a11, a21, a22, a31, a32, a33, a41, a43,  2017-07-07T15:43:00Z 2017-07-07T15:43:00Z 余林丰 /yulinfeng/ 【摘要】对于矩阵有一类特殊的矩阵,叫做三角矩阵。 这种矩阵如果还是按照定义一个二维数组来对数值进行存储的话,无疑将消耗掉不必要的空间,所以我们采用压缩存储的方式,将矩阵存储在一位数组中。 对于下三角矩阵,如果按照行优先存储,则{a11, a21, a22, a31, a32, a33, a41, a43,  <a href="/yulinfeng/p/7134533.html" target="_blank">阅读全文</a> /yulinfeng/p/7134440.html 12.高斯消去法(1)——矩阵编程基础 - 余林丰 对于一阶线性方程的求解有多种方式,这里将介绍利用高斯消去法解一阶线性方程组。在介绍高斯消去法前需要对《线性代数》做一下温习,同时在代码中对于矩阵的存储做一个简要介绍。 通常遇到矩阵我们会利用二维数组来进行对矩阵数值的存储(例如前几篇中动态规划中对于求解矩阵初始化就是利用二维数组),但在计算机的内存中 2017-07-07T14:54:00Z 2017-07-07T14:54:00Z 余林丰 /yulinfeng/ 【摘要】对于一阶线性方程的求解有多种方式,这里将介绍利用高斯消去法解一阶线性方程组。在介绍高斯消去法前需要对《线性代数》做一下温习,同时在代码中对于矩阵的存储做一个简要介绍。 通常遇到矩阵我们会利用二维数组来进行对矩阵数值的存储(例如前几篇中动态规划中对于求解矩阵初始化就是利用二维数组),但在计算机的内存中 <a href="/yulinfeng/p/7134440.html" target="_blank">阅读全文</a> /yulinfeng/p/7124122.html 11.动态规划(4)——找零问题 - 余林丰 找零问题:需找零金额为W,硬币面值有(d1, d2, d3,…,dm),最少需要多少枚硬币。 问题:需找零金额为8,硬币面值有(1, 3, 2, 5),最少需要多少枚硬币。 设F(j)表示总金额为j时最少的零钱数,F(0) = 0,W表示找零金额,有零钱一堆{d1, d2, d3,…,dm}。同样根 2017-07-05T15:45:00Z 2017-07-05T15:45:00Z 余林丰 /yulinfeng/ 【摘要】找零问题:需找零金额为W,硬币面值有(d1, d2, d3,…,dm),最少需要多少枚硬币。 问题:需找零金额为8,硬币面值有(1, 3, 2, 5),最少需要多少枚硬币。 设F(j)表示总金额为j时最少的零钱数,F(0) = 0,W表示找零金额,有零钱一堆{d1, d2, d3,…,dm}。同样根 <a href="/yulinfeng/p/7124122.html" target="_blank">阅读全文</a> /yulinfeng/p/7113588.html 10.动态规划(3)——0-1背包问题 - 余林丰 在上一篇《9.动态规划(2)——子集和问题》中,谈到了什么是子集和问题,以及实现。背包问题实际也是子集和问题的一种,不过背包问题不是“判断问题”而是一个“最优问题”。而背包问题实际上又分为“0-1背包”,“完全背包”,本文对“0-1背包”进行讲解。 问题:有n个物品,每个物品的重量为weigh[i] 2017-07-03T15:38:00Z 2017-07-03T15:38:00Z 余林丰 /yulinfeng/ 【摘要】在上一篇《9.动态规划(2)——子集和问题》中,谈到了什么是子集和问题,以及实现。背包问题实际也是子集和问题的一种,不过背包问题不是“判断问题”而是一个“最优问题”。而背包问题实际上又分为“0-1背包”,“完全背包”,本文对“0-1背包”进行讲解。 问题:有n个物品,每个物品的重量为weigh[i] <a href="/yulinfeng/p/7113588.html" target="_blank">阅读全文</a> /yulinfeng/p/7106564.html 9.动态规划(2)——子集和问题 - 余林丰 注:因为对“子集和问题”的学习不够深入,所以本文在讲解动态规划递推公式中可能存在叙述不清,或者错误的地方,如有发现望能不吝赐教。 子集和问题可描述如下:给定n个正整数W=(w1, w2, …, wn)和正整数M,要求寻找这样一个子集I⊆{1, 2, 3, ..., n},使得∑wi=M,i∈I[1] 2017-07-02T09:28:00Z 2017-07-02T09:28:00Z 余林丰 /yulinfeng/ 【摘要】注:因为对“子集和问题”的学习不够深入,所以本文在讲解动态规划递推公式中可能存在叙述不清,或者错误的地方,如有发现望能不吝赐教。 子集和问题可描述如下:给定n个正整数W=(w1, w2, …, wn)和正整数M,要求寻找这样一个子集I⊆{1, 2, 3, ..., n},使得∑wi=M,i∈I[1] <a href="/yulinfeng/p/7106564.html" target="_blank">阅读全文</a>