自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【程序员杂谈】没有代码的年度总结

写在前面:

2019-12-31 21:50:29 567 2

原创 2020年度总结--致奥利奥团队

好久没写文章了,不知不觉也到12月了!这篇总结好久之前就很想写的了,可是最近有事情一直耽搁了!上半年也没什么好说的,重点说说下半年吧!我的下半年做了什么?leetcode,232题嘻嘻,看着下半年还行的刷题数量,对于算法这个东西,还是挺满足的了,虽然现在做题还是很难,基本也没什么大的提升,所以,我还是会继续努力的!关于团队,前一篇文章,我也谈到了,我加入了一个团队,还没开始做项目之前,我对这个团队是充满期待,因为自己要做leader了,可以多人协同开发了,再也不用一个人在那里死啃了!1.

2020-12-10 12:22:40 637 2

原创 玖月:如果真的能够穿越回到过去,我可能只会给自己一个微笑

6个小时,终于到家了,这也太难了吧!!好久没写文章了,9月的最后一天,来个总结吧!先说说9月份的第一件好事吧!那就是我终于正式成为一名预备党员了。搞了这么久,好像看到头了。国庆好好准备把思想汇报写完吧,以后就是一个党员了,要注意言行举止了!第二件事,那就是,从以前的单兵作战,到现在也是一个小团队的leader了,一个团队的好坏真的取决于这个leader。这也是我第一次带团队,第一次团队作战。先说说这个月作为leader的一些收获吧!拓展了技术视野,确实是这样,以前的我沉浸在基础中,不会去拓展.

2020-09-30 23:14:48 290

原创 不是结束,而是开始

Hello,各位朋友,真的好久不见了,接近一个月的时间,我又来写文章了,这篇文章不是一篇技术文,只是一篇对自己过去这大半年的总结,本来想着这篇文章回学校再写的,因为最近比较忙,也想把编译原理啃完,结果还是要提前把他写了,才有动力再去继续学习了!!近况先从近况开始说起吧!最近老爸的脚伤了,无奈之下,我也要顶替它的位置一起去送货,一个字,累唉!!如图所示,哈哈哈,一车一车的货,这么热的天,真的要命啊!不过,这几天送货也可以感受到,工作之后的我是有多不情愿再去学习,尽管每天都是吃完饭就下班了,但是睡完午.

2020-08-29 16:49:10 749

原创 并发编程就该这么学(长文预警)

二轮复盘并发编程!!文末有一些我学习并发编程的感受,不知道怎么入手的可以看看,正所谓传道授业解惑也,传递怎么学比知识更重要!欢迎在评论区和我交流讨论什么是线程安全当多个线程同时访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那就称这个对象是线程安全的。线程安全,是编程中的术语,指某个函数、函数库在多线程环境中被调用时,能够正确地处理多个线程之间的共享变量,使程序功能正确完成。.

2020-08-04 22:46:22 437

原创 总结Spring的设计模式

哈哈哈,今天又水一篇文章了,主要是最近再刷算法和基础,一时半会文章未能写完总结Spring框架用到的设计模式适配器模式在 Spring 中的应用适配器其中一个作用是“统一多个类的接口设计”如果不了解Spring-MVC的可以先看看这个图不了解的可以先看这篇博客我们看到上面那个HandlerAdapter,通过HandlerAdapter拿到不同的Hander然后调用不同的Hander来执行不同的handle逻辑从而返回结果给前端(前后端分离的情况是不用解析视图的)那这个要怎么实现呢?//.

2020-07-23 23:03:36 285

原创 总结Mybatis的设计模式

今天特意来了一篇设计模式的实战,跟着源码真正了解设计模式,因为我第一次学习设计模式的时候,都是只知道每一个具体的设计模式的意思,并没有了解到一些框架优秀的设计模式!今天特意写一下这个总结Mybatis框架用到的设计模式SqlSessionFactoryBuilder:为什么要用建造者模式来创建SqlSessionFactory?简单谈谈建造者模式这里主要说说为什么需要建造者模式?建造者模式和工厂模式都是用来创建对象的。平常我们一般创建对象都是直接new,通过构造器或者setter把对象属性.

2020-07-21 23:05:12 297

原创 浅谈Mybatis插件机制

