特别推荐

最新博文

  • docker网络模型

    docker网络模型

    一、docker网络基础知识Docker在启动时会创建一个虚拟网桥docker0,默认地址为172.17.0.1/16,容器启动后都会被桥接到docker0上,并自动分配到一个IP地址。使用ipaddr或ifconfig命令可以看到:Docker容器在创建的时候有四种网络模型,如果没有指定,默...

    2020-09-22 2 Docker

    阅读全文
  • 玩转Java8 Stream之IntStream

    玩转Java8 Stream之IntStream

    IntStream详解IntStream是特殊的Stream,但有一些操作符是IntStream独有的;话不多说,开始玩转IntStream吧。理论讲解构造IntStreamIntStream这个接口里提供了如下方法用于构造一个流:操作IntStream过滤操作filter()//根据条件过滤...

    2020-09-08 24 Java基础

    阅读全文
  • 面试之前你不得不知道的MySQL锁”事“

    面试之前你不得不知道的MySQL锁”事“

    mysql中的锁看起来是很复杂的,因为有一大堆的东西和名词:排它锁,共享锁,表锁,页锁,间隙锁,意向排它锁,意向共享锁,行锁,读锁,写锁,乐观锁,悲观锁,死锁。这些名词有的博客又直接写锁的英文的简写—>X锁,S锁,IS锁,IX锁,MMVC…锁的相关知识又跟存储引...

    2020-09-05 39 MySQL

    阅读全文
  • 操作系统-缓存算法(页面置换算法)

    操作系统-缓存算法(页面置换算法)

    缓存算法是指令的一个明细表,用于提示计算设备的缓存信息中哪些条目应该被删去。常见缓存算法包括FIFO、LFU、LRU、ARC、MRU。1、FIFOFIFO(FirstinFirstout),先进先出。其实在操作系统的设计理念中很多地方都利用到了先进先出的思想,比如作业调度(先来先服务),为什么...

    2020-09-01 34 操作系统

    阅读全文
  • LFU缓存算法到底是怎么一回事?

    LFU缓存算法到底是怎么一回事?

    1、LFU算法是什么?LFU(LeastFrequentlyUsed)最近最少使用算法。它是基于“如果一个数据在最近一段时间内使用次数很少,那么在将来一段时间内被使用的可能性也很小”的思路。LFU和LRU算法的不同之处,LRU的淘汰规则是基于访问时间,而LFU是基于访问次数的。从实现难度上来说...

    2020-09-01 26 操作系统

    阅读全文
  • 从输入URL到页面加载完成期间经历了什么?

    从输入URL到页面加载完成期间经历了什么?

    作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等。本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事~整个过程大致的的流程是:在浏览器地址栏输入某个网站的UR...

    2020-08-29 39 计算机网络

    阅读全文
  • Integer与int的比较

    Integer与int的比较

    如果面试官问Integer与int的区别:估计大多数人只会说到两点:Ingeter是int的包装类,注意是一个类;int的初值为0,Ingeter的初值为null。但是如果面试官再问一下Integeri=1;intii=1;i==ii为true还是为false?估计就有一部分人答不出来了,如果...

    2020-08-28 36 Java基础

    阅读全文
  • Java并发编程实践

    Java并发编程实践

    一、使用两个线程交替打印输出“1A2B3C…..26Z”具体描述:使用两个线程,一个输出字母,一个输出数字,交替输出1A2B3C……26Z1、LockSupport使用JUC下的LockSupport工具类我们可以精确的阻塞或唤醒一个线程,并且Lock...

    2020-08-06 64 Java多线程与高并发

    阅读全文
  • Hashtable源码分析

    Hashtable源码分析

    Hashtable是一个比较古老的Map实现类,从它的名称就可以看得出来,因为没有遵循Java语言的驼峰命名规范,这可能是开发者的疏忽导致的吧。它和HashMap很像,同属于散列表,都可以存储K-V键值对,并且都可以实现O(1)的查找时间复杂度。有以下特性:1、首先就是线程安全,这也估计算是唯...

    2020-08-02 67 Java集合与容器

    阅读全文
  • 十大经典排序算法(动图演示)

    十大经典排序算法(动图演示)

    十大经典排序算法(动图演示)0、算法概述0.1算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时...

    2020-08-01 75 数据结构与算法

    阅读全文
  • 关于HashMap几个刁钻的面试题,第四个我就跪了

    关于HashMap几个刁钻的面试题,第四个我就跪了

    HashMap刁钻面试题总结1、HashMap的数据结构是什么?答:在jdk1.7是采用了数组+链表;jdk1.8采用了数组+链表+红黑树,当链表长度大于等于的时候转化为红黑树,当红黑树的结点小于等于6的是时候就有红黑树转化为链表;2、为什么要采用数组+链表作为存储结构?首先要清楚一个基本的理...

    2020-07-28 89 Java集合与容器

    阅读全文
  • Maven入门必会必知

    Maven入门必会必知

    1、Maven是啥?Maven是Apache软件基金会唯一维护的一款自动化构建工具,专注于服务Java平台的项目构建和依赖管理。Maven是基于项目对象模型(POM)可以通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。2、Maven可以干啥?添加第三方jar包jar包之间的依...

    2020-07-27 74 Maven

    阅读全文
  • 面试前你必须知道的HTTP协议知识点(附常见GET、POST面试问题)

    面试前你必须知道的HTTP协议知识点(附常见GET、POST面试问题)

    1、什么是HTTP协议?HTTP协议是HyperTextTransferProtocol(超文本传输协议)的简称,是用于从万维网(WWW)传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内...

    2020-07-18 91 计算机网络

    阅读全文
  • MyBatis源码学习—MyBatis结果处理器ResultSetHandler详解

    MyBatis源码学习—MyBatis结果处理器ResultSetHandler详解

    上一篇博文MyBatis源码学习—MyBatis数据仓库会话器StatementHandler详解我们通过Statement将SQL发送到了数据库,并返回了ResultSet,接下来就是将结果集ResultSet自动映射成实体类对象。这样使用者就无需再手动操作结果集,并将数据填充到实体类对象中...

    2020-07-13 97 MyBatis

    阅读全文
  • MyBatis源码学习—MyBatis参数处理器ParameterHandler详解

    MyBatis源码学习—MyBatis参数处理器ParameterHandler详解

    MyBatis的四大组件我们已经了解过两种了:一个是Executor,它在创建SqlSession的时候会被初始化,它是MyBatis解析SQL请求首先会经过的第一道关卡,它的主要作用在于创建缓存,管理StatementHandler的调用,为StatementHandler提供Configu...

    2020-07-12 99 MyBatis

    阅读全文
  • 深入浅出 Java 8 Lambda 表达式和函数式接口

     深入浅出 Java 8 Lambda 表达式和函数式接口

    1、为什么Java需要Lambda表达式?Java是一门的面向对象语言,除了部分简单数据类型,Java中的一切都是对象,即使数组也是一种对象。在Java中定义的函数或方法不可能完全独立,也不能将方法作为参数或返回一个方法给实例。在Swing编程中,我们总是通过匿名类给方法传递函数功能,以下是旧...

    2020-07-11 108 Java基础

    阅读全文
  • MyBatis源码学习—MyBatis数据仓库会话器StatementHandler详解

    MyBatis源码学习—MyBatis数据仓库会话器StatementHandler详解

    1、StatementHandler对象的创建过程在上一节MyBatis源码学习—MyBatis执行器Executor详解中我们了解MyBatis执行器的产生以及执行SQL的大致过程。StatementHandler对象是在SqlSession对象接收到SQL执行命令时,由Configurat...

    2020-07-09 109 MyBatis

    阅读全文
  • MyBatis源码学习—MyBatis 执行器Executor详解

    MyBatis源码学习—MyBatis 执行器Executor详解

    ​从前面分析我们知道了sql的具体执行是通过调用SqlSession接口的对应的方法去执行的,而SqlSession最终都是通过调用了自己的Executor对象的query和update去执行的。本文就分析下sql的执行器—–Executor。1、Executor继承体...

    2020-07-08 105 MyBatis

    阅读全文
  • LRU缓存算法到底是怎么一回事?

    LRU缓存算法到底是怎么一回事?

    1、LRU算法是什么?​LRU:LeastRecentlyUsed,即最近最久未使用的意思。​LRU算法是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。当限定的空间已存满数据时,应当把最久没有被访问到的数据淘汰。​该算法是计算机操作系统中置换页的一种算法,同时在其他领域也有广泛应用...

    2020-07-07 129 操作系统

    阅读全文
  • MyBatis源码学习—SqlSession的运行过程

    MyBatis源码学习—SqlSession的运行过程

    SqlSession的运行过程是整个MyBatis最难以理解的部分。SqlSession是一个接口,使用它并不复杂。我们构建SqlSessionFactory之后就可以轻易地拿到SqlSession了。SqlSession接口给出了查询、插入、更新、删除的方法,在旧版本的MyBatis或iBa...

    2020-07-04 110 MyBatis

    阅读全文