剑指offer-基础知识

编程语言

pass

Read More

Spring Framework Reference Documentation

Overview

Read More

关于ExceptionHandler与ResponseBody的一次排查

问题

工作中,在使用@ExceptionHandler作为controller全局异常处理的过程中,发现@ResponseBody注解并不能像往常一样返回json格式的数据,而是返回了xml格式的数据。

Read More

剑指offer-关于面试

面试的形式

    Read More

    循序渐进Linux(5)-软件安装与管理

    源码安装

      Read More

      循序渐进Linux(4)-常用命令及使用技巧

      shell简介

      系统管理与维护

        Read More

        循序渐进Linux(2)-系统基本结构

        控制台的使用

        控制台

          Read More

          循序渐进Linux(1)

          key words

          单靠人工无法满足技术、业务、管理方面的要求
          重视标准化、自动化、稳定性、可靠性等需求

          Read More

          ConcurrentHashMap源码笔记

          spread

          假设table的长度为n=2^k,取模操作hash%n等价于hash&(n-1),n-1为mask(二进制的k-1个1)
          即,hash的低k位决定了桶的位置,k位以上的高位不起作用,如果不同hash的低k位相同,就会产生碰撞

          Read More

          foreach中不宜进行remove/add等操作

          原因

          对比源码和反编译可以看出,都使用iterator进行迭代,差别在于foreach用list.remove(i),iterator用iterator.remove()。
          执行在(Integer)iterator.next()抛出并发修改异常(见反编译代码),原因在于,next()中校验了Itr的expectedModCount和ArrayList的modCount需相等。
          list.remove(i)使list的modCount++,而iterator中的expectedModCount不变,由此产生差异。
          iterator.remove()会将list的modCount赋值给expectedModCount,无差异。

          Read More