自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 快排原理讲解

原理讲解款速排序是很经典的排序算法,递归最难理解的就是临界情况,大家可以自行对{1,2}、{2,1}、{2,2}等特殊情况进行模拟调用,理解了这些临界情况的处理方式,快排就很好懂了,如果认为笔者有讲述不清晰的地方,或者描述不清楚或有误的地方,请不吝指正,感激不尽。下面我分两步进行讲解说明。第一步,理解核心思路假设你有一堆横排的体重不一的萝卜,你想把它们按照重量从小到大进行排序。 用...

2018-07-09 13:50:27 10186 4

原创 synchronized的修饰方法和修饰代码块区别

文章思路哪些概念难理解 类锁和对象锁区别 类锁所有对象一把锁对象锁一个对象一把锁,多个对象多把锁同步是对同一把锁而言的,同步这个概念是在多个线程争夺同一把锁的时候才能实现的,如果多个线程争夺不同的锁,那多个线程是不能同步的 两个线程一个取对象锁,一个取类锁,则不能同步两个线程一个取a对象锁,一个取b对象锁,则不能同步文章关键内容: 什么是锁锁有几种什么是synchroni...

2018-07-01 14:43:23 20371 11

原创 依赖倒置、控制反转、依赖注入解析

依赖的概念:    生活举例人只能借助钓竿才能达到钓鱼的目的,这种情况就说人依赖钓竿。程序语言说明人是类,钓竿是类,钓鱼是钓竿的方法,如果人想完成钓鱼活动,只能将钓竿作为自己的成员然后调用钓竿的钓鱼方法,下图代码中People类便依赖NormalFishRod类。依赖的概念:...

2018-06-26 15:49:32 2516 2

原创 哲学家进餐问题难点理解

Note只分析难点,不阐述细节Conclusion每个人最终都能拿到左边筷子假如A坐在B左边。A:1、拿左边2、拿右边3、吃饭4、放回右边5、放回左边B:1、拿左边2、拿右边3、吃饭4、放回右边5、放回左边代码决定了每个哲学家拿筷子的顺序都是一致的。B拿左边只有在A拿了右边的情况下才会失败,但你看看A拿了右边说明什么?说明A吃饭了啊,吃完饭会放回去的。所以每个人都最终能拿到左边筷子。什么时候会出现死锁只有每个人都拿不到右边筷子才会死锁。这个用反证法证明,如果

2020-08-25 10:21:42 573

原创 银行家算法理解

说明对基本的银行家算法流进行简化,梳理出关键步骤,希望可以让学习该算法的同志少走一点弯路。算法作用判断要不要满足发起资源请求的进程。规则说明借给进程的资源必须满足它的最大需求,没达到之前无法从其身上回收它已经持有的任何资源。案例模型结构说明上表中列分别对应着:进程、进程总计最多需要资源、进程已经分得、系统剩余资源。最多需要是个集合,为了简化模型,假定每个进程只需要一种资源「假定此资源为人民币,单位(元)」,固集合只有一个元素。以张三为例:张三,最多还需要10元。已经分到4元。系统还剩1

2020-08-19 11:50:13 3647

原创 18年408大纲

2018考研计算机学科专业基础综合考试大纲统考专业课大纲 来源:教育部考试中心 2017-08-17I考试性质计算机学科专业基础综合考试是为高等院校和科研院所招收计算机科学与技术学科的硕士研究生而设置的具有选拔性质的联考科目,其目的是科学、公平、有效地测试考生掌握计算机科学与技术学科大学本科阶段专业知识、基本理论、基本方法的水平和分析问题、解决问题的能力,评价的标准是高等院校计算机科学与技术学科优秀本科毕业生所能达到的及格或及格以上水平,以利于各高等院校和科研院所择优选拔,确保硕士研究生的招生质量。

2020-07-08 07:02:27 652

原创 Mac和Win平台下idea选中同样内容快捷键

这是个idea使用小技巧,但网路上大多文章都只是讲了怎么按,这里我换个思路来讲,让大家绝对可以掌握这个快捷键以及其衍生的相关操作。思路我们的目标是选中下一个内容,所以其实就两个关键单词。selection(当前被选中的)、next occurrenct(下一个发现)。操作直接打开缺省配置,然后选中keymap,在keymap中搜索occu即可,无需全部拼写完,idea可以模糊搜索。如...

