发布了文章2019-06-29
{代码...} 总结一下 我的方法是先从括号的算起,根据运算符索引查找运算数索引,从而进行计算,算完后删除运算符和运算数,并将运算结果放回待运算的列表
发布了文章2019-06-16
Lock主要是自定义一个 counter,从而利用CAS对其实现原子操作,而synchronized是c++ hotspot实现的 monitor(具体的咱也没看,咱就不说)
发布了文章2019-06-12
题目描述如图:解法一:将待匹配的左括号放入队列或栈(因为只需拿最近一个元素并删除,用数组都行,只不过队列封装了removeLast(),所以直接用就好了)
发布了文章2019-06-12
题目描述如图:解法一:将待匹配的左括号放入队列或栈(因为只需拿最近一个元素并删除,用数组都行,只不过队列封装了removeLast(),所以直接用就好了)
发布了文章2019-06-12
题目如图:其实这道题相当于让我们自己手写indexOf(),平时用惯了api,手写起来不是很容易,我自己就换了好几种写法,代码如下: {代码...} 看了第一名的代码,愈发觉得jdk作者的强大?
发布了文章2019-06-12
题目如图:其实这道题相当于让我们自己手写indexOf(),平时用惯了api,手写起来不是很容易,我自己就换了好几种写法,代码如下: {代码...} 看了第一名的代码,愈发觉得jdk作者的强大?
发布了文章2019-06-12
给定一个字符数组,例如char[] chars = { 'a', 'b', 'b', 'b', 'b', 'c', 'a', 'a', 'a'};找出数组中出现次数最多的字符,如果存在相同次数的字符,取出现较早者。一个问题的解决方案有多种:
发布了文章2019-06-12
表级约束(外键) 指多个元组之间,关系之间的联系的约束。例如,学生成绩表中的 stu_no 字段,实际取值源于 学生表中的 stu_no 字段
发布了文章2019-06-11
Java并发的核心就是 java.util.concurrent 包,而 j.u.c 的核心是AbstractQueuedSynchronizer抽象队列同步器,简称 AQS,一些锁啊!信号量啊!循环屏障啊!都是基于AQS。而 AQS 又是基于Unsafe的一系列compareAndSwap,所以理解了这块,并发不再是问题!
发布了文章2019-06-11
Java并发的核心就是 java.util.concurrent 包,而 j.u.c 的核心是AbstractQueuedSynchronizer抽象队列同步器,简称 AQS,一些锁啊!信号量啊!循环屏障啊!都是基于AQS。而 AQS 又是基于Unsafe的一系列compareAndSwap,所以理解了这块,并发不再是问题!
发布了文章2019-06-11
耐心看完的你或多或少会有收获! ThreadPoolExecutor field 的解释 在了解线程池之前,希望你已经了解了 Java内存模型 和 AQS CAS {代码...} 总结一下 写得好的源码,注释一定要好好看一遍 线程池的状态和工作线程数量用 32 位二进制数表示,然后通过二进制的位运算...
发布了文章2019-06-11
耐心看完的你或多或少会有收获! ThreadPoolExecutor field 的解释 在了解线程池之前,希望你已经了解了 Java内存模型 和 AQS CAS {代码...} 总结一下 写得好的源码,注释一定要好好看一遍 线程池的状态和工作线程数量用 32 位二进制数表示,然后通过二进制的位运算...