自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 全文检索介绍

全文检索技术被广泛的应用于搜索引擎,查询检索等领域。我们在网络上的大部分搜索服务都用到了全文检索技术。对于数据量大、数据结构不固定的数据可采用全文检索方式搜索,比如百度、Google等搜索引擎、论坛站内搜索、电商网站站内搜索等。什么是全文检索呢?先看一下百度百科的专业定义。为了能更好的理解,我们先看一个简单的例子。案例实现一个文件的搜索功能,通过关键字搜索文件,凡是文件名或文件内容包括关键字的文件都需要找出来。还可以根据中文词语进行查询,并且需要支持多个条件查询。本案例中的原始内容就是磁盘上的一

2021-03-01 00:01:26 481

转载 23种设计模式全面解析

一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。其实还有两类:并发型模式和线程池模式。用一个图片来整体描述一下:二、设...

2021-01-29 00:05:13 174

原创 堆数据结构、堆排序、topK问题

堆数据结构堆(heap),是一种特殊的数据结构。之所以特殊,因为堆的形象化是一个棵完全二叉树,并且满足任意节点始终不大于(或者不小于)左右子节点(有别于二叉搜索树Binary Search Tree)。其中,前者称为小顶堆(最小堆,堆顶为最小值),后者为大顶堆(最大堆,堆顶为最大值)。然而更加特殊的是,通常使用数组去存储堆,而不是二叉树。/** * Heap is a sepcial complete binary tree(CBT) * Heap sketch is a CBT, bu

2021-01-28 23:07:53 259

原创 JVM参数调优

JVM参数调优内存相关Xms英文解释:Initial heap size(in bytes)中文释义:堆区初始值使用方法:-Xms2g 或 -XX:InitialHeapSize=2048mXmx英文解释:Maximum heap size(in bytes)中文释义:堆区最大值使用方法:-Xmx2g 或 -XX:MaxHeapSize=2048mXmn英文解释:Maximu...

2019-08-19 21:15:04 177

原创 OAuth2认证流程

OAuth2认证流程运行流程OAuth2运行流程如下图。过程如下:(A)用户打开客户端以后,客户端要求用户给予授权。(B)用户同意给予客户端授权。(C)客户端使用上一步获得的授权,向认证服务器申请令牌。(D)认证服务器对客户端进行认证以后,确认无误,同意发放令牌。(E)客户端使用令牌,向资源服务器申请获取资源。(F)资源服务器确认令牌无误,同意向客户端开放资源。由以上步骤可以...

2019-05-12 00:55:35 3854

原创 疯狂Java讲义笔记-第18章 类的加载机制与反射

第18章 类的加载机制与反射18.1 类的加载、连接和初始化18.1.1 JVM和类以下情况,JVM进程将被终止程序运行到最后正常结束程序运行到使用System.exit()或Runtime.getRuntime().exit()代码处结束程序。程序遇到未捕获的异常或错误而结束。程序所在平台强制结束了JVM进程。18.1.2 类的加载类的加载指的是将类的class文件读入内...

2019-05-12 00:46:16 206

原创 疯狂Java讲义笔记-第15章 输入/输出

第15章 输入/输出Java IO包下两种流:输入流输出流每种流又分为字节流和字符流。15.1 File类File类可以操作文件和目录。15.1.1 访问文件和目录File类可以使用文件路径字符串来创建File实例。该路径可以为绝对路径或相对路径,系统依据用户工作路径来解析相对路径,属性值由系统属性“user.dir”指定,通长为运行java虚拟机时所在路径。详情可查看Fil...

2019-05-12 00:44:30 235

原创 疯狂Java讲义笔记-第14章 Annotation(注解)

第14章 Annotation(注解)Annotation是代码里特殊标记,这些标记可以再编译、类加载、运行时被读取,并执行响应的处理。Annotation能被用来为程序元素(类、方法、成员变量等)设置元数据。14.1 基本Annotation4个基本Annotation:@Override@Deprecated@SuppressWarnings@SafeVarargs14.1...

2019-05-12 00:33:40 254

原创 疯狂Java讲义笔记-第9章泛型

第9章 泛型9.1 泛型入门9.1.1 编译时不检查类型的异常List list = new ArrayList();list.add("abc");list.add(3);for(int i = 0; i < list.size(); i++) { String str = (String) list.get(i); //(1)}容器不加泛型,从容器中取元素

2019-02-18 10:44:54 319

原创 TCP连接过程(3次握手)

TCP连接过程(3次握手)  TCP连接要解决的三个问题:要使通讯的每一方能够感知对方的存在。![在这里插入图片描述]0)要允许双方协商一些参数包括:窗口的最大值、能否使用窗口扩大选项和时间戳选项及服务质量等。能够对运输实体资源(如缓存大小、连接表中的项目等)进行分配。  本文旨在讲述TCP3次握手过程,并不能完全回答以上三个问题,有待系列文章讲述清楚TCP协议后来回答。主动发起连接...

2018-12-17 09:01:56 1438

原创 快速排序算法Java

快速排序算法占坑: public static void quickSort(int[] arr, int low, int high) { if (low < high) { int position = partition(arr, low, high); quickSort(arr, low, position - ...

2018-02-24 01:41:38 119

原创 快速排序

快速排序算法占坑:java代码public static void quickSort(int[] arr, int low, int high) { if (low < high) { int position = partition(arr, low, high); quickSort(arr, low, position ...

2018-02-24 01:28:59 122

空空如也

空空如也

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

TA关注的人

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