自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (9)
  • 收藏
  • 关注

原创 Java线程:你想了解的,我都有

Java线程:你想了解的,我都有Java线程的三种创建方式继承Thread对象class ThreadImpOne extends Thread{ @Override public void run(){ System.out.println("ThreadImpOne"); } }实现Runnalbe接口...

2020-04-27 01:14:43 4433 23

原创 Java线程池,你五分钟讲完,而我和面试官聊了半小时

Java线程池,你五分钟讲完,而我和面试官聊了半小时找Java工作的时候,线程池是一个必问的知识点,面试时,有的人只能讲五分钟,而有些人可以讲半个小时,差别在哪?在于知识的深度。下面几个面试高频题,你会吗?不会,赶紧收藏此博文。线程池各个参数的作用,简单阐述一下线程池工作流程。常见的线程池有哪些,分别适用于什么场景?使用无界队列的线程会导致内存飙升吗?Java线程池概念顾名思义...

2020-04-16 17:45:14 13002 50

原创 面试官,别挂电话,Synchronized,我还能说上半小时。

面试官,别挂电话,Synchronized,我还能说上半小时。Synchronized关键字,经常被用于线程同步。执行Synchronized修饰的同步代码块的线程,首先会获得“对象的锁”,如果有其他线程尝试执行同步代码块,会阻塞,直到该线程执行完同步代码,释放“对象锁”。上面的概念,肯定不陌生,但是对象锁具体是什么,或许你不太清楚,本文从其底层原理出发,详细解读Synchronized关键字...

2020-04-16 01:45:46 6139 18

原创 阿里面试题:ConcurrentHashMap为什么是线程安全的?

阿里面试题:ConcurrentHashMap为什么是线程安全的?ConcurrentHashMap,其实是线程安全的HashMap,所以阅读ConcurrentHashMap,建议先阅读一下两篇介绍HashMap的文章你真的懂大厂面试题:HashMap吗?jdk1.7 HashMap中的致命错误:循环链表jdk1.7 ConcurrentHashMapjdk1.7 Concu...

2020-04-10 01:00:33 18241 21

原创 单调栈、单调队列:刷题必备系列

文章目录单调栈、单调队列:刷题必备系列单调栈强调两点大显身手每日温度下一个更大元素下一个更大元素II接雨水单调队列牛刀小试滑动窗口最大值单调栈、单调队列:刷题必备系列个人认为,仅仅以刷题数量作为算法掌握程度的标准是不准确的,甚至是偏激的。衡量刷题效果的其实是两点,一是真正掌握的算法技巧数量,二是语言的熟练应用的实战能力(搞个输入输出搞半天,肯定是不行的)。掌握了一种解题技巧,其实对一系列的题...

2020-04-28 16:09:19 2242 27

原创 Mybatis高频面试题(二)

Mybatis高频面试题(二)接口绑定Mybatis的接口绑定有两种方式:一种是通过注解绑定,在接口方法上加@Select、@Updata等注解,注解后面跟上对应的Sql语句sql语句比较简单的时候,可以是使用注解绑定一种是通过xml里面写SQL来绑定,需要指定xml文件的namespace为接口的全限定名,id为对应的接口方法sql语句比较复杂的时候,推荐使用xml方式进行绑...

2020-04-24 23:43:35 1958 21

原创 MySQL事务四大特性实现:面试官的终究拷问

文章目录MySQL事务四大特性实现:面试官的终究拷问前言知识数据库事务的四大特性事务的四种隔离级别原子性的实现持久性的实现日志文件的刷新策略隔离性的实现已提交读(允许可重复读)可重复读(允许幻读)终究难题参考文章MySQL事务四大特性实现:面试官的终究拷问估计大家对事务的四大特性ACID、事务的四种隔离机制的概念了熟于心,有些面试官问完这些就不追问了,但是有些面试官会来个终究拷问,你了解My...

2020-04-24 23:24:31 6659 18

原创 Mybatis高频面试题(一)

