• 死锁的理解


    死锁是由于一系列线程竞争一些列资源产生的永久阻塞。导致死锁的有两种情况:

       1.自死锁(往往被忽略)

        一个线程在拥有某个资源的情况下又试图申请对该资源的使用,陷入到自死锁。

       2.另外一种情况是线程1用于资源A,线程2拥有资源B,这时候线程1申请资源B,线程2申请资源A,陷入了相互等待的境地,造成死锁。

    ===============

       map内部实现是依据红黑树的,查询的时间复杂度为log(n)。hash_map的内部实现是哈希表,查询的时间复杂度为n(1)。hash可以看成用空间复杂度换取了时间复杂度。

        在hash_map中,每个key都对应于一个桶,用来容纳value值。为了实现hash_map,我们需要定义哈希函数和等于比较函数。在没有提供这些函数的时候会用一个缺省的。

       有很重要的一点是hash_map需要定义的是等于函数,而map需要定义的是比较大小的函数,这样是和他们的特点相对应的,hash_map是基于哈希的思想,它只要看看置顶的键值有没有存在,用等于函数就可以实现。map是基于红黑树的,用比较函数比较大小。

    ================

        在面试题目中经常要让我们从一个数字序列中找出我们想要的一些信息,针对这样的题目,本人有如下重要总结,希望帮助大家:

        1.如果要处理的数字序列是一个无序的数列,那么尽量往快速排序上靠,用快速排序的思想解决此类问题。

        2.如果要处理的数字序列是一个有序的数列,那么尽量往二分查找上靠,用二分查找的思想解决此类问题。

  • 相关阅读:
    eclipse实现热部署和热启动
    java.sql.SQLException: Incorrect string value: 'xF0x9Fx98x87<b
    Springboot 热部署中存在冲突的问题
    在执行save操作时候出现的诡异!
    富文本编辑器选择使用
    Springboot 1.5.x版本上读取自定义配置文件问题
    Springboot中静态资源和拦截器处理(踩了坑)
    表单验证——jquery validate使用说明【另一个教程】
    表单验证——jquery validate使用说明
    注册页面
  • 原文地址:https://www.cnblogs.com/li-daphne/p/5506380.html
Copyright © 2020-2023  润新知