Map大家族的那点事儿 发表于 2018-03-16 | 分类于 后端 , Java | | 阅读次数 Map Map是一种用于快速查找的数据结构,它以键值对的形式存储数据,每一个键都是唯一的,且对应着一个值,如果想要查找Map中的数据,只需要传入一个键,Map会对键进行匹配并返回键所对应的值,可以说Map其实就是一个存放键值对的集合。Map被各种编程语言广泛使用,只不过在名称上可能会有些混淆,像Py ... 阅读全文 »
Spring Boot自动配置的"魔法"是如何实现的? 发表于 2018-01-08 | 分类于 后端 , Java , Spring Boot | | 阅读次数 Spring Boot是Spring旗下众多的子项目之一,其理念是约定优于配置,它通过实现了自动配置(大多数用户平时习惯设置的配置作为默认配置)的功能来为用户快速构建出标准化的应用。Spring Boot的特点可以概述为如下几点: 内置了嵌入式的Tomcat、Jetty等Servlet容器,应用可 ... 阅读全文 »
SkipList的那点事儿 发表于 2017-12-31 | 分类于 Algorithms , 数据结构 | | 阅读次数 Skip List的工作原理 Skip List(跳跃表)是一种支持快速查找的数据结构,插入、查找和删除操作都仅仅只需要O(log n)对数级别的时间复杂度,它的效率甚至可以与红黑树等二叉平衡树相提并论,而且实现的难度要比红黑树简单多了。 Skip List主要思想是将链表与二分查找相结合,它维护了 ... 阅读全文 »
朴素贝叶斯的那点事儿 发表于 2017-12-20 | 分类于 机器学习 , 监督式学习 | | 阅读次数 在机器学习领域中,朴素贝叶斯是一种基于贝叶斯定理的简单概率分类器(分类又被称为监督式学习,所谓监督式学习即从已知样本数据中的特征信息去推测可能出现的输出以完成分类,反之聚类问题被称为非监督式学习),朴素贝叶斯在处理文本数据时可以得到较好的分类结果,所以它被广泛应用于文本分类/垃圾邮件过滤/自然语言处 ... 阅读全文 »
Netty的那点事儿 发表于 2017-11-30 | 分类于 后端 , Java , Netty | | 阅读次数 Netty是一个基于异步与事件驱动的网络应用程序框架,它支持快速与简单地开发可维护的高性能的服务器与客户端。 所谓事件驱动就是由通过各种事件响应来决定程序的流程,在Netty中到处都充满了异步与事件驱动,这种特点使得应用程序可以以任意的顺序响应在任意的时间点产生的事件,它带来了非常高的可伸缩性,让 ... 阅读全文 »
Docker的那点事儿 发表于 2017-11-19 | 分类于 后端 , Docker | | 阅读次数 Docker是什么? Docker是一个基于轻量级虚拟化技术的容器,整个项目基于Go语言开发,并采用了Apache 2.0协议。Docker可以将我们的应用程序打包封装到一个容器中,该容器包含了应用程序的代码、运行环境、依赖库、配置文件等必需的资源,通过容器就可以实现方便快速并且与平台解耦的自动化部 ... 阅读全文 »
聊一聊Spring中的线程安全性 发表于 2017-11-06 | 分类于 后端 , Java , Spring | | 阅读次数 Spring与线程安全 Spring作为一个IOC/DI容器,帮助我们管理了许许多多的“bean”。但其实,Spring并没有保证这些对象的线程安全,需要由开发者自己编写解决线程安全问题的代码。 Spring对每个bean提供了一个scope属性来表示该bean的作用域。它是bean的生命周期。例如 ... 阅读全文 »
虚拟内存的那点事儿 发表于 2017-10-29 | 分类于 计算机 | | 阅读次数 概述 我们都知道一个进程是与其他进程共享CPU和内存资源的。正因如此,操作系统需要有一套完善的内存管理机制才能防止进程之间内存泄漏的问题。 为了更加有效地管理内存并减少出错,现代操作系统提供了一种对主存的抽象概念,即是虚拟内存(Virtual Memory)。虚拟内存为每个进程提供了一个一致的、私有 ... 阅读全文 »
注解的那点事儿 发表于 2017-10-15 | 分类于 后端 , Java | | 阅读次数 什么是注解? 注解是JDK1.5引入的一个语法糖,它主要用来当作元数据,简单的说就是用于解释数据的数据。在Java中,类、方法、变量、参数、包都可以被注解。很多开源框架都使用了注解,例如Spring、MyBatis、Junit。我们平常最常见的注解可能就是@Override了,该注解用来标识一个重写 ... 阅读全文 »
浏览器性能优化-渲染性能 发表于 2017-10-08 | 分类于 前端 , 浏览器 | | 阅读次数 在浏览器渲染过程与性能优化一文中(建议先去看一下这篇文章再来阅读本文),我们了解与认识了浏览器的关键渲染路径以及如何优化页面的加载速度。在本文中,我们主要关注的是如何提高浏览器的渲染性能(浏览器进行布局计算、绘制像素等操作)与效率。 很多网页都使用了看起来效果非常酷炫的动画与用户进行交互,这些动画效 ... 阅读全文 »