自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Java程序员的进阶之路

Java程序员的进阶之路

原创 Python中os.fork()的简单理解

Python中,通过os.fork()会做下面的事情 (1)创建子进程,子进程会复制父进程的数据信息,然后程序就分两个进程继续运行后面的程序,这也是fork(分叉)名字的含义了。 (2)在父进程内,这个方法会返回子进程的编号PID。 (3)在子进程内,这个方法会返回0。 所以可以使用PID来区分两...

2019-09-17 23:53:01

阅读数 5

评论数 0

原创 MacOS10.14,python安装Mysql-python出错,报ld: library not found for -lssl

MacOs10.14,python安装Mysql-python出错,报ld: library not found for -lssl解决方法:原因:错误日志: 解决方法: 先确认是否安装mysql,如果没装,可以通过 brew install MySQL(有点慢),也可以下载dmg来安装 pip...

2019-07-21 22:04:44

阅读数 47

评论数 0

原创 (视频下载已失效)使用GO下载极客时间已购课程,方便离线观看(前提是有登录态,并且要买了课程)

download-geektime-video 此工具为下载极客时间已购课程方便离线观看 github仓库:https://github.com/wobushixiaoj/download-geektime-video 环境要求 (1)golang环境 (2)已安装 ffmpeg:brew ins...

2019-06-17 21:53:00

阅读数 867

评论数 0

原创 学习Mysql的join算法:Index Nested-Loop Join和Block Nested-Loop Join

阅读这篇文章,你将会了解 1.什么是Nested-Loop Join? 2.Index Nested-Loop Join怎么优化连接? 3.Block Nested-Loop Join怎么优化连接? Nested-Loop Join 在Mysql中,使用Nested-Loop Join的算法思想...

2019-05-03 19:13:18

阅读数 284

评论数 0

原创 理解Mybatis一级缓存,以及如何真正使用到一级缓存

