自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据血缘深度透析

数据血缘,是指数据的全生命周期中,数据从产生、处理、加工、融合、流转到最终消亡,数据之间自然形成一种关系。其记录了数据产生的链路关系,这些关系与人类的血缘关系比较相似,所以被成为数据血缘关系。

2023-08-17 10:54:46 266 2

原创 面试高频题:进程之间的通信方式

文章目录面试高频题:进程之间的通信方式进程之间的通信方式管道匿名管道命名管道信号信号量消息队列共享内存本地套接字参考文章面试高频题:进程之间的通信方式进程之间的通信方式,是面试的高频试题,我就被腾讯的面试官Cue到了,简单得列举出各种方式,大部分同学都能回答上,但是你知道通信方式之间的区别与效率,不太清楚的,可以收藏本文,先收藏,后读。进程之间的通信方式进程之间的通信方式,主要有一下几种管道,包括匿名管道、命名管道信号信号量消息队列共享内存本地套接字管道管道是一种半双工的通信

2020-06-27 00:21:13 2597 1

原创 Java内存区域划分和内存分配策略

Java内存区域划分和内存分配策略如果不知道,类的静态变量存储在那? 方法的局部变量存储在那? 赶快收藏Java内存区域主要可以分为共享内存,堆、方法区和线程私有内存,虚拟机栈、本地方法栈和程序计数器。如下图所示,本文将详细讲述各个区域,同时也会讲述创建对象过程,内存分配策略, 和对象访问定位原理。觉得写得好的,可以点个收藏,绝对不亏。Java内存区域程序计数器程序计数器,可以看作程序当前线程所执行的字节码行号指示器。字节码解释器工作时就是通过改变计数器的值来选取下一条需要执行的字节码指令,

2020-05-15 12:32:46 3200 37

原创 腾讯面试:我倒在了网络基础知识