文章目录Mybatis高频面试题#{}、${}区别延迟加载原理解析实例实验二级缓存参考文章Mybatis高频面试题上篇文章讲述了Spring如何配置Mybatis环境。SpringBoot配置Mybatis:详细易懂本篇文章主要介绍Mybatis的一些高频面试知识点。持续更新。希望点个收藏#{}、${}区别网上标准答案:#{}是预编译处理,${ } 是字符串替换。Mybatis...

2020-04-22 16:19:44 2080 17

原创 信号量Semaphore了解过吗?

难堪的一次面试: 信号量Semaphore了解过吗?没有????线程同步器CycliBarrier你都不会吗,打击到了我。。源码详解CountDownLatchCycliBarrier、CountDownLatch都是减计数器,而Semaphore都是加计数器下面我们从源码角度来探究Semaphore的内心世界简单的一个例子实现一个简单的线程同步例子,semaphore.release(...

2020-04-21 18:22:36 1022 11

原创 线程同步器CycliBarrier你都不会吗?

文章目录线程同步器CycliBarrier你都不会吗,打击到了我。两个例子CycliBarrier类图源码分析初始化await方法dowait方法参考文章线程同步器CycliBarrier你都不会吗,打击到了我。上文介绍了CountDownLatch,CountDownLatch虽然可以实现多个线程同步,但是只能使用一次。而本文所要介绍的CycliBarrier,比CountDownLatc...

2020-04-21 17:12:01 1016 17

原创 Java内部类:你真得了解方法内部类吗?

文章目录Java内部类:你真得了解方法内部类吗?普通内部类方法内部类匿名内部类静态内部类参考Thinking in JavaJava内部类:你真得了解方法内部类吗?java内部类,相信很多人都使用过内部类,新建线程使用的匿名内部类,但是有很多人对内部类的一些概念处于模糊阶段,比如为什么方法内部类引用方法参数,方法参数必须设置为final,所以本文系统得整理了一下内部类知识,如果有用得话,记得...

2020-04-21 12:31:58 1361 12

原创 SpringBoot配置Mybatis:详细易懂

文章目录SpringBoot配置Mybatis:详细易懂前期准备工作Mybatis相应配置编写相应代码文件结构和结果增删查改Mybatis 动态SQL参考文章SpringBoot配置Mybatis:详细易懂Mybatis作为后端持久层框架,在互联网大厂中应用广泛,所以掌握Mybatis,可谓是必备的。最近准备系统得复习一下Mybatis框架,所以博客会更几期关于Mybatis得文章,如果觉得...

2020-04-20 23:34:15 4123 12

原创 进程与线程的区别:一个简单又困难的问题

文章目录进程与线程的区别:一个简单又困难的问题进程执是什么线程是什么进程和线程的区别进程与线程的区别:一个简单又困难的问题如果简单得记得,进程是操作系统分配资源的最小单位,线程是CPU调度的最小单位。其实是很难博得面试官的青睐的,因为面试官问100个人,90个人都会说这句话,体现不出差异性,所以本文从操作系统原理出发,详细讲述进程与线程的区别,看完之后,或许你对问题的回答,或许有新的理解。可...

2020-04-20 02:45:39 2422 13

原创 Redis高阶知识:实现分布式锁

Redis高阶知识:实现分布式锁redis的一些基础知识,可以看这篇博客Redis,看这篇博客,吊打所有面试官但是实际找工作的时候,单单基础知识是不够的,面试官大概率问完基础知识后,会问Redis的一些高阶知识,比如Redis实现分布式锁、Redis实现消息队列等。本文从代码角度,详细阐述如何使用Redis实现分布式锁分布式锁概念本地锁:单个节点(机器)中实现线程同步的方式,Syn...

2020-04-18 23:21:16 2181 16

原创 数据库范式:容易忽略的关键知识

文章目录数据库范式:容易忽略的关键知识第一范式(1NF)第二范式(2NF)第三范式(3NF)鲍依斯-科得范式(BCNF)参考文章数据库范式:容易忽略的关键知识大多数面试的时候,问数据库知识,问得最多得就是索引、事务。但是有一个知识点不可忽略就是数据库范式,熟悉数据库范式,会给你带来意想不到的收获第一范式(1NF)定义:强调列的原子性。即列不能够分存其他几列如下表就不满足1NF要求,进...

2020-04-17 23:26:17 1882 13

原创 Java线程池:简明易懂的源码分析

Java线程池:简明易懂的源码分析Java线程池的一些基础知识,可以参考博客Java线程池,你五分钟讲完,而我和面试官聊了半小时本文将从源码角度分析线程池原理,加深对线程池原理的理解,简单背几个原理知识,其实很难得到面试官的青睐,了解源码知识,可以由内而外得征服面试官。Java线程池状态转换使用Integer类型(32bit) ctl中高3位记录Java线程池的状态,低29位记录线程...

2020-04-17 17:20:29 3383 18

原创 并查集:刷题必备神器

并查集:刷题必备神器面试的时候,面试官出了一道并查集的算法题,辛亏以前复习过。写下这篇文章,加深自己的理解,同时希望帮助到正在准备面试的你。觉得好,可以收藏一波。定义动态维护若干个不重叠的集合,并支持合并与查询操作的一种数据结构。下面以树作为并查集逻辑结构,具体代码实现使用数组。详细讲述并查集的初始化、合并和查询操作并查集的初始化开始各个节点的父元素均为自身,各个集合元素数量...

2020-04-17 00:39:42 1633 11

原创 代理模式真得这么简单

代理模式真得这么简单代理模式的定义为另一个对象提供一个替身或占位符以控制对这个对象的访问代理模式类图简单描述就是真实对象,RealSubject,和代理对象,Proxy实现同一个接口Subect,并且代理对象Proxy持有真实对象的引用静态代理实例GumballMachine,作为真实对象//糖果机,拥有两个属性,位置和糖果数量public class GumballMachin...

2020-04-15 15:30:03 1439 17

原创 Java反射机制的大厂面试题

Java反射机制的大厂面试题反射机制概念Java 反射机制在程序运行时,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性。这种 动态的获取信息 以及 动态调用对象的方法 的功能称为 java 的反射机制。为什么引入反射概念相信你看上面的概念,心中没有泛起任何的波澜,动态的获取信息、动态调用对象方法黑人问号。下面一段简单代码作为i出发点,...

2020-04-15 00:53:39 1000 7

原创 一文带你通透理解死锁

一文带你通透理解死锁面试的时候,操作系统知识是必备的,而死锁是操作系统知识中重要的一环。所以想找到好工作,通透了解死锁概念是必须的死锁产生的四个条件(必须同时满足)互斥条件:一个资源一次只能被一个进程占有持有并等待:进程因为请求资源阻塞时,对已获取的资源不释放不可抢占:进程已经获取的资源在使用过程中不能被其他进程抢占,只能使用完后,由该进程自己释放环路等待:多个进...

2020-04-14 17:26:39 741 15

原创 Java实现生产者消费者模型

Java实现生产者消费者模型生产者消费者模型,是一般面试题都会考的,下面介绍使用ReetrantLock实现生产者消费者模型。定义一个ReentrantLock锁,同时new出两个condition,一个控制队满,一个控制队空//生产者 消费者import java.util.LinkedList;import java.util.Queue;import java.util....

2020-04-14 01:08:15 862 8

原创 面试官瞬间就饱了,重写equals函数,需要重写hashCode函数吗?

面试官瞬间就饱了,重写equals函数,需要重写hashCode函数吗?面试官问我,为什么重写equals函数,必须重写hashCode函数,我当时就懵住了。然后扯天扯地,然后面试官瞬间就饱了,痛定思痛,写下这篇博客首先看String的equals源码String重写了equals方法,引用指向同一个地址,一定返回true。并且如果String包含的字符串完全相同,同样返回true....

2020-04-14 01:06:20 706 5

原创 你真得会写java多线程手撕代码题吗?

你真得会写java多线程手撕代码题吗?多线程部分是java中最重要的一部分之一,所以也是面试官经常问的部分。头条面试的时候,经常会让你手撕一些多线程代码题。下面介绍几个经典得面试题两个线程,线程1打印A,线程2打印B,两个线程同时并发,要求保证先打印A,后打印B使用synchronized+ wait、notifypublic class Main{ static clas...

2020-04-13 12:28:26 1306 7

原创 Redis,看这篇博客,吊打所有面试官

Redis,看这篇博客,吊打所有面试官Redis是基于内存,采用单线程的键值对数据库,并使用多路IO复用策略,处理连接请求。Redis支持丰富的数据类型Redis的key只支持String类型,value支持String、List、Set、Zset、HashStringString数据类似是二进制安全的,可以把图片、视频等文件保存在String中。String类型支持增量操作(St...

2020-04-12 22:30:18 1906 14

原创 头条手撕代码题: 16.25.LRU缓存

头条手撕代码题: 16.25.LRU缓存很多人面试头条实习,都要求手写实现LRU缓存算法。闲来无事,遂写下这篇题解LinkedList+HashMap解法维护一个队列(LinkedList实现了队列接口),用于实现最近最少使用策略,队头保存最近最少使用的key,队尾保存最新访问的key。维护一个HashMap,用来存储<key,vaue>键值对。调用get方...

2020-04-11 00:43:37 642 4

原创 分布式事务

分布式事务分布式理论单个数据库性能产生瓶颈的时候,可能会对数据库进行物理分区,升级为分布式数据库。分布式数据库无法像单个数据库一样,事务保证ACID属性。只能遵循CAP原则。CAP原则:分布式环境下,无法同时拥有以下三个属性,只能三选二一致性:与单个数据库的一致性类似,只不过分布式环境,保证所有节点的数据均一致。可用性:每一个操作总是能够在一定时间内返回结果。分区容...

2020-04-10 16:48:14 656 9

原创 jdk1.7 HashMap中的致命错误:循环链表

jdk1.7 HashMap中的"致命错误":循环链表jdk1.7 HashMap结构图jdk1.7是数组+链表的结构jdk1.7版本中主要存在两个问题头插法会造成循环链表的情况链表过长,会导致查询效率下降jdk1.8版本针对jdk1.8进行优化使用尾插法,消除出现循环链表的情况链表过长后,转化为红黑树,提高查询效率具体可以参考我的另一篇博客你真的懂大厂面试题:...

2020-04-09 17:27:57 5495 22

原创 你真的懂大厂面试题:HashMap吗?

你真的懂大厂面试题:HashMap吗?jdk1.8版本HashMapHashMap基本数据结构hashMap是数组+链表或者数组+红黑树的结构,如下图以HashMap的put方法和get方法为出发点,从源码角度,阐述面试的知识点HashMap中<key,value>元素被封装成Node对象static class Node<K,V> impleme...

2020-04-09 15:28:45 1946 24

原创 腾讯、阿里面试题 了解B+树吗?

腾讯、阿里面试题: 了解B+树吗?由于MySQL的索引结构是B+树,所以B+树是大厂的高频面试题,想理解B+树,最好先理解B树,下面详细介绍B树、B+树B树B树的概念B树又称为B-树,是一种平衡多路查找树,描述B树,一般需要指定其阶数MMM,阶数指的是一个节点包含的子节点最大数量。当MMM取2的时候,就是常见的二叉树其有如下性质:每个节点最多有M−1M-1M−1个关键字除根节点...

2020-04-08 12:07:51 6861 23

原创 Java锁升级

Java锁升级对象内存布局Java对象在内存中存储的布局可以分为3块区域: 对象头、实例数据、对齐填充。对象头,分为两个部分,第一个部分存储对象自身的运行时数据,又称为Mark Word,32位虚拟机占32bit,64位虚拟机占64bit。如图所示,不同锁状态下,Mark Word的结构,理解下面要介绍的各种锁,和锁升级过程,都需要先充分了解Mark Word的结构。第二部分是类型指针,指...

2020-04-06 01:36:52 2965 15

原创 MySQL事务的隔离级别

MySQL事务的隔离级别数据库事务简单介绍MySQL在执行sql语句的时候,会遇到一些场景,一系列操作必须全部执行,而不能仅执行一部分。例如,一个转账操作:-- 从id=1的账户给id=2的账户转账100元-- 第一步:将id=1的A账户余额减去100UPDATE accounts SET balance = balance - 100 WHERE id = 1;-- 第二步:将id=...

2020-04-05 17:23:51 2864 14

原创 源码详解CountDownLatch

源码详解CountDownLatchCountDownLatch,是一种常见同步器。其实现依赖于AQS(可以参考抽象队列式同步器AQS详解)具体来说一个经典得应用案例是,主线程等待子线程执行完毕,再进行信息汇总,退出主函数。如下代码所示。我们可以大胆猜测其初始化构造,赋值计数器值,之后,每次调用countDown函数,计数器减一,当为零时,会唤醒调用await函数阻塞得线程。下面从其源码角度...

2020-04-05 12:35:02 1382 11

原创 腾讯面试题 你了解ReentrantLock吗?

腾讯面试题 你了解ReentrantLock吗?ReetrantLock是一个可重入的独占锁,主要有两个特性,一个是支持公平锁和非公平锁,一个是可重入。ReetrantLock实现依赖于AQS(AbstractQueuedSynchronizer)(不懂得话可以看我上篇博客)。ReetrantLock主要依靠AQS维护一个阻塞队列,多个线程对加锁时,失败则会进入阻塞队列。等待唤醒,重新尝试加...

2020-04-05 01:10:47 2995 10

原创 抽象队列式同步器AQS详解

AQS源码详解AQS,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,ReetrantLock、Semaphore、CountDownLatch的实现均依赖于AQS,所以详细了解其源码实现,有助于理解依赖其实现的锁和同步器。AQS维护一个双向的FIFO阻塞队列和一个volatile int类型的成员变量,如图所示,其实简而言之,多个线程同时对资源进行抢占时,失败的线程会...

2020-04-04 22:45:30 1300 9

原创 ThreadLocal、InheritableThreadLocal详解

ThreadLocal、InheritableThreadLocal详解多线程访问同一个共享变量时,容易出现并发冲突,为了保证线程的安全,一般使用者在访问共享变量时,需要进行适量的同步。而ThreadLocal提供了线程的私有变量,每个线程都可以通过set()和get()来对这个私有变量进行操作,但不会和其他线程的私有变量进行冲突,实现了线程的数据隔离。InheritableThreadLoca...

2020-04-03 14:22:37 1249 11

calculator.rar

QT简易计算器, 放心食用,下载源码,可以直接运行

2019-06-03

决策树代码。机器学习实战代码

机器学习实战代码,里面的test.py是运行文件,treePlotter.py是画决策树的代码,decisionTree是构造决策树的代码。直接运行test.py就可以得出结果

2019-02-28

eclipse的hadoop插件

hadoop0.20.2的eclipse插件, 必须是eclipse3.5,我的资源页有,可以下载

2018-09-13

eclipse3.5

hadoop0.20.2 必须与 eclipse3.5才能兼容,经过测试,完全可以用

2018-09-13

hadoop0.20.2

这是hadoop0.20.2的安装包, 网上现在很难找到,特此保存一下!

2018-04-05

狸窝万能视频转换器。狸窝是一个十分好用的视频转码器

win7动态主题只支持.MVW格式的视频,所以必须用到视频格式转换器,狸窝是一个十分好用的视频转码器

2017-12-31

DreamSceneSeven

制作win7动态桌面必须使用的软件, DreamSceneSeven 自己亲自使用,完全可以用

2017-12-31

notepad++的PluginManager插件

64位的notepad++和部分32位 没有PluginManager插件,所以提供PluginManager.dll下载

2017-12-24

PAT advanced 1-50题代码

今年暑假,用了两礼拜,刷了刷PAT题库,收获了很多,自己的代码水平也提上来了 这50道题,主要是靠算法和数据结构的应用,锻炼自己的码代码的水平,里面的答案 都是AC了的,如果对题目有什么问题可以私信我,我会回答!共同加油!

2016-09-10

空空如也

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

TA关注的人

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