自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 AQS队列到底是什么?

文章目录前言:为什么要了解AQS?一、AQS是什么?二、AQS如何实现的?2.1、state2.2、FIFO同步队列三、AQS一些特点3.1 共享锁和独占锁3.1.1 要实现一个独占锁,需要重写tryAcquire,tryRelease方法3.1.2 要实现共享锁,需要重写tryAcquireShared、tryReleaseShared3.2 等待状态位四、了解AQS的整体流程五、AQS详细分析5.1 Sync.nonfairTryAcquire5.2 AbstractQueuedSynchronizer

2020-06-14 22:37:16 4027

原创 ReentrantLock原理详解

文章目录前言一、ReentrantLock是如何实现的?二、lock 和 unlock的过程分析2.1 ReentrantLock的两个构造器2.2 lock过程2.3 unlock过程三、公平锁和非公平锁的区别四、Synchronized和ReentrantLock的区别4.1 功能区别4.2 性能区别4.3 ReentrantLock的特有性质前言了解ReentrantLock的原理和底层实现一、ReentrantLock是如何实现的?ReentrantLock 主要利用CAS 和 AQS队列实

2020-06-16 22:41:12 574

原创 多线程——Synchronized原理实现

文章目录前言:为什么使用synchronized?一、synchronized的作用1.1原子性1.2 可见性1.3 有序性二、synchronized的作用范围2.1 修饰静态方法2.2 修饰实例方法2.3 修饰代码块三、synchronized底层原理3.1 修饰实例方法3.2 修饰代码块四、synchronized锁的底层原理实现五、synchronized锁的优化5.1 偏向锁5.2 轻量级锁5.3 重量级锁5.4 锁升级5.5 锁消除5.6 锁粗化前言:为什么使用synchronized?在多

2020-06-13 21:35:56 324

原创 关于IO、NIO、BIO、AIO必知二三事

目录一、IO介绍1.1 认识IO1.2 关于IO的操作二、关于同步和异步、阻塞和非阻塞2.1 同步和异步、阻塞和非阻塞 概念2.2 同步和异步、阻塞和非阻塞的组合三、BIO、NIO、AIO3.1 BIO、NIO、AIO 简介3.1.1 BIO3.1.2 NIO3.1.3 AIO3.2 补充NIO知识3.2.1 Buffer(缓冲区)3.2.2 通道(Channel)3.2.3 多路复用器Selector一、IO介绍1.1 认识IOIO 全称 Input / Output ,输入输出。传统的IO操作大

2020-06-08 22:50:39 197

原创 详解字节流和字符流

目录一、明确字符和字节的概念二、关于 java中字节流和字符流2.1 字节流,字符流概念2.2 java中的字节流,字符流相关API2.3 字符流,字节流API的使用三、字节流和字符流的区别四、使用场景判断4.1 数据格式4.2 数据来源4.3 是否需要格式化输出4.4 是否需要缓冲4.5 输入还是输出4.6 是否有流转化4.7 特殊需要一、明确字符和字节的概念字节:1 byte = 8 bit字符:1 char = 2 byte = 16 bit(java默认)在计算机硬件层面,1 bit 是数据

2020-06-08 22:35:59 1559

原创 元素只允许取一次,如何使用HashMap巧求重复元素?

使用HashMap巧求重复元素题目:数字1-1000放在一个长度为1001的int 类型的数组中,其中只有一个数字是重复的,求这个重复数字是哪个?(要求所有元素最多只能取一次)1、解题代码2、解题思路3、补充说明题目:数字1-1000放在一个长度为1001的int 类型的数组中,其中只有一个数字是重复的,求这个重复数字是哪个?(要求所有元素最多只能取一次)偶然看到这样一个题,想到最近看的Has...

2020-03-24 20:00:55 571

原创 Java——接口和抽象类的异同

1

2020-01-06 20:05:42 138

原创 java基础——加强版for循环

文章目录1、用法2、益处3、弊端1、用法在java 5.0版本之后,就有了加强版for循环,也被叫做“for-Each循环”。它是for循环的一种,在操作数组和集合方面提高了便利性。语法如下:// ElementsType元素类型,Array 数组或集合for(ElementsType element:Array){ //operation}举个栗子:public cla...

2019-12-18 18:30:25 669

原创 LeetCode——#78 子集