阅读这篇文章,你将会了解 1.什么是会话(SqlSession)、执行器(Executor) 2.什么是Mybatis一级缓存 3.一级缓存的生命周期 4.一级缓存的CacheKey生成策略 5.在日常开发时,怎么才能用到一级缓存(通过事务) 一.类关系图: 二.什么是会话(SqlSessio...

2019-05-02 19:21:59

阅读数 345

评论数 0

原创 Java类加载机制:双亲委派机制,还是应该叫做“父委派模型”?

阅读这篇文章,你会了解到: 1.上面是类加载器 2.为什么应该叫做“父委派模型”,而不是“双亲委派机制” 3.在JNDI中,“父委派模型”是怎么被违背的 4.不只是JNDI,还有TOMCAT的类加载器模型是怎样的,他们有无违背“父委派模型”? 一.什么是类加载器 讲“双亲委派机制”前,要先要讲一...

2019-05-01 15:53:10

阅读数 326

评论数 1

原创 Java线程的状态以及不同状态下线程中断机制的效果

阅读这篇文章,你将会了解 1.Java线程有什么状态,以及状态扭转的方式 2.Java线程的中断对于各个状态的Java线程有什么效果。 一.Java线程的状态: 线程的中断不属于线程的状态,中断是一种操作,当用户不希望某个线程继续执行时,可以通过中断机制去完成这个事情。但是,Java线程的中断...

2019-04-28 00:11:01

阅读数 70

评论数 0

原创 理解协程,以及协程如何提升IO阻塞时的性能

阅读这篇文章,你将会了解: 1.协程的概念 2.进程、线程、线程的区别 3.协程有什么好处,如何提升性能 一.概念: 1.协程是在线程下的,线程内的多个协程通过协程的调度获得cpu时间。但是线程内的多个协程肯定是串行的。即线程下的某个协程在运行时,其他协程必然是挂起,没有在运行。 2.一个进程可...

2019-04-27 22:07:05

阅读数 361

评论数 0

原创 了解awk、sed、grep

阅读这篇文章,你将会了解: 1.awk、sed、grep的区别; 2.他们分别有什么命令可以使用,用到的时候可以查阅; 一. awk、sed、grep的区别 概念 模版 SED 在线编辑器,一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patte...

2019-04-21 14:00:20

阅读数 20

评论数 0

原创 ThreadPoolExecutor中的keepAliveTime详解

ThreadPoolExecutor中的keepAliveTime详解 阅读这篇文章,你将会知道: keepAliveTime的概念。 keepAliveTime是如何设置的。 线程是如何根据keepAliveTime进行销毁的。 一.keepAliveTime的概念: keepAliv...

2019-04-20 17:02:02

阅读数 1082

评论数 0

原创 Mybatis:了解SqlSessionTemplate

读完这篇文章,你将会知道: SqlSessionTemplate 和 SqlSessionManager 有什么不同。 SqlSessionTemplate 如何实现线程安全。 SqlSessionTemplate 怎么和数据库打交道。 目录 SqlSessionTemplate 和 Sq...

2019-04-17 23:42:19

阅读数 367

评论数 0

原创 Mybatis: 理解Mapper接口的代理流程

目录 关系梳理: Configuration MapperRegistry MapperProxyFactory MapperProxy MapperMethod 关于SqlSession的,会另起一篇文章介绍,本次关于Mapper接口的代理就到这里了,谢谢大家。 一.关系梳理 ...

2019-04-14 19:42:39

阅读数 66

评论数 0

原创 理解mysql中的MVCC多版本并发控制,某些场景会出现幻读

目录 MVCC是为了实现数据库的并发控制而设计的一种协议。 几乎所有的RDBMS都支持MVCC。 针对一条当前读的SQL语句,InnoDB与MySQL Server的交互,是一条一条进行的,因此,加锁也是一条一条进行的。 mvcc并没有完全解决幻读的问题:以下做2个实验 SQL中定义的四...

2019-04-05 11:04:25

阅读数 191

评论数 0

转载 linux中用户线程、内核线程、轻量级进程的区别

原文链接:http://www.cnitblog.com/tarius.wu/articles/2277.html 内核线程 内核线程就是内核的分身,一个分身可以处理一件特定事情。这在处理异步事件如异步IO时特别有用。内核线程的使用是廉价的,唯一使用的资源就是内核栈和上下文切换时保存寄存器的空...

2019-04-04 19:38:58

阅读数 174

评论数 0

转载 进程的用户态和内核态的概念理解以及切换

原文链接:https://www.cnblogs.com/viviwind/archive/2012/09/22/2698450.html 内核态: 当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态。此时处理器处于特权级最高的(0级)内核代码中执行。当进程处于内...

2019-04-04 19:20:59

阅读数 495

评论数 1

原创 理解:事务两阶段提交和三阶段提交(2PC、3PC)

目录 两阶段提交(2PC) 准备阶段: 提交阶段: 2PC存在的问题: 三阶段提交(3PC) CanCommit: PreCommit(如果CanCommit阶段中所有参与者都返回“Yes”) DoCommit 3PC存在的问题: 3PC在2PC上的改动点: 两阶段提交(2P...

2019-03-31 22:35:18

阅读数 130

评论数 0

原创 字符串相乘:2种解题思路

目录 第一种:实现字符串的乘法算法,乘法算法通过实现字符串的加法完成。 第二种:利用乘法公式,把num1,num2的每个位相乘的结果放到在数组对应的偏移位上,最终数组上的值就是相乘的结果。 第一种思路的代码实现: 第二种思路的代码实现: 字符串相乘是leetcode中的43题:https...

2019-03-24 00:48:37

阅读数 138

评论数 0

原创 N皇后问题:通过DFS方式输出所有的棋子放置方案

https://leetcode-cn.com/problems/n-queens/ N皇后问题是指在N×N格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 思路 1.如何判断(row, col)位置是否能放皇后 (1)使用c...

2019-03-17 22:34:50

阅读数 91

评论数 0

原创 AQS: 等待队列详解(AbstractQueuedSynchronizer)

目录 AQS中的等待队列:是一个双向链表,并使用了“CLH锁”的思想实现等待队列一.CLH锁 二.Node的数据结构:记录了等待状态、当前线程、前后节点的引用 三.Node如何入队 acquire(int arg):获取资源 acquireQueued(final Node node, ...

2019-03-17 20:11:41

阅读数 118

评论数 1

原创 mysql的共享锁(S)、排他锁(X)、意向共享锁(IS)、意向排他锁(IX)的关系

一.S锁和X锁:S锁和X锁都属于行数   兼容性 加锁方式 S锁:共享锁 加了S锁的记录,允许其他事务再加S锁,不允许其他事务再加X锁 select…lock in share mode X锁:排他锁 加了X锁的记录,不允许其他事务再加S锁或者X锁 s...

2019-02-24 23:12:53

阅读数 977

评论数 0

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