2020-03-07 12:36:48 2518 1

原创 解决Mac安装python3以及pip3的一系列问题

背景笔者采用homebrew安装的python,情况是先使用官网安装包安装,后觉得不方便管理,故卸载采用homebrew进行python安装。由此遇到一系列问题,故产生此文记载解决问题的过程,供诸位参考,遇到的问题主要包括:无法安装homebrew使用ruby -e "$(curl --insecure -fsSL https://raw.githubusercontent.com/Home...

2020-03-07 12:23:49 1322

原创 Vue中插槽的使用

## Vue插槽使用概述插槽就是子组件中用slot标签定义的预留位置,可以设置name属性,也可以不设置name属性,设置name的叫具名插槽,不设置name的的叫不具名插槽,在父组件中使用子组件时候可以在使用子组件的标签内通过声明插槽名或不声明插槽名的方式往子组件中的具名插槽或者不具名插槽写入html代码。插槽使用的关键在于:在父组件中使用子组件标签的时候可以往子组件内写入html代码。...

2019-12-08 16:23:30 496 3

原创 安装nodejs环境

搭建nodejs环境教程名词介绍nodejsnode.js是javascript的一种运行环境,是服务器端的javascript的解释器。 其性质当于python解释器。或者Java的JDK。npmnpm则是包含在node.js里面的一个包管理工具,就如同linux中的yum仓库,rpm包管理;如同python中的pip包管理工具一样。npm作用:构建项目,我们可以使用npm指令...

2019-10-31 15:50:56 877

原创 JQuery实现全选功能

// html <label> <input type="checkbox" class="all"> 全选 </label> <label> <input type="checkbox" > 选项1 </label> &l...

2019-10-25 16:15:43 202

原创 w4d2

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><!--定义一个显示商品信息的组件.....省略若干定义代码-->&lt...

2019-09-24 10:07:07 394

原创 Vue系列2——组件创建、取父值、调父方法

vue实例的生命周期什么是生命周期:从Vue实例创建、运行、到销毁期间,总是伴随着各种各样的事件,这些事件,统称为生命周期!生命周期钩子:就是生命周期事件的别名而已;生命周期钩子 = 生命周期函数 = 生命周期事件主要的生命周期函数分类:创建期间的生命周期函数:beforeCreate:实例刚在内存中被创建出来,此时,还没有初始化好 data 和 methods 属性creat...

2019-09-21 20:59:00 422

原创 前端day01

题目(这里开始答案)题目(这里开始答案)题目(这里开始答案)题目(这里开始答案)题目(这里开始答案)

2019-09-04 21:52:51 170

原创 老忘记的idea快捷键整理

收缩代码使用ctrl + j功能这个不太好不描述,直接看效果吧。使用前public static void test() { System.out.println("hello world");}使用一次public static void test() { System.out.println("hello world");}使用二次public static ...

2019-04-29 23:11:38 184

原创 简单工厂、工厂方法、抽象工厂简明总结

图例参考:https://www.cnblogs.com/zhangchenliang/p/3700820.html抽象工厂和工厂方法区别个人总结:抽象工厂中产品有产品族的概念,比如车辆类型族(运动型、舒适型),车辆品牌族(宝马、奔驰),族和族可以互相组合,所以抽象工厂中具体工厂可以以侧重点命名SportDriver和BusinessDriver,然后在Sport里面用方法createBe...

2019-04-20 11:36:12 4351

原创 MyBatis创建动态代理类源码流程

总结调用DefaultSqlSession的getMapper方法(1)调用Configuration的getMapper方法(2)调用MapperRegistry的getMapper方法(3)调用MapperProxyFactory的newInstance方法(4)调用兄弟newInstance方法(6)使用动态代理模式去设置mapperProxy为目标Dao方法的代理(7),这个类中的inv...

2019-04-16 22:39:18 593

原创 MPV按键绑定配置

# mpv keybindings## Location of user-defined bindings: ~/.config/mpv/input.conf## Lines starting with # are comments. Use SHARP to assign the # key.# Copy this file and uncomment and edit the bin...

2019-04-08 15:01:34 2170

原创 Mac下用用Python操作Mysql数据库新手向指南

