自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

国世的博客

记录我程序员生涯的成长轨迹。

  • 博客(17)
  • 问答 (1)
  • 收藏
  • 关注

原创 深入理解Java虚拟机之对象存活算法的实现(2)

深入理解Java虚拟机之对象存活算法的实现(2)因为HotSpot是准确式GC(前一篇有说),并且是借助OopMap的协助来实现的, 所以就引出了一个问题,导致引用发生变化或者说导致OopMap发生修改的操作可能有 很多,如果每一个指令都生成一个OopMap这根本就不现实,因为如此以来空间成本就 太高了。所以HopSpot并不是为每一条指令都生成一个OopMap的,而是在特点的一些 位置将引

2017-12-19 21:56:15 925

原创 LintCode之50 数组剔除元素后的乘积

题目来源:数组提出元素后的乘积题目描述: 给定一个整数数组A。定义B[i] = A[0] * … * A[i-1] * A[i+1] * … * A[n-1], 计算B的时候请不要使用除法。样例 给出A=[1, 2, 3],返回 B为[6, 3, 2]Java代码:public ArrayList<Long> productExcludeItself(ArrayList<Integer> A)

2017-12-13 21:03:18 407

原创 LintCode之46 主元素

题目来源:主元素题目描述: 给定一个整型数组,找出主元素,它在数组中的出现次数严格大于数组元素个数的二分之一。样例: 给出数组[1,1,1,1,2,2,2],返回 1Java代码:public int majorityNumber(ArrayList<Integer> nums) { // write your code int[] number= new int

2017-12-13 21:01:20 348

原创 深入理解Java虚拟机之对象存活算法的实现

深入理解Java虚拟机之对象存活算法的实现在之前的博客中提到过,判断对象是否存活的方式有两种,一种是标记计数法,一种是可达性分析算法, 由于标记计数法不能解决循环引用的问题,所以大多数的虚拟机采用的都是可达性分析算法。但是我们知道 在可达性分析中可以作为GC Roots的节点主要位于全局性的引用(常量或类的静态成员变量)与执行的上下 文(Java虚拟机栈或本地方法栈的变量表)中,比方说有的应用

2017-12-13 20:51:41 961

原创 关于CentOS7 可以ping通 但是telnet无法连接上端口的问题

昨天应同学的要求在自己公司的云平台找了一台云主机上部署了分布式文件系统 FastDFS, 安装经过比较顺利,但是在启动服务的时候出问题了,追踪器Tracker 很容易就启动起来,端 口也可以通过ss -ntl看到,但是在启动存储器Storage 的时候却怎么也查不到相应的端口,查 看了一下日志,发现是Storage无法连接到Tracker,在确定配置不存在问题之后,觉得可能是 云主机的问题,

2017-12-13 10:34:43 40308 8

原创 LintCode之44 最小子数组

题目来源:最小子数组题目描述: 给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。样例: 给出数组[1, -1, -2, 1],返回 -3Java代码:public int minSubArray(ArrayList<Integer> nums) { // write your code int start=0,end=0,minsum=nums.get

2017-12-12 22:17:38 270

原创 LintCode之41 最大子数组

题目来源:最大子数组题目描述: 给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。样例: 给出数组[−2,2,−3,4,−1,2,1,−5,3],符合要求的子数组为[4,−1,2,1],其最大和为6Java代码:public int maxSubArray(int[] nums) { // write your code int start=0,end=

2017-12-12 22:15:52 212

原创 深入理解Java虚拟机之垃圾收集算法(3)

深入理解Java虚拟机之垃圾收集算法(3)今天说一下垃圾收集算法中的最后一个,“标记-整理算法”,之前说过,“暂停-复制算法”会导致部分空间 的浪费,而且需要有额外的空间进行担保,确保每次暂停复制的时候再另一块空间超出的时候有额外的空间存储, 所以在新生代会采用“暂停-复制算法”,但是在老年代会采用“标记-整理”算法。 “标记整理”算法和“标记-清除”算法比较像,但是在标记完对象之后,不会对可

2017-12-12 22:09:07 257

原创 Java源码阅读之String(4)

Java源码阅读之String(4)这一篇博客主要阅读String类的查找和替换相关的方法。 /* *查询当前对象的哈希码,如果当前对象没有计算过哈希码 *则计算当前对象的哈希码并赋值给当前对象的hash对象 *计算方法为: *value[0]*31^(n-1)+value[1]*31^(n-2)+...+value[n-2]*31+value[n-1]

2017-12-08 15:40:13 352

原创 LintCode之40 用栈实现队列

题目来源:用栈实现队列题目描述: 正如标题所述,你需要使用两个栈来实现队列的一些操作。队列应支持push(element),pop() 和 top(),其中pop是弹出队列中的第一个(最前面的)元素。pop和top方法都应该返回第一个元素的值。样例: 比如push(1), pop(), push(2), push(3), top(), pop(),你应该返回1,2和2Java代码:public

2017-12-07 23:16:37 229

原创 LintCode之39 恢复旋转排序数组

题目来源:恢复旋转排序数组题目描述: 给定一个旋转排序数组,在原地恢复其排序。什么是旋转数组?比如,原始数组为[1,2,3,4], 则其旋转数组可以是[1,2,3,4], [2,3,4,1], [3,4,1,2], [4,1,2,3]样例 [4, 5, 1, 2, 3] -> [1, 2, 3, 4, 5]Java代码:public void recoverRotatedSortedArra

2017-12-07 23:13:32 502

原创 LintCode之38 搜索二维矩阵 II

题目来源:搜索二维矩阵 II 写出一个高效的算法来搜索m×n矩阵中的值,返回这个值出现的次数。这个矩阵具有以下特性:每行中的整数从左到右是排序的。每一列的整数从上到下是排序的。在每一行或每一列中没有重复的整数。样例 考虑下列矩阵: [ [1, 3, 5, 7], [2, 4, 7, 8], [3, 5, 9, 10] ]给出target = 3,返回 2

2017-12-07 23:10:53 432

原创 深入理解Java虚拟机之垃圾收集算法(2)

深入理解Java虚拟机之垃圾收集算法(2)这一篇我们说一下垃圾收集算法中的,“暂停-复制”算法,暂停复制算法是为了补充“标记-清除” 算法的不足出现的,这个算法解决了“标记-清除”算法效率不高且产生内存碎片的缺点。它将内存分 为两块大小相等的区域,每次只使用一块。当这一块内存用完的时候就将这块内存上存活的对象复制到 另一块大小相等的区域中,再将原来的区域清理掉。这样一来每次产生对象都是移

2017-12-07 22:42:13 341

原创 深入理解Java虚拟机之垃圾收集算法(1)

深入理解Java虚拟机之垃圾收集算法(1)这一篇博客我们介绍一下虚拟机的垃圾收集算法,最基础的垃圾收集算法是“标记-清除”法,顾名思义 这个算法分为两个步骤,标记和清除,首先对需要进行回收的对象进行标记,如何进行标记在之前的博客里面 已经说过了,这里就不赘述了,标记完成之后,对所有进行标记过得对象进行回收。之所以说这个算法是最基 础的算法是因为之后的算法都是对这个算法进行的改进和补充,这个算法

2017-12-05 22:04:36 238

原创 Java源码阅读之String(3)

Java源码阅读之String(3)这一篇博客主要读一下String类的比较方法/***将anotherString对象和当前对象进行对比,对比方式为*从两者首位依次向后对比,知道对比到其中一个结束*返回值为负数则当前对象小,返回0则相等,返回正数则当前对象大*/public int compareTo(String anotherString) { int len1 = valu

2017-12-05 18:25:36 482

原创 PathVariable annotation was empty on param 0.

PathVariable annotation was empty on param 0.今天在写Feign调用另一个模块的时候报了一个错,就是标题,到网上查了一下发现问题出在@PathVariable 标记中的value不能为空,也就是不能只写@PathVariable String id而是要写成 @PathVariable(value=”id”) String id,这个问题似乎在普通的类上

2017-12-04 10:43:34 1905

原创 Java源码阅读之String(2)

Java源码阅读之String(2)这一篇博客用于记录String类的部分方法。//获取字符串长度,返回的是value数组的长度public int length() { return value.length;}//根据value数组长度判断字符串是否为空public boolean isEmpty() { return value.length == 0;}//根据ind

2017-12-02 14:32:47 1234

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除