自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一直AC丶

非常喜欢亚里士多德说的一句话,你知道的越多,你不知道的越多!

  • 博客(30)
  • 资源 (1)
  • 收藏
  • 关注

原创 一文了解CAS以及源码分析

声明:尊重他人劳动成果,转载请附带原文链接!学习交流,仅供参考!文章目录一、什么CAS?1、CAS简介2、CAS的三个操作数2、用处二、应用场景及源码分析三、等价代码实现1、等价代码实现四、CAS中的缺点(ABA问题),怎么解决?1、什么是ABA问题?2、自旋时间长一、什么CAS?1、CAS简介CAS 是compareAndSwap的简称,用中文表达则为比较并更新,简单的说,预期原值A和从某一内存中取得的值V两者相比较,如果预期原值A和内存值V相等,那么我们就把新值B更新到内存,如果不相等,那.

2021-11-20 00:08:11 747

原创 一文了解java并发工具----------ThreadLocal

声明:尊重他人劳动成果,转载请附带原文链接!学习交流,仅供参考!文章目录一、ThreadLocal简介1、什么是ThreadLocal?二、两大应用场景1、每个线程需要一个独立的对象2、每个线程内需要保存全局变量3、两种应用场景的总结三、使用ThreadLocal的好处四、实现原理、源码分析1、ThreadLocal实现线程独立的原理1、常用方法源码解析五、ThreadLocal使用不当,出现的内存泄露以及避免方案六、ThreadLocal注意点一、ThreadLocal简介1、什么是Thread.

2021-11-12 13:28:26 557

原创 一文了解线程池及实现原理

声明:尊重他人劳动成果,转载请附带原文链接!学习交流,仅供参考!文章目录一、线程池介绍1、什么是线程池?2、为什么要创建线程池?3、使用线程池的好处二、创建线程池1、线程池构造函数的参数详解2、线程池应该是手动创建还是自动创建?3、线程池里的线程数量设定多少才合适?三、停止线程池停止线程的正确方法四、线程池拒绝任务策略五、钩子方法六、实现原理、源码分析一、线程池介绍1、什么是线程池?线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程.

2021-11-10 14:48:25 405

原创 什么是死锁、活锁、饥饿?

声明:尊重他人劳动成果,转载请附带原文链接!学习交流,仅供参考!文章目录1、死锁的概念以及危害2、必然死锁的例子3、死锁排除以及分析方法3、1 jstack方法3、2 ThreadMXBean接口4、死锁修复策略5、实际项目中如何避免死锁?6、什么是活锁?7、什么是饥饿?1、死锁的概念以及危害发生场景:发生在并发中多线程/多进程改善了系统资源的利用率并且还提高了系统的处理能力,但是并发也带了新的问题----->死锁。概念:死锁是指两个或者两个以上的线程在执行过程中,由于竞争.

2021-11-06 00:21:13 441

原创 一文了解volatile高并发关键字

声明:尊重他人劳动成果,转载请附带原文链接!学习交流,仅供参考!文章目录1、volatile是什么?2、volatile实用那些场合?2.1 不适合场景 a++(递增或者递减,含有依赖关系的)2.2 适合场景2.2.1 赋值操作2.2.2 触发器4、volatile总结1、volatile是什么?1、volatile是一种同步机制,和synchroized、Lock两者之比,更加轻量,因为使用volatile并不会发生上下文切换等开销很大的行为。2、如果一个变量被volatile修饰,那么.

2021-10-28 14:40:47 198

原创 深入并发编程底层原理

声明:尊重他人劳动成果,转载请附带原文链接!学习交流,仅供参考!文章目录1、什么是底层原理?为什么要研究底层原理?2、JVM内存结构、Java内存模型、Java对象模型有什么区别?2.1、什么是JVM内存结构?(Java Virtual Model,JVM)2.1.1 程序计数器:2.1.2 Java虚拟机栈2.1.2 本地方法栈2.1.3 Java堆2.1.4 方法区(永久代)2.2 什么Java内存模型?(Java Memory Model,JMM)2.3 什么是Java对象模型?3、什么是重.