1、安装驱动Python中最连接Mysql常用的驱动是mysql-python :mysql的C语言的驱动mysql-connector:msql官方的驱动pymysql:python语言的驱动本来想着用pip安装mysqldb,各种坑爹问题,就放弃了,用pymysql吧朋友,很友好。pymysql安装1、打开终端2、终端运行python3 pip install pymysq...

2019-03-23 17:01:17 2320

原创 spring开发环境搭建环境搭建

标题架构演变历史标题Maven构建的Spring项目需要哪些依赖?Spring相关的依赖我参考的是这篇文章:https://www.cnblogs.com/javafucker/p/7566733.html1)spring核心依赖spring-core、spring-beans、spring-context2)spring dao依赖(提供JDBCTemplate)spring-j...

2019-03-19 17:06:02 927

转载 python多线程与协程一些面试题总结

[协程]什么是协程协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是协程,协程是一种用户态的轻量级线程。协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切换回来的时候,恢复先前保存的寄存器上下文和栈。因此,协程能保留上一次调用的状态(即所有局部状态的一个特定组合),每次过程重入时,就相当于进入上一次调用的状态,换种说法,进入上一次离开时所处...

2019-03-18 10:29:34 4470 1

转载 django中的orm常用api总结

摘自某课网免费课程全面掌握Django ORM # 1.查询、检索、过滤 teachers = Teacher.objects.all() print(teachers) teacher2 = Teacher.objects.get(nickname='Jack') # get()只能返回一条结果,多条则会报错 print(t...

2019-03-07 15:44:13 487

原创 python多线程第三讲:条件变量Condition

目录python多线程第一讲:多线程入门python多线程第二讲:Lock和RLock前言现在我们有个需求,就是有两个函数一个会依次在控制台输出1、3然后结束,另一个线程依输出2、4然后结束。单线程情况下:def dayin13(): print(1) print(3)def dayin24(): print(2) print(4)if __n...

2019-03-06 15:29:26 891

原创 python多线程第二讲:Lock和RLock

目录python多线程第一讲:多线程入门线程同步即引入加锁机制,给需要同步执行的代码加同一把锁,要求拿到锁才能执行需要同步的代码。就好像两个小朋友都要吃饭,但我们想让他们轮流吃饭,就可以只留下一把勺子,那肯定是两个小朋友抢勺子,抢到才能吃饭,没抢到的要等抢到的吃完放下勺子才能吃饭。这里的两个小朋友就是两个线程,吃饭就是需要同步的代码块。勺子就是锁。拿勺子就是加锁,放勺子就是解锁。如果勺子已经...

2019-03-05 10:35:35 415

原创 python多线程第一讲:多线程入门

什么是多线程线程是程序执行流的最小单元,比线程更大的是进程。进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。进程在计算机中的存在形式通常是一个可见的软件,比如说QQ,而线程在QQ这个进程中的实际应用就是,QQ中会有多个线程来实现QQ的各类功能,比如在聊天的时候还能够收到邮件。举例来说,有单核CPU的计算机,有三...

2019-03-05 09:46:52 370

原创 Failed to read artifact descriptor--maven问题解决(如果别的地方的思路解决不了,你可以看看我这个)

网上的其他参考解决方案Failed to read artifact descriptor–maven问题总结(能力工场)我的解决方案我是根据博客一步步创建的这个Maven项目,然后根据网上给出的方案皆不能很好的解决我的问题。 使用了但不限于:修改镜像地址删除原有库并更新Maven仓库但是这些,都没用!于是我认定是我参考的博客涉及到某个细节没有提及,但是至关重要,因此导...

2019-03-04 16:49:36 1783

原创 asyncio中常用api说明

gathergather 起聚合的作用,把多个 futures 包装成单个 future,因为 loop.run_until_complete 只接受单个 future。run_until_complete大致原理用法示例'''可以接收多种参数1、单个协程2、asyncio.wait(多个协程组成的可迭代对象)3、asyncio.gather(多个协程)'''run_unt...

2019-03-04 16:49:12 611

原创 【新手友好】shell中$(( ))、$( )与${ }的使用闭坑指南(注意事项)

前言如果你看别的教程的这几个知识点发现踩坑了不妨看看我这个笔者最近在学习linux,学习shell基本语法没遇到什么问题,只是感觉和常用编程语言写法相比要特别一些。本来学的挺开心的,知道遇到了(())、(( ))、(())、( )与${ }这几个魔鬼…而笔者查了很多资料后发现都是因为shell和我们常用的java、js、python、c++不同的一个特性,这个特性直接导致,网上教程说的语法...