哈哈哈,今天又拖更了!!Mybatis插件机制废话不多说,直接进入主题,这个Mybatis插件机制有点像Spring MVC的拦截器,底层的設計模式都是拦截器模式。插件机制原理我们在编写插件时,除了需要让插件类实现 Interceptor 接口,还需要通过注解标注该插件的拦截点。所谓拦截点指的是插件所能拦截的方法,MyBatis 所允许拦截的方法如下:Executor (update, query, flushStatements, commit, rollback, getTransact.

2020-07-20 22:45:16 272

原创 浅谈Mybatis内置数据源

Mybatis内置数据源今天的文章稍微没有那么肝,但是还是拖到了晚上!!哈哈哈,其实昨天已经写好了,只不过一直想不到个人唠叨应该写什么,所以就拖了一下。内置数据源初始化过程在详细分析 UnpooledDataSource 和 PooledDataSource 两种数据源实现之前,我们先来了解一下数据源的配置与初始化过程。现在看数据源是如何配置的,如下:<!--使用连接池--><dataSource type="POOLED"> <!--这里会替换为loca

2020-07-18 23:03:08 712 1

原创 剖析Mybatis的SQL执行过程

SQL 执行过程分析今天又来一点硬核的东西,我们一起来看看SQL的执行过程为 Mapper 接口创建代理对象先看看调用栈:// 本质:// MapperProxyFactorypublic T newInstance(SqlSession sqlSession) { /* * 创建 MapperProxy 对象,MapperProxy 实现了 * InvocationHandler 接口,代理逻辑封装在此类中 */ final MapperP

2020-07-17 11:26:25 321

原创 深入剖析Mybatis缓存机制

哈哈哈,终于考完试了,用了大概两天时间肝了这篇文章!!!关于今天要讲的mybatis缓存机制,其实之前我已经有看过也用过,只不过平常不太留意,最近在看mybatis源码,就来讲一下这个缓存机制前言​ 本次分析的代码和数据表在gitee上,地址:https://gitee.com/professor_mai/mybatis_cache_demo​ 关于这个Mybatis缓存,推荐这篇文章 https://tech.meituan.com/2018/01/19/mybatis-cache.html,.

2020-07-16 11:50:05 338

原创 你真的了解Spring-AOP?

继上一篇自研实现Spring-IOC之后,今天又来复盘完善一下Spring-AOPSpring-AOPAOP就是面向切面编程,具体概念性的东西,我就不多解释,不了解的可以上网找找相关的文章说说我理解的Spring-AOPSpring-AOP是建立在IOC之上的,有了IOC容器才能实现AOP功能,那AOP有什么用了,这里可以简单说一下Spring的事务管理从而来理解Sprig-AOPSpring事务管理事务的特性事务具有ACID四个特性:原子性(Atomicity):事务是一个不可.

2020-07-14 17:19:32 227

原创 一文了解设备管理

操作系统专栏第四篇,终于肝完了,这篇文章也只是个人笔记而已,仅供参考,因为对操作系统的理解还不是那么透彻,此资料仅限于本人用来期末考试,更多深入原理性的东西还有待挖掘!!请多多指教设备管理IO硬件原理IO设备,可以分为块设备和字符设备,块设备就是把信息存储在固定大小的块中,每个块有自己的地址(硬盘)。字符设备(不可寻址)就是以字符为单位,以字符为单位发送或接受一个字符流(打印机、鼠标)(通常我们c语言里的printf和scanf操作的都是字符流)IO设备一般分为机械和电子。电子部分称为设.

2020-07-12 11:36:56 507

原创 一文了解文件系统

今天是周五,刚结束完答辩之后,就来完善一下这篇文章,嘻嘻,昨天因为跑去刷题了,所以就没有把文章更新出来,然后总结了一下,文件系统这一块其实我的理解也不是太深,这些笔记仅作参考!!文件系统https://mp.weixin.qq.com/s/jSG6qLcXWuJTvo1ROBLDtA 这里有一篇不错的文章文件是进程创建的信息逻辑单元,就是每个文件可以看成一个地址空间。操作系统中,处理文件的部分就是文件系统文件系统的Linux实践fdisk -l命令因为我只分了一个硬盘,所以就只有一.

2020-07-10 20:52:04 394

原创 一文带你了解内存管理

这篇文章是本人的操作系统学习笔记系列二,接下来一周都会每天一更,欢迎阅读关注点赞!内存管理linux实践命令:free -m命令以MB为单位显示内存使用情况。total:总计物理内存的大小。used:已使用多大。free:可用有多少。Shared:多个进程共享的内存总额。Buffers/cached:磁盘缓存的大小。(buffer 是缓冲区,cache是页高速缓存。无论是缓冲区还是页高速缓存,它们的实现方式都是一样的。缓冲区只不过是一种概念上比较特殊的页高速缓存罢了)availabl.

2020-07-08 21:45:17 1229

原创 一文带你了解进程和线程

又到了复习周了,接下来这一周,我将用一系列我本人的的操作系统笔记带着你一起重新学习操作系统进程操作系统中最核心的一个概念:进程。其实,在某一瞬间,cpu只能运行一个进程,但在1秒钟内,他可能运行多个进程,这样就产生了并行的错觉,这种现象就是伪并行也就是多次切换进程,这种快速切换进程称作多道程序设计。进程控制块 (PCB)用于描述和控制进程的运行,是操作系统中最重要的记录型数据结构。 记录了操作系统所需要的、用于描述进程当前情况以及进程控制运行的全部信息。系统创建一个新进程时,会为它建.

2020-07-07 23:24:02 784

原创 自研实现Spring-IOC

SpringIOC基础理论Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。"别找我们,我们找你”;即由IoC容器帮对象找相应的依赖对象并注入,而不是由对象主动去找。而依赖注入和依赖查询是实现IOC思想的其中的几种方式IOC的职责:松耦合、"别找我们,我们找你”依赖查询,一句话总结就是,主动去寻找相关的依赖类,用户是拉取依赖注入,由容器主动推送依赖查找是主动或手动的依赖查找方式,通常需要依赖容器或标准API 实现。而依赖注入则是手动或自动依赖绑定

2020-07-05 16:58:53 281

原创 浅谈spring循环依赖

简单刨析spring的循环依赖什么是循环依赖​ 循环依赖:就是N个类循环(嵌套)引用。 通俗的讲就是N个Bean互相引用对方,最终形成闭环。用一副经典的图示可以表示成这样(A、B、C都代表对象,虚线代表引用关系):注意:其实可以N=1,也就是极限情况的循环依赖:自己依赖自己另需注意:这里指的循环引用不是方法之间的循环调用,而是对象的相互依赖关系。(方法之间循环调用若有出口也是能够正常work的)举一个通俗一点的场景:如果在日常开发中我们用new对象的方式,若构造函数之间发生这种循环依赖的话,程序

2020-06-28 17:00:55 543

原创 Netty学习笔记(1)-谈谈netty的使用

前言本文是个人的一些笔记整理,粗略看了一遍netty源码之后,进行的二次总结,可能有不到位的地方,请多多见谅。Netty的简介Netty是 一个异步事件驱动的网络应用程序框架, 用于快速开发可维护的高性能协议服务器和客户端。(来自官网的简介)此处不再重复介绍netty,具体介绍请看官网https://netty.io/Netty的使用这里,我就用一个小小的案例来引入netty,先看看结果先看看服务端:再来看看客户端:我们下面就来看看我是怎么使用netty来完成客户端与服务端的交互。

2020-06-23 08:15:17 435

原创 疫情期间,我做了什么

好久没写生活感悟篇啦,趁着今晚有空,写写疫情期间的一些感悟和自己的所作所为从疫情说起这次疫情的发生,真的彻底改变了我。。。1月份,我开始接触java(其实上课也有讲过,只是当时兴趣不在此,就没听多少),从java类库到javaweb再到ssm框架的使用,整整用了一个月的时间,这段时间,做了一个小小的网站项目,一个逼格很低的后台管理系统。从那次起,我就走上了一条不归路,一发不可收拾。2月份,我开始接触springboot,好像发现了一个新大陆一样,不断地去实战,玩GitHub上的项目,跟着某课网上的

2020-05-23 23:48:12 1212

原创 深入学习HTTP协议

HTTP是什么?HTTP又不是什么?简单来说HTTP是超文本传输协议,所以可以拆分成超文本、传输、协议从协议上看HTTP 是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范,以及相关的各种控制和错误处理方式。传输HTTP 是一个“传输协议”:HTTP 协议是一个“双向协议“。允许中间有“中转”或者“接力”:“A<===>B”=“A<=>X<=>Y<=>Z<=>B”总的来收,HTTP ..

2020-05-11 15:42:59 3144

原创 【JAVA-线程】开启多线程启动和停止的世界

启动线程的正确和错误方式:start()和run()的比较start()方法原理解读run()方法原理start()和run()的比较package threadcoreknowledge.startthread;import threadcoreknowledge.createthreads.ThreadStyle;/** * 描述: 对比start和run两种启...

2020-03-04 16:25:04 254

原创 【JAVA-设计模式】软件设计的七大原则

今天,我们来讲一下软件设计的七大原则:1.开闭原则:根据维基百科上的解释:开闭原则是软件中的对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的”[1],这意味着一个实体是允许在不改变它的源代码的前提下变更它的行为。话不多说,下面就让我们一起来coding吧模拟场景:例如你在某课网上买视频教程学习package com.geely.design.principle.op...

2020-03-04 11:49:47 286

原创 【leetcode真题】贪心算法

通常同学们可能会认为贪心算法比较简单。确实,通常贪心算法的实现非常容易,但是,一个问题是否能够使用贪心算法,是一定要小心的。问题1:分发饼干...

2020-02-26 10:31:51 288

原创 【leetcode真题】动态规划基础

什么是动态规划:我就不做过多解释,这里推荐一篇文章给大家了解动态规划:动态规划问题1:Climbing Stairs(斐波拉契问题)方法:定义数组元素的含义:定义 dp[i] 的含义,跳上 n 级的台阶总共由多少种跳法,那我们就定义 dp[i] 的含义为:跳上一个 i 级的台阶总共有 dp[i] 种跳法。这样,如果我们能够算出 dp[n],不就是我们要求的答案吗?所以第一步定义完成。找...

2020-02-23 22:56:08 870

原创 【leetcode真题】递归和回溯法

回溯法是解决很多算法问题的常见思想,甚至可以说是传统人工智能的基础方法。其本质依然是使用递归的方法在树形空间中寻找解。在这一章,我们来具体看一下将递归这种技术使用在非二叉树的结构中,从而认识回溯这一基础算法思想。树形问题问题1:Letter Combinations of a Phone NumberGiven a string containing digits from 2-9 incl...

2020-02-11 15:20:53 626

原创 【leetcode真题】二叉树和递归

二叉树和递归:递归,是使用计算机解决问题的一种重要的思考方式。而二叉树由于其天然的递归结构,使得基于二叉树的算法,均拥有着递归性质。使用二叉树,是研究学习递归算法的最佳入门方式。在这一章里,我们就来看一看二叉树中的递归算法。二叉树天然的递归结构问题1:Maximum Depth of Binary Tree(求最大深度)...

2020-02-07 10:45:25 518

原创 【leetcode真题】栈,队列,优先队列

栈和队列虽然是简单的数据结构,但是使用这些简单的数据结构所解决的算法问题不一定简单。在这一章里,我们将来探索,和栈与队列相关的算法问题。栈的基础应用:问题1:Valid ParenthesesGiven a string containing just the characters ‘(’, ‘)’, ‘{’, ‘}’, ‘[’ and ‘]’, determine if the input...

2020-02-04 21:49:26 283

原创 【leetcode真题】 在链表中穿针引线

链表是一种特殊的线性结构,由于不能像数组一样进行随机的访问,所以和链表相关的问题有他自身的特点。我将之称为穿针引线。我们在这里,就来看一看,如何在链表中穿针引线。链表,在节点间穿针引线 Reverse Linked List问题1:Reverse Linked List原题Reverse a singly linked list.Example:Input: 1->2->3-&...

2020-02-01 10:10:45 378

原创 【leetcode真题】查找表相关问题

查找,是使用计算机处理问题时的一个最基本的任务,因此也是面试中非常常见的一类问题。很多算法问题的本质,就是要能够高效查找。学会使用系统库中的map和set,就已经成功了一半。问题1:Intersection of Two Arrays原题Given two arrays, write a function to compute their intersection.Example 1:I...

2020-01-28 11:06:20 527

原创 【Leetcode真题】数组中的问题其实最常见

写在前面:首先,在这里祝大家新年快乐啊,新年第一篇原创,感谢大家的支持,虽然粉丝不多,浏览量不多,但是我还是会继续加油努力的!!!!第一个问题 Move Zeros:原题:Given an array nums, write a function to move all 0’s to the end of it while maintaining the relative order of ...

2020-01-25 11:10:38 1003

空空如也

空空如也

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

TA关注的人

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