2021-10-27 22:50:18 258

原创 为什么要处理子线程中的异常?不处理可以吗?那该如何处理?

声明:尊重他人劳动成果,转载请附带原文链接!学习交流,仅供参考!文章目录1、前言:我们知道在单线程程序可以轻松发现异常,那么为什么子线程为什么不能轻松发现异常?2、常见错误一原因分析3、常见错误二原因分析4、那该怎么正确处理呢?1、在`run()`方法内部使用`try...catch...`2、使用UncaughtExceptionHandler全局处理1、实现Thread类中的UncaughtExceptionHandler接口,并且重写uncaughtException()方法2、使用Thread.

2021-10-25 19:53:45 231

原创 一文了解synchronized高并发关键字

文章目录前置知识:1、什么是线程安全性?2、什么是原子性?3、什么内置锁?4、什么是可见性?1、Synchronized的介绍2、不使用Synchronized会出现什么情况3、Synchronized的两种用法对象锁类锁对象锁和类锁两者区别4、多线程访问同步方法的七种情况5、Synchronized的性质可重入性不可中断性6、深入源码7、Synchronized的缺点8、常见面试题9、总结前置知识:1、什么是线程安全性?在互联网上可以搜索到许多的"定义",例如:…可以在多个线程中调用,并且线程之间

2021-10-03 20:41:50 267

原创 LeetCode 面试题 16.01. 交换数字

声明:尊重他人劳动成果,转载请附带原文链接!学习交流,仅供参考!题目 面试题 16.01. 交换数字编写一个函数,不用临时变量,直接交换numbers = [a, b]中a与b的值。注意: numbers.length == 2-2147483647 <= numbers[i] <= 2147483647示例:输入: numbers = [1,2]输出: [2,1]题解:不用临时变量交换数字就可以利用异或解题,或者加法解题,但是加法存在缺点,a + b会导致溢出.

2021-11-04 21:21:23 220

原创 LeetCode119 、杨辉三角 II

声明:尊重他人劳动成果,转载请附带原文链接!学习交流,仅供参考!题目:杨辉三角 II给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。注意:0 <= rowIndex <= 33示例1:输入: rowIndex = 3输出: [1,3,3,1]示例2:输入: rowIndex = 0输出: [1]示例3:输入: rowIndex = 1输出: [1,1]题解:p.

2021-10-25 23:45:16 82

原创 LeetCode 118、杨辉三角

声明:尊重他人劳动成果,转载请附带原文链接!学习交流,仅供参考!题目:杨辉三角给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。注意:1 <= numRows <= 30示例 1:输入: numRows = 5输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例2:输入: numRows = 1输出: [[1]]思路分析public .

2021-10-25 23:39:40 76

原创 LeetCode 896、单调数列

声明:尊重他人劳动成果,转载请附带原文链接!学习交流,仅供参考!题目:如果数组是单调递增或单调递减的,那么它是单调的。如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。当给定的数组 A 是单调数组时返回 true,否则返回 false。注意:1 <= A.length <= 50000-100000 <= A[i] <= 10.

2021-10-23 15:47:56 106

原创 LeetCode 1137 、第 N 个泰波那契数

声明:尊重他人劳动成果,转载请附带原文链接!学习交流,仅供参考!题目泰波那契序列 Tn 定义如下:T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2给你整数 n,请返回第 n 个泰波那契数 Tn 的值。注意: 0 <= n <= 37示例 1:输入:n = 4输出:4解释:T_3 = 0 + 1 + 1 = 2T_4 = 1 + 1 + 2 = 4示例2:输入:n = 25输.

2021-10-23 14:22:55 79

原创 LeetCode 剑指offer64 、等差数列的应用

声明:尊重他人劳动成果,转载请附带原文链接!学习交流,仅供参考!题目求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。注意: 1 <= n <= 10000示例1:输入: n = 3输出: 6示例2:输入: n = 9输出: 45思路分析这里可以利用数学中的等差数列的求和公式计算出结果!公式: Sn=n*(a1+an)/2判断等于0,因为 1 <= n &lt.