2018-11-06 18:04:03 253

原创 spring boot 2.0.5静态资源配置(网上很多没用,这个是亲测成功,而且很简单,贴出来)

斜体样式@TOCEmmm直接来吧…步骤在controller同级目录下创建一个包名叫interceptor,创建完如下在我们创建的包下面新建一个类WebMvcConfig源码如下,这里面要重新对你需要作为静态资源的路径进行映射,具体映射的语法就是下文代码中写的,将右边的路径映射成为我们定义的左边的路径,然后我们就可以用左边的路径来访问了。可以看到我映射了一个classpath:/temp...

2018-11-01 17:53:46 1221

原创 PyCharm和idea如何像sublime一样,打引号不覆盖选中内容而是包裹选中内容

PyCharm如何像sublime一样,打引号不覆盖选中内容而是包裹选中内容用过sublime的朋友都知道,sublime中,对选中的代码块打类似:小括号、中括号、大括号、双引号、单引号等特殊包裹字符时,选中内容不会被这些符号直接覆盖掉而是被包在这些符号之中,而PyCharm和idea其实也有同样的功能,只是默认这个功能是关闭的,打开方法如下。选中我红色标记处的内容即可。...

2018-09-06 16:20:56 982 4

原创 Java初始化执行顺序

初始化顺序知道初始化是什么不知道顺序直接看这个便可以了。初始化概念翻下文。一言蔽之:父类静态变量父类静态块子类静态变量子类静态块父类普通变量父类普通变量子类普通变量子类普通块什么是初始化初始化这个术语是对谁而言的Java中初始化的作用对象分别为:变量块构造器对变量而言初始化就是给它一个初始值。 要注意类中成员变量有静态成员变量和普通...

2018-08-09 14:03:07 181

原创 抽象工厂

抽象工厂定义 提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类(关于这句话的解释请在本文搜索haha)。需求不同国家的玩具店都卖自己国家的玩具,所以各个国家都有自己的玩具工厂生产自己国家的玩具供玩具店拿货(中国玩具工厂、外国玩具工厂),各国工厂的共同点是都生产三个等级的玩具,bad、normal、good。实现设计抽象工厂根据需求也就是说生产...

2018-07-26 14:43:52 195

原创 Kmp中next数组含义

凑个字数这篇分析了Kmp中next数组到底是用来干什么的。文章假定大家已经对字符串匹配算法具有初步了解。但是对kmp中的next不是很懂。如果想要研究更多。可以出门左转https://blog.csdn.net/qq_41105401/article/details/79827356这篇写的很详细。 ...

2018-07-13 14:48:55 3925 2

原创 mac idea复制文件到桌面

正文:第一种方法:1.左键选中一个文件2.点击F5会出来如下界面,点击To directory栏尾部那个省略号小图标选择你要保存的最终路径,选好后点击ok即可第二种方法:1.左键选中一个文件2.右键选择此文件,点击Reveal in Finder就会用Finder打开此文件目录,此时使用command+c就可以复制,到桌面command+v直接...

2018-04-09 19:14:04 8749 5

原创 Java线程的创建

目录:线程的定义 多线程的数据安全问题 创建多线程的两种基本方式正文:线程的定义想知道什么是线程先要知道什么是进程,进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,这么讲不好理解,举例来说就是,运行QQ,就开启了一个进程,关闭QQ就是关闭一个进程,即是说,进程是一个执行中的程序。程序未打开时和文件没两样,打开之后,就和处理器产生了关联,成为了一个活动的实体,...

2018-03-24 11:04:36 234

原创 MAC下IDEA恢复默认设置方法

MAC下恢复默认配置方式刚从windows转到mac平台做开发,发现一个问题,那就是mac开发基数果然没有windows大很多问题windows与mac是存在差异的,网上回答windows平台下的解决方法的答案很多,回复mac的比较少,还在摸索,所以把学到的一些小技巧分享出来。正文:打开你的个人文件夹第一步:![这里写图片描述](http://img.blog.csdn.net/20171

2017-12-18 21:02:00 22365 1

原创 获取+导入JDK各版本源码的方法

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-11-25 20:17:19 7637 5

空空如也

空空如也

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

TA关注的人

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