文章目录一、题目描述二、解题思路方法一递归迭代代码结果复杂度分析:方法二(参考网上方法)回溯代码结果复杂度分析方法三位掩码代码结果复杂度分析一、题目描述给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[[3],[1],[2],[1,2,3],[1,3],[2,3],...

2019-12-10 18:40:11 184

原创 python——列表操作大全

文章目录一、增——像列表中增加元素1、append()2、 extend()3、insert()二、删1、remove()2、del3、pop()三、切片四、其他常用操作函数五、其他常用操作符列表的copy浅copy深copy一、增——像列表中增加元素python的列表非常强大,可以包含多种数据类型,整型,浮点型,字符串等。List = [123, '456', 1.2]向列表中添元素有...

2019-12-06 22:30:49 411

原创 关于网络协议

待更新

2019-12-04 18:51:44 112

原创 python——装饰器详解

文章目录一、装饰器概念1、装饰器2、闭包二、如何创建装饰器三、python内置装饰器四、装饰器类型五、装饰器的用途一、装饰器概念1、装饰器装饰器:一种返回值也是一个函数的函数,即装饰器。装饰器的目的:装饰器是用于拓展原函数的一种函数,可以在不改变原来函数名或类名的情况下,给原函数增加新的功能。一般情况下,我们需要改变原函数,直接改原函数的代码即可,但是实际情况中,并不是所有的函数代码(...

2019-12-03 18:43:13 210

原创 python——生成器详解

文章目录生成器概念如何创建生成器生成器原理生成器益处生成器概念生成器:在循环迭代过程中,同时进行其他操作的一种特殊的迭代器。 通常使用了yield()函数的都是生成器。yield()函数:在程序函数中返回某个值时,会停在某个位置,返回函数值之后,会在停留的位置继续执行,直到程序结束。yield函数 类似return函数,但是有所不同,return函数返回函数值之后就停止函数了。如何创...

2019-11-29 13:36:15 140

原创 python——迭代器

123

2019-11-28 16:33:57 111

原创 python类的三大特性——封装

文章目录一、封装的概念二、封装的目的和益处三、封装的方法1、私有变量2、私有方法四、property属性一、封装的概念封装:指隐藏对象的属性和实现细节,不允许外部直接方位对象内部的信息,仅仅提供公共的访问方式给外部,实现外部对内部的操作和访问。二、封装的目的和益处封装的目的:保护隐私数据和方法,明确内外区分。隔离复杂的实现方法例如:一个电视机,只提供几个按钮和一个遥控器给用户操作,...

2019-11-26 11:20:35 312

原创 python类的三大特性——多态

文章目录1、多态的概念2、如何使用多态3、使用多态的好处1、多态的概念多态:指事物的多种形态。计算机中多态:一个抽象类有多个子类,进行不同的实现,多态依赖于继承(可以看我之前关于继承的文章python类的三大特性——继承)多态性:(概念有别于多态)指同一名称的函数,实现不同的功能。2、如何使用多态多态在python中,即子类对象条用父类相同的方法时,产生各自的结果。多态依赖于继承,...

2019-11-25 18:57:36 1197

原创 python类的三大特性——继承

@otc继承的概念面向对象编程(OOP:Object Oriented Programming)一个主要特性——继承。继承:派生自同一个基类的不同类的对象具有一些共同特征。继承的功能:解决代码复用问题。通过继承产生的类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”。继承的种类:单继承和多继承。继承的实现方式:实现继承:使用基类的方法和属性而无需额外编程的能力...

2019-11-23 21:12:59 241

原创 理解python元类

文章目录一、元类是什么?二、类type三、元类的作用(一)元类的作用区间(二)元类的作用1、手动创建类2、自定义元类3、元类写单例模式4、使用元类动态编写类一、元类是什么?在python中,一切皆对象,无论是列表、元组,还是函数、类,它们都是对象。把一个类看作对象,即类对象,一个类对象的类就是元类。通俗来说就是,元类是类的祖宗可能这里描述的还是不清楚,下面举例解释:首先我们用class...

2019-11-21 16:29:05 272

原创 python编程的PEP8规范小结

PEP8原文连接:https://legacy.python.org/dev/peps/pep-0008/介绍代码规范原则是提高代码的可读性,便于自己和他人去完善和修改代码。所以要考虑实际情况来选择性使用代码规范。代码排版缩进每行缩进四个空格(不能混用TAB)一行最大为79个字符,文档或注释最多72个字符空行类和顶层函数之间有两个空行类中的方法之间有一个空行函数中可以使用空...

2019-11-19 15:18:41 203

原创 python3.7 安装PyQt5过程和简单使用

PyQt5 安装安装PyQt5 问题 : pip需要升级先升级pip : python -m pip install --upgrade pip安装PyQt5: pip install PyQt5安装tools :pip install PyQt5-tools检查功能import sysfrom PyQt5 import QtWidgets, QtCoreapp = Q...

2019-11-18 19:00:28 1674 1

原创 Python中lambda表达式

lambda 表达式1、概述lambda 表达式,通常是需要一个函数,但又不用大费周章的去定义一个函数时使用,也指匿名函数。lambda所代替的函数内容应该是很简单的,过于复杂的话,它无法实现,而且还不如重新定义一个函数。2、语法lambda argument_list: expressionlambda 关键字之后跟一个或者多个参数,相当于一个list,然后紧跟一个冒号,然后是函数的...

2019-11-18 18:37:52 143

空空如也

空空如也

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

TA关注的人

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