摘要:
一、内存模型的相关概念 大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问题,由于CPU执行速度很快,而从内存读取数据和向内存写入数据的过程跟CPU执行指令的速度比起 阅读全文
posted @ 2019-04-12 21:12
Uarealoser
阅读(110)
评论(0)
推荐(0)
摘要:
一.synchronized的缺陷 synchronized是java中的一个关键字,也就是说是Java语言内置的特性。那么为什么会出现Lock呢? 在上面一篇文章中,我们了解到如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待,等待获 阅读全文
posted @ 2019-04-12 20:44
Uarealoser
阅读(282)
评论(0)
推荐(0)
摘要:
一、什么时候出现线程安全问题 在单线程中不会出现线程安全问题,而在多线程编程中,有可能会出现同时访问同一个资源的情况,这种资源可以是各种类型的的资源:一个变量、一个对象、一个文件、一个数据库表等,而当多个线程同时访问同一个资源的时候,就会存在一个问题: 由于每个线程执行的过程是不可控的,所以很可能导 阅读全文
posted @ 2019-04-12 19:49
Uarealoser
阅读(109)
评论(0)
推荐(0)
摘要:
一、线程的几种状态 线程从创建到最终的消亡,要经历若干个状态。一般来说,线程包括以下这几个状态:创建(new)、就绪(runnable)、运行(running)、阻塞(blocked)、time waiting、waiting、消亡(dead)。 当需要新起一个线程来执行某个子任务时,就创建了一个线 阅读全文
posted @ 2019-04-12 19:39
Uarealoser
阅读(241)
评论(0)
推荐(0)
摘要:
一、查找和排序 如果面试的时候要求在排序的数组(或者部分排序的数组)中查找一个数字或者统计某个数字出现的次数,可以尝试用二分查找。 二、动态规划和贪婪算法 如果面试题是求一个问题的最优解,如果把小问题的最优解组合起来能够得到整个问题的最优解,那么我们可以应用动态规划解决这个问题。 我们在应用动态规划 阅读全文
posted @ 2019-04-12 14:09
Uarealoser
阅读(153)
评论(0)
推荐(0)

浙公网安备 33010602011771号