Java锁之读写锁 学习自尚硅谷 独占锁(写锁) / 共享锁(读锁) / 互斥锁概念独占锁:指该锁一次只能被一个线程所持有。对ReentrantLock和Synchronized而言都是独占锁 共享锁:指该锁可以被多个线程锁持有 对ReentrantReadWriteLock其读锁是共享,其写锁是独占 写的时候只能一个人写,但是读的时候,可以多个人同时读 为什么会有写锁和读锁原来我们使用Ree 2021-02-18 后端 #java #高并发
Collection线程不安全的举例 学习自尚硅谷 Collection线程不安全的举例前言1、当我们执行下面语句的时候,底层进行了什么操作 1new ArrayList<Integer>(); 底层创建了一个空的数组,伴随着初始值为10 当执行add方法后,如果超过了10,那么会进行扩容,扩容的大小为原值的一半,也就是5个,使用下列方法扩容 1Arrays.copyOf(elementData, netCapaci 2021-02-17 后端 #java #高并发
volatile的理解 学习自b站尚硅谷 https://www.bilibili.com/video/BV1zb411M7NQ?p=4&spm_id_from=pageDriver 谈谈你对volatile关键字的理解。Volatile是Java虚拟机提供的轻量级的同步机制(三大特性) 保证可见性 不保证原子性 禁止指令重排 JMM是什么JMM是Java内存模型,也就是Java Memory Model 2021-02-17 后端 #java #排序 #volatile
Java两种动态代理JDK动态代理和CGLIB动态代理笔记 代理模式 学习自狂神b站视频 为什么要学习代理模式,因为AOP的底层机制就是动态代理! 代理模式又分为静态代理和动态代理。动态代理在实现阶段不用关心代理谁,而在运行阶段才指定代理哪一个对象。相对来说,自己写代理类的方式就是静态代理。 静态代理那我们先来写一个静态代理吧 静态代理 静态代理角色分析 抽象角色 : 一般使用接口或者抽象类来实现 真实角色 : 被代理的角色 代理角色 : 代 2021-02-16 后端 #java #动态代理 #JDK
leetcode215. 数组中的第K个最大元素 这题和剑指 Offer 40. 最小的k个数思路基本相同。 思路:用一个小顶堆,筛选出k个最大的元素,那么在头的那个就是和第k大的元素了 123456789101112131415161718class Solution {public: int findKthLargest(vector<int>& nums, int k) { / 2021-02-12 算法 #leetcode #刷题
用Jsoup写个小爬虫玩玩 初始化 获取请求返回的页面信息,筛选出我们想要的数据就可以了初始化项目导入依赖 代码编写编写一个封装对象的实体类12345678910111213141516package com.shoukailiang;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@Data@AllAr 2021-02-11 爬虫 #jsonp #爬虫
Leetcode67. 二进制求和 你两个二进制字符串,返回它们的和(用二进制表示)。 输入为 非空 字符串且只包含数字 1 和 0。 12345678示例 1:输入: a = "11", b = "1"输出: "100"示例 2:输入: a = "1010", b = "1011"输出: "10101" 123 2021-02-07 算法 #leetcode #刷题
剑指 Offer 03. 数组中重复的数字 找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 1234567891011class Solution {public: int findRe 2021-02-05 算法 #刷题 #剑指 Offer
hexo 错误记录 之nvm安装 hexo d 的时候报了这个错。查了几篇文章,发现是node 版本太高了,使用nvm更换为12.14.0可以正常上传 12TypeError [ERR_INVALID_ARG_TYPE]: The "mode" argument must be integer. Received an instance of Object at copyFile (fs.js:1972: 2021-02-03 前端 #hexo #nvm
剑指 Offer 40. 最小的k个数 描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。 示例1输入1[4,5,1,6,2,7,3,8],4 输出1[1,2,3,4] 思路排序找(此处省略)堆排序可以采用大顶堆来实现。好了你要问了为什么是大顶堆不是小顶堆呢?不是找最小的k个数吗?我们分析一下思路首先将4个数放入数组中形成 14 5 1 6 然后既然是最小的k个数 2021-01-02 算法 #leetcode #刷题