摘要: 以下内容摘自:Java并发编程之美 加锁和释放锁的语义:当获取锁以后会清空锁块内本地内存中将会被用到的共享变量,在使用这些共享变量的时从主内存进行加载,在释放锁时将本地内存中修改的 共享变量刷新到主内存中。 进入synchronized块的内存语义是把在synchronized块内使用到的变量从线程 阅读全文
posted @ 2019-10-26 14:08 小路不会迷路 阅读(784) 评论(0) 推荐(0) 编辑
摘要: 在学习这个InheritableThreadLocal类的时候,我对于有个地方一直没有理解,我发现了盲点。 在这个地方,我的思想出现了问题,对于这个currentThread得到了当前线程,这里没有问题,然后设置this.inheritableThreadLocals= ThreadLocal.cr 阅读全文
posted @ 2019-10-26 11:41 小路不会迷路 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 阅读全文
posted @ 2019-10-25 20:51 小路不会迷路 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 实现 pow(x, n) ,即计算 x 的 n 次幂函数。 //感想:自己也是菜的不行,我竟然把这个当成那种需要位运算的那种题解求什么乘法这类的题目,大错特错。 还是看了答案,发现自己好像刷过这道题,或者是非常相似的一道,看完我就感觉特别熟悉。。。 //题解:快速幂,对于一个pow(x,n)来说求x 阅读全文
posted @ 2019-10-25 09:18 小路不会迷路 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。给定 matrix = [ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1] 阅读全文
posted @ 2019-10-24 21:43 小路不会迷路 阅读(106) 评论(0) 推荐(0) 编辑
摘要: leetcode第41题,缺失的第一个正数 对于这道题,利用的是桶排序的思想,桶排序也就是利用数组的下标和值对应的关系,也就是说下标为0的索引对应的值应该就是0,依次类推n对应n 但是这只是一种对应关系,也就是说我们不仅仅只局限于这种关系,只要有合理的对应关系即可,那么这题要求从1开始第一个没有的正 阅读全文
posted @ 2019-10-23 09:04 小路不会迷路 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-10-22 21:00 小路不会迷路 阅读(98) 评论(0) 推荐(0) 编辑
摘要: /**父类*/public class SynchronizedDemo1 implements Runnable { @Override public void run() { try { method(); } catch (InterruptedException e) { e.printSt 阅读全文
posted @ 2019-10-22 10:23 小路不会迷路 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 解析: 递归: 回文子串,一开始想的是用递归求解,对这个字符串直接判断如果是,那么直接返回就可以,如果不是,那么我们就需要考虑两种情况了,一种是舍去开头,一种是舍去结尾,这样一直递归下去,直到某个时刻找到一个字符串是回文的,那么这个肯定是最长的子串。 动态规划: 考虑建立一个二维的dp数组,对于动态 阅读全文
posted @ 2019-09-27 11:29 小路不会迷路 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,3 阅读全文
posted @ 2019-09-21 19:13 小路不会迷路 阅读(214) 评论(0) 推荐(0) 编辑