文章目录腾讯面试:我倒在了网络基础知识TCP与UDP的区别TCP的三次握手和四次挥手[TCP三次握手 四次挥手](https://o-fawkes.blog.csdn.net/article/details/77413870)TCP流量控制TCP拥塞控制慢开始:乘法增加拥塞避免:加法增大快重传快恢复参考文章腾讯面试:我倒在了网络基础知识腾讯面试十分注重网络基础知识,问的几乎都是一些细节知识,...

2020-05-04 00:53:02 71960 118

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

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

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

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

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

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

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

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

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

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

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

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

原创 二叉树前序、中序、后序遍历非迭代解法

二叉树前序、中序、后序遍历非迭代解法经常会有面试官,让你手撕二叉树的前序、中序、后序遍历,当你简单得写了递归的方法,面试官看了看,慢悠悠得抛出你会迭代的解法吗?,这时候就需要阅读我这篇文章了。前序和中序遍历,解决方法类似,都是使用栈解决的。后序遍历稍微复杂一点。二叉树前序遍历class Solution { public List<Integer> preorderTraversal(TreeNode root) { List<Integer>

2020-09-24 19:56:34 529

原创 LinkedHashMap

文章目录LinkedHashMap详解基本数据结构遍历顺序按照插入顺序遍历顺序按照访问顺序LinkedHashMap实现LRULinkedHashMap详解相信大家都知道,HashMap的访问时无序的,如果你想按照插入顺序,访问元素,就必须使用LinkedHashMap, 下面详细讲述其原理。基本数据结构LinkedHashMap 的大致数据结构如下图所示(链表和哈希表中相同的键值对都是指向同一个对象,区分开来是为了呈现清晰的结构)其中双向链表,对元素进行排序,保证按照插入的顺序,访问元素

2020-08-24 01:02:52 429

原创 Java异常体系

Java异常体系Java异常体系结构Java把异常当作对象来处理,并定义了一个基类java.lang.Throwable,作为所有异常的超类。Throwable有两个子类Error和Exception,分别表示错误和异常。Exception又分为运行时异常RuntimeException和非运行时异常,又称为不检查异常和检查异常Error与Exception的区别Error是程序无法处理的错误,比如OutOfMemoryError、ThreadDeath.Error发生时,JVM一般会现在线

2020-08-21 23:55:36 298

原创 Spring IOC源码分析

Bean的生命周期Spring对Bean进行实例化Spring将值和Bean引用注入进Bean对应的属性中调用setBeanName方法调用setBeanFactory方法调用setApplicationContext方法调用postProcessBeforeInitalization方法,预初始化方法,初始化前执行调用afterPropertiesSet方法调用postProcessAfterInitialization方法,后初始化方法,初始化后执行经过以上的工作后,Bean将一直

2020-08-07 23:04:57 357

原创 网络知识

网络知识OSI 七层模型 & TCP/IP五层模型TCP与UDP的区别TCP面向连接的, 传输数据时,需先进行三次握手,建立连接,UDP是无连接的,发送数据之前不需要建立连接TCP通过确认和重传机制,提供可靠的服务。即通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达,而UDP不保证可靠传输,只是尽可能得交付TCP面向字节流,即将数据看成一连串无结构的字节流。UDP是面向报文的。UDP没有拥塞控制机制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电

2020-08-04 00:17:05 433

原创 SQL面试题

文章目录SQL面试题selectlimitdistinctgroup byorder byhavinginsertupdatedeleteindexjoininner join,内连接right join,右连接full outer join,全连接full outer join,全连接SQL面试题sql知识点,其实很重要,如果面试的时候,面试官问你一些简单的sql语句,如果你没有回答上来,印象会大打折扣,所以何不花点时间,跟我一起复习一下sql语法select基本用法SELECT colu

2020-08-03 08:39:12 1450

原创 详解操作系统内存管理

内存管理分页式存储管理分页存储管理是将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页,相应地,也把内存空间分成与页面,相同大小的若干个存储块,称为(物理)块或页框(frame)。在为进程分配内存时,以块为单位将进程中的若干个页分别装入到多个可以不相邻接的物理块中。由于进程的最后一页经常装不满一块而形成了不可利用的碎片,称之为“页内碎片” 。在分页系统中,允许将进程的各个页离散地存储在内存不同的物理块中,但系统应能保证进程的正确运行,即能在内存中找到每个页面所对应的物理块。为此,系统

2020-07-25 11:15:16 1117

原创 事务消息源码学习

事务消息源码学习TransactionMQProducer发送事务消息事务消息发送时,需要打上相应的标记,与普通消息进行区分MessageAccessor.putProperty(msg, MessageConst.PROPERTY_TRANSACTION_PREPARED, "true");MessageAccessor.putProperty(msg, MessageConst.PROPERTY_PRODUCER_GROUP, this.defaultMQProducer.getProducer

2020-07-18 17:09:49 283

原创 ArrayList与LinkedList区别

文章目录ArrayList与LinkedList区别ArrayListget方法add方法LinkedListget方法add方法总结ArrayList与LinkedList区别ArrayList从构造函数中,可以看出,ArrayList底层结构是一个对象数组public ArrayList(int initialCapacity) { if (initialCapacity > 0) { //对象数组 this.elementData = new Ob

2020-07-17 16:08:19 279

原创 简单分析Spring AOP源码

简单分析Spring AOP源码Spring AOP和IOC是Spring源码的核心,也是面试高频点。本文首先讲述AOP的概念,之后从源码角度分析Spring AOP的原理AOP概念AOP, Aspect Oriented Programming,面向切面编程。面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使

2020-05-20 18:44:33 925 2

原创 不一样的二分查找

不一样的二分查找大家肯定一定非常熟悉二分查找法,如果面试官让你写个二分查找法,估计你会在被子里偷笑,但是如果让人查找目标值的最小索引,即如果有多个相同值,直接返回最小的索引。可以直接查出来任意一个目标值,然后向左遍历,但是还有一种优雅的方式,只要改动一两行代码普通二分查找法//最普通的二分查找法public static boolean binarySearch(int start, int end, int[]arr, int target) { if(start > end)

2020-05-18 23:26:04 582

原创 Java NIO真得就这么简单

Java NIO真得就这么简单大多数人肯定了解Java IO, 但是对于NIO一般是陌生的,但是Java NIO是一个高频知识点,又不得不学,所以本文通过图文+代码的方式,保姆级别的讲述Java NIO的各个知识点。觉得写得好的,希望点个赞,给个收藏。Java IO 与 Java NIO的区别Java IO 与 Java NIO读取文件的差别普通Java IOpublic static void ioReadFile(String fileName) throws Exception {

2020-05-18 22:39:29 2225 24

原创 代码详解适配器模式

文章目录适配器模式适配器的定义适配器的类图代码实例总结适配器模式适配器的定义将一个类的接口,转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以合作无间适配器的类图代码实例鸭子的接口(interface Target)interface Duck{ void scream();}绿帽鸭(ConcreteTarget)class GreenDuck implements Duck{ public void scream() { System.o

2020-05-14 17:51:39 1148

原创 令人头大的慢查询分析

文章目录令人头大的慢查询分析前言explain命名使用方法索引失效情况慢查询分析参考文章令人头大的慢查询分析前言建表语句create table student( `id` BIGINT(20) NOT NULL AUTO_INCREMENT, `name` VARCHAR(50) NOT NULL, `age` INT(11) NOT NULL, `height` INT(11) NOT NULL, PRIMARY KEY (`id`), KEY `name_i

2020-05-14 11:02:56 2992 30

原创 代码详解工厂方法模式和抽象工厂模式

代码详解工厂方法模式和抽象工厂模式工厂方法模式定义一个用于创建对象的接口,让子类决定实例化哪一个类,使一个类的实例化延迟到其子类类图具体代码以生产鼠标为例, 有一个抽象的鼠标工厂,工厂有两个实现,一个是戴尔鼠标工厂,一个是联想鼠标工厂,具体的抽象工厂子类,负责决定生产那种鼠标,将类的实例化延迟到了子类抽象的鼠标工厂类abstract class MouseFactory{ //抽象方法 abstract Mouse createMouse();}抽象工厂的具体实

2020-05-12 11:49:28 1312 1

原创 MySQL存储引擎,Innodb与MyISAM谁更叼?

MySQL存储引擎,Innodb与MyISAM谁更叼?固定套路,问mysql数据库知识的时候,一定会带着问存储引擎,innodb,MyISAM,他们最主要的区别是索引的实现方式,然后是加锁粒度等等的区别,最后还会来到送命题你觉得选择Innodb好,还是MyISAM好,为什么?。本文将主要讲述两个存储引擎的实现方式,顺带介绍一下他们的一些特性区别,和适用场景。非聚集索引与聚集索引MyISAM索引实现MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址。下图是MyI

2020-05-10 12:37:26 2359 25

原创 详解Java垃圾回收器

详解Java垃圾回收器上文讲述了垃圾回收算法,本文介绍垃圾回收器,也就是垃圾回收算法的具体实现。垃圾回收系统一般是基于分代收集策略,所以一个完整的垃圾回收系统一般是新生代垃圾收集器和老年代垃圾收集器搭配使用。唯一特别的是G1垃圾收集器,不仅可以对新生代垃圾进行回收,也可以对老年代垃圾进行回收。下图是各个新生代收集器和老年代收集器搭配使用的情况,下文将详细讲述各个新生代垃圾收集器和老年代垃圾收集器。新生代垃圾回收器SerialSerial收集器是最古老,最稳定以及效率高的收集器,只使用一个线程

2020-05-10 11:34:09 1532 4

原创 垃圾回收机制

垃圾回收机制判断对象是否存活的方法引用计数法每个对象上都有一个引用计数,对象每被引用一次,引用计数器就+1,对象引用被释放,引用计数器-1,直到对象的引用计数为0,对象就标识可以回收。但是这个算法有明显的缺陷,对于循环引用的情况下,循环引用的对象就不会被回收。实例:public class ReferenceCountingGC{ public Object instance = null; private static final int _1MB = 1024 * 1024

2020-05-10 00:38:36 1705 29

原创 你知道这linux几个核心命令吗?

你知道这linux几个核心命令吗?找工作的时候,熟悉linux操作系统是一项不可或缺的技能。熟记几个关键的linux命令,可以以不变应万变top命令Linux top命令用于实时显示进程的动态命令参数d : 改变显示的更新速度n : 更新的次数,完成后将会退出 topp : 指定查看的进程号实例#显示进程信息top#设置信息更新次数,表示更新两次后终止更新显示t...

2020-05-01 21:26:16 3605 21

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

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

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

原创 Mybatis高频面试题(二)

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

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

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

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

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

原创 Mybatis高频面试题(一)

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

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

原创 信号量Semaphore了解过吗?

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

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

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

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

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

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

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

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

原创 SpringBoot配置Mybatis:详细易懂

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2020-04-17 00:39:42 1599 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关注的人

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