2021-10-23 14:15:19 97

原创 LeetCode 509、斐波那契数

声明:尊重他人劳动成果,转载请附带原文链接!学习交流,仅供参考!题目:斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1) = 1F(n) = F(n - 1) + F(n - 2),其中 n > 1注意: 0 <= n <= 30然后给你一个n,计算出F(n)示例 1:输入:2输出:1解释:F(2) = F(1) + F(0) = 1 + .

2021-10-23 14:06:53 67

原创 LeetCode 342、计算幂的系列

声明:尊重他人劳动成果,转载请附带原文链接!学习交流,仅供参考!题目:给定一个整数,写一个函数来判断它是否是 4 的幂次方。如果是,返回 true ;否则,返回 false 。整数 n 是 4 的幂次方需满足:存在整数 x 使得 n == 4^x示例 1输入:n = 16输出:true实例2输入:n = 5输出:false实例3:输入:n = 1输出:true思路分析:我们可以利用数学的对数运算求出(x=log4n),由于以4为底n的对数 不好算出我们可以利用.

2021-10-23 13:45:24 97

原创 多线程中的静态代理模式

1、实现多线程的三种方式1.1、继承Thread类,Thread类实现了Runnable接口继承 Thread类  (Thread类实现了Runnable接口) ,重写里面的Run()方法,创建实例,执行start()方法优点:代码编写最简单直接操作缺点:没有返回值,局限于单继承,扩展性差package cn.delingw;/** * @author delingw * @version 1.0 */// 创建线程public class ThreadDemo extends

2021-07-30 21:19:29 193

原创 Arrays之toString方法

