Wenqi's Blog


  • 首页

  • 归档

  • 标签

  • 读书记

  • 勾搭

博客更新日志

发表于 2019-08-18 | | 阅读次数:

主题采用next主题,这里主题的文件夹默认为next文件夹

阅读全文 »

毕业月记

发表于 2019-07-20 | | 阅读次数:


(图片为华东师范大学2019届毕业花:绣球花,花语是让希望、永恒与团聚永存心间)

阅读全文 »

深度优先搜索总结

发表于 2018-06-25 | | 阅读次数:

深度优先搜索(DFS)和广度优先搜索(BFS)都是一种对可能解答路径的枚举方式,深度优先搜索每次都从一个方向一直搜索到最终状态,然后进行回溯尝试枚举其他到达最终状态的路径。回溯的过程需要存储回溯点当前的状态,递归方法可以很好的完成这个任务,在递归方法之前设置状态信息,在递归后将状态信息设置回原值。如果设计递归方法是关键,递归方法对应着深度优先搜索的策略。本文尝试从几个例子尝试探索使用深度优先搜索方法的一般设计方法。

阅读全文 »

背包问题总结

发表于 2018-06-24 | | 阅读次数:

背包问题是经典动态规划思想的应用实例。其基本问题是:在拥有一个固定容量的背包的情况下,如何选择不同体积并且价值不同的物品装入背包中,使得背包中的物品的价值最大。也就是说物品有两个维度的属性:体积和价值,而背包限制了总体积。针对这个问题,衍生出不同的背包问题。

阅读全文 »

Spring学习笔记之bean的生命周期

发表于 2018-06-21 | | 阅读次数:

理解spring bean的生命周期对于细粒度的控制bean的创建、使用和销毁具有重要的意义,比如我们想要在一个bean创建之后做些额外的操作,合理的使用spring在生命周期中的调用方法,就可以轻易的完成这个任务,不过,首先,我们要理解bean在整个生命周期调用的方法链,才能正确的完成所需的功能。本文的目的是尝试使用实验的方式探索一个bean的生命周期。

阅读全文 »

Java并发系列笔记之阻塞队列

发表于 2018-06-10 | | 阅读次数:

阻塞队列是Java并发中重要的并发容器,而且这个并发容器首先是队列,提供队列FIFO的特性,而且是这个队列是具有阻塞特性的,也就是说在队列满和队列空的情况下,会对添加线程和获取线程进行阻塞,以等待相应的同步状态释放,方法才得以返回。这种特性大有用武之地,比如典型的并发问题,生产者消费者问题,就可以将这种阻塞队列抽象出来,实现一种具有并发控制的容器,作为一种新的数据结构提供给应用层使用。

阅读全文 »

解析Arrays中sort方法的黑科技

发表于 2018-05-13 | | 阅读次数:

排序问题是算法里面的经典问题,也是计算机学科数据结构课程里面的必修课,面对诸多的如插入排序,快速排序,堆排序,归并排序等等经典排序算法,JDK的实现者是如何选择排序算法的呢?我们经常使用的对数据进行排序的算法Arrays.sort,Collections.sort方法,那么具体它们是如何实现的呢,本文尝试从jdk 1.8的实现源码上进行分析,学习在实际工业环境下对排序算法的使用方法。

阅读全文 »

Java并发系列笔记之并发容器ConcurrentHashMap

发表于 2018-05-08 | | 阅读次数:

线程不安全的HashMap

多线程情况下,HashMap由于在扩容的时候会导致链变成环,在下一次查询的时候会使得出现死循环的出现。变成环的主要原因在于HashMap扩容的逻辑是不具有原子性的,扩容的基本逻辑包括下面三条:

  1. 当前节点为e,获取当前节点的下一个节点next
  2. 将e按照hash移到到扩容后的hash表中,置e.next等于newtable[i],头插法
  3. 将e置为next进入下一次循环
阅读全文 »

Java并发系列笔记之线程池

发表于 2018-05-06 | | 阅读次数:

线程池是资源复用的典范之作,其基本思想是维护一个含有一定数量的在运行的线程集合,在需要运行线程任务的时候直接从这个集合中取出一个线程去运行任务,而不是重新创建一个。

阅读全文 »

Java并发系列笔记之Java中的锁

发表于 2018-05-02 | | 阅读次数:

锁是多线程下进行同步互斥的重要实现依托,Java语言中除了提供了使用synchronized关键字提供的隐式锁,也提供了以Lock接口定义的显示锁。一般Lock的子类实现依赖于一个抽象队列同步器(AbstractQueuedSynchronizer, AQS)的子类实现。AQS的目的是提供对同步状态的获取和释放的基础同步功能给依赖者使用,而屏蔽了同步状态获取和释放的具体实现。AQS是一个抽象类,它使用模板模式定义获取和释放同步状态的模板方法,而将模板方法所依赖的获取同步,阻塞管理等其他方法交给需要不同并发策略的子类去实现。本文从AQS的具体实现讲起,接着分析不同锁机制的实现原理。

阅读全文 »
12…4
Wenqi

Wenqi

To do one thing well.

38 日志
16 标签
RSS
Email 订阅
GitHub Linkin
友情链接
  • Mi&Jack
  • MengQi
© 2017 — 2019 Wenqi
由 Hexo 强力驱动
|
主题 — NexT.Mist