240 发简信
IP属地:四川
  • 如何高效学习

    《如何高效学习:1年完成麻省理工4年33门课程的整体性学习方法》阅读总结和思考 整体学习法就是把要学的知识和已有的知识和认知进行联系,学习的时候可以通过一系列技巧来建立这种联...

  • 120
    聊聊JAVA中的I/O

    I/O即为输入输出的意思,在实际应用中的I/O操作主要是针对磁盘或者网络。磁盘的I/O主要是针对文件读写,而网络I/O是针对socket中的数据的读写。 I/O的原理 计算机...

  • 最短路径算法(Dijkstra)

    Dijkstra( 迪科斯特拉 )算法是用来解决单源最短路径的算法,要求路径权值非负数。该算法利用了深度优先搜索和贪心的算法。 算法的图解 下面是一个有权图,求从A到各个节点...

  • 设计模式的设计原则

    从第一次接触设计模式到现在已经很多年了,但是一开始都是一知半解,每次都是迷迷糊糊的,但是每次由于开发经验的丰富,对设计模式的理解都有更进一步。所以要学习设计模式还是多编程,多...

  • 动态规划总结

    动态规划 通过子问题递推求解最优的方法, 动态规划常常适用于有重叠子问题和最优子结构性质的问题 。 解题思路 动态的规划的关键是在于如下几点 确定状态 (dp[i],dp[i...

  • 理解HashMap中的Hash和tableSizeFor

    在hashmap中是通过如下的算法来调整table的长度的,下面的算法的最终结果是构建一个2的幂次数。 在HashMap中取一个key的hash值是如下操作的 原来的原来的h...

  • ArrayList学习总结

    ArrayList的主要属性包含存放数据的数组elementData和保存数组中存放数据多少的size,默认的是空数组,初始化之后size为0。当添加数据的时候会将size+...

  • 120
    阿里架构师:​程序员必须掌握的几项技术能力

    一、源码分析 源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂。 源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心。...

  • 程序员的内功修炼——值得看的9本书

    前言 作为程序员,其能力可分为两种: 技术能力,对语言的理解,对所在技术栈中技术的理解,这类能力可称为外功。 思维的修炼,工作效率提升, 对代码的理解,对架构的理解,此类能力...

  • ConcurrentHashMap与HashTable对比

    ConcurrentHashMap与HashTable都是线程安全的,但是其实现机制有所不同,效率也有所不同,其主要区别如下: CAS(Compare And Swap)算法...

  • POJO

    POJO(Plain Ordinary Java Object)意思是普通的java对象 ,没有继承任何类、实现任何接口、也没有包含特殊的注解,。JavaBeans是一类PO...