源码解析---------Arrays之toString()package cn.delingw;public class Demo { public static void main(String[] args) { // 创建数组 int a[] = new int[10]; // 随机给数组赋值(100之内) for (int i = 0; i < a.length; i++) { a[i] =

2021-06-13 18:56:16 469

原创 java垃圾回收机制

在java虚拟机的内存可以分为三个区域:栈堆方法区栈栈的规则:先进后出,后进先出栈的里面放局部变量,操作数,方法出口等栈的好处,系统自动发配,速度快栈是一个连续的空间堆存储已创建好的对象,和数组,数组也是对象,堆不是一个连续空间,速度慢方法区用来存储程序中永远是不变的或者唯一的内容,代码,字符串变量,静态属性,静态方法方法区实际也是堆,只是存储类,常量的信息内存回收内存管理就是对对象内存的管理,就是对对象的空间分配和释放对象的内存分配用new关键字创建对象即可对对象的释

2021-06-04 18:41:03 83

原创 java面向对象

封装类的属性私有化,对外提供公共的get和set方法封装的优点:良好的封装能够减少耦合。类内部的结构可以自由修改。可以对成员变量进行更精确的控制。隐藏信息,实现细节。例如:类:public class Dog { private String name; private int age; public String getName() { return "你输入的猫的名字是:" +name; } public void setName(String name) {

2021-06-04 18:37:37 93

原创 java抽象类、方法

抽象类java中使用abstract来创建抽象类和抽象方法创建好的抽象类,无法被new实例化,但是不影响方法的使用!抽象类不能直接实例化,只能被继承,可以通过向上转型完成对象实例化抽象类只能被继承public abstract class Abstract {public void eat() { }public static void main(String arg[]) {Abstract a = new Abstract();注意:// 无法直接实例化,因为这是

2021-06-04 18:31:58 65

原创 Java中“==”和“euqals”方法的区别

一:“==”的用法来看下面的代码:// 基本数据类型int n =3;int m=3;System.out.println(n==m);//引用类型 String str = new String("abc");String str1 = new String("abc");String str1 = new String("abc");System.out.println(str1==str2);str1 = str ;str2 = str;System.out.pr

2021-06-04 18:28:42 204

原创 java 标识符,关键字等基础

1.Java标识符:java 的标识符可以用 美元符($)、数字、字母、下划线、但是不能用以数字开头,也不能有空格!java中的标识符严格要求大小写标识符不能是Java关键字和保留字(例如: public、class等)标识符的命名最好能反映出其作用(例如:登录 login)2.java的关键字:package:定义包的public:公共的class:定义类的static:静态成员的void:方法返回值的3.java的变量:变量的三个元素:(1)变量值(2)变量名

2021-06-04 18:23:50 105

原创 git常用命令

更新用户使用zshchsh -s /bin/zsh提交代码 并且提交注释// 暂存变化git commit -m "注释内容"// 提交所有变化git commit -m "注释内容" -a 推送代码到远程仓库git push 如果你只需要删除磁盘上的 .DS_Store,可以使用下面的命令来删除当前目录及其子目录下的所有.DS_Store 文件:find . -name '*.DS_Store' -type f -delete删除后需要重新git add .git c

2021-06-04 18:14:49 92

原创 CentOS7下部署Django项目详细操作步骤

CentOS7下部署Django项目详细操作步骤部署是基于:centos7+nginx+uwsgi+python3+django 之上做的详细步骤(下面步骤都是ROOT权限执行):一、更新系统软件包yum update -y二、安装软件管理包和可能使用的依赖yum -y groupinstall "Development tools"yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sq.

2021-06-04 18:12:30 155

原创 springboot常用注解

springboot常用注解springboot常用注解有:@Repository用于标注数据访问组件,@Service用于标注业务层组件,@Component用于泛指组件,@ComponentScan用于组件扫描等等springboot常用注解:@SpringBootApplication包含@Configuration、@EnableAutoConfiguration、@ComponentScan通常用在主类上。@Repository用于标注数据访问组件,即DAO组件。@Service

2021-06-04 18:08:06 188

原创 markdown的基础语法

第一篇markdown的基础语法一、标题几级标题前面就用几个“#”,# 号要用后面要留一个空格。一级标题二级标题三级标题四级标题五级标题二、字体加粗: 文字的左右都用两个“*”符号包起来。例:这是加粗字体。倾斜:文字的左右都用一个”*“符号包起来。例:倾斜字体倾斜加加粗:文字的左右都用三个”*“符号包起来。例:这是倾斜加粗字体删除线:文字的左右都用两个”~“符号包起来。例如:这是加删除线的字体字体样式:文字的左右都用两个“=”.

2021-06-04 18:03:53 188

原创 用Python爬取"农药"英雄皮肤

作为一款现象级游戏,王者荣耀,想必大家都玩过或听过,游戏里中各式各样的英雄,每款皮肤都非常精美,用做电脑壁纸再合适不过了。本篇就来教大家如何使用Python来爬取这些精美的英雄皮肤。1.环境操作系统:Windows / LinuxPython版本:3.6.82. 需求分析我们打开《王者荣耀》官网,找定位到英雄列表的页面,可直接点此链接:https://pvp.qq.com/web20...

2019-04-20 19:51:21 316

原创 django xadmin的富文本安装

django xadmin的富文本安装为提升效率,我们可以使用富文本编辑器添加数据。支持Django的富文本编辑器很多,这里我推荐使用DjangoUeditor,Ueditor是百度开发的一个富文本编辑器,功能强大。下面教大家安装如何使用DjangoUeditor。1、首先我们先下载DjangoUeditor包。点击下面的链接进行下载!下载完成然后解压到项目根目录里。https://www....

2019-04-20 19:09:21 203

原创 python Django 常用命令

下面都是一些常用的Django项目开发的命令:    1.安装django版本:    pip install django ==2.0.1  #安装django的2.0.1版本,== 可以用来你想下载django的版本    pip install django          #默认为django的最新版本。    2.新建项目:        django-adm...

2019-01-08 13:11:39 306

python 爬虫爬取简历

python 爬虫爬取站长之站的模板,需要的看一看,毕业了,需要模板

2019-01-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除