1.JUC:
二.Java基础 1.58同城的Java字符串常量池 2.字节跳动两数求和(1)解法一:
public static void main(String[] args) { int[] nums = new int[]{2, 7, 11, 15}; int target = 9; int[] myIndex = twoSum(nums,target); for (int element: myIndex) { System.out.println(element); } } @Test public static int[] twoSum(int[] arr, int target) { for (int i = 0; i < arr.length; i++) { for (int j = i + 1; j < arr.length; j++) { if (arr[i] + arr[j] == target) { return new int[]{i, j}; } } } return null; }
(2)解法二:
public static void main(String[] args) { int[] nums = new int[]{2, 7, 11, 15}; int target = 9; int[] myIndex = twoSum2(nums,target); for (int element: myIndex) { System.out.println(element); } } @Test public static int[] twoSum2(int[] arr, int target) { HashMapmap = new HashMap<>(); for (int i = 0; i < arr.length; i++) { int partnerNumber = target - arr[i]; if (map.containsKey(partnerNumber)) { return new int[]{map.get(partnerNumber),i}; } map.put(arr[i],i); } // map k值 v下标 // 2 0 return null; }
解释:
3.字节跳动手写LRU算法,见Redis最后 三.JUC 1.题目+说明 2.可重入锁又名递归锁,即方法里面调方法
3.LockSupport
对于:lock和unlock,syncorniezed,wait和notify,await和signal,park和unpark
park和unpark的用法:如果先unpark()再park()即先唤醒再等待也不会出现死锁的情况,二其他用法存在这种情况。
4.AbstractQueuedSynchronizer之AQS(1)JUC底子就是AQS(前置知识:可重入锁,LockSupport)
四.Spring 五.Redis 六.补充和总结
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)