Kailiang's Blog
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  •   
  •   

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 #刷题
1…34567…10

搜索

Hexo Fluid