06 2020 档案
摘要:背景 二叉树是数据结构中的重点,也是难点。二叉树比数组、栈、队列等线性结构相比复杂度更高,想要做到心中有“树”,需要自己动手画图、观察、思考,才能领会其真谛。 在上篇文章《自己动手作图深入理解二叉树、满二叉树及完全二叉树》中,我们对完全二叉树有了一定认识,该文将对一种特殊的完全二叉树”最大堆”进行底
阅读全文
摘要:一、背景 二叉树是一种常用的数据结构,更是实现众多算法的一把利器。本文将通过建立一个图书库的实例对二叉树中的常用类型:二分搜索树(Binary Search Tree)进行底层原理的深入理解。 二、概念 1、定义 1 二分搜索树是一颗二叉树 2 二分搜索树每个节点的左子树的值都小于该节点的值,每个节
阅读全文
摘要:背景 最近陆续看了一些文章,有经济及投资方向的、技术发展及创新的、技术人职业发展与未来规划的等等。总结来看,在疫情时代,不确定性更多,挑战也更大。个人也想通过博文记录及表达一些自已的所见所得及想法(文章纯属个人浅见,仅供参考)。 时代 上面说到了疫情时代与不确定性,如果非得回归到历史长河中去映射,有
阅读全文
摘要:一、背景 分治算法是计算机五大常用算法之一,也是在JAVA编程中经常用到的算法之一。对于分治算法的理解,往往会停留在一些枯燥的概念上,比如“分而治之”,“问题原子分解”等。该文将会通过一个猜数字的游戏入手,引出对于分治算法基本思想的思考。 二、猜数字游戏 2.1 游戏规则 由电脑生成一个在【1-10
阅读全文
摘要:一、背景 JAVA编程中的对象一般都是通过new进行创建的,新创建的对象通常是初始化的状态,但当这个对象某些属性产生变更,且要求用一个对象副本来保存当前对象的“状态”,这时候就需要用到对象拷贝的功能,以便封装对象之间的快速克隆。 二、JAVA对象拷贝的实现 2.1 浅拷贝 被复制的类需要实现Clon
阅读全文
摘要:一、背景 栈和队列是数据结构中最常用到的两种结构,有非常广泛的运用,该篇文章将通过动画的手段,展示栈和队列相互实现的底层原理,让我们真正搞懂栈和队列的特性。 二、概念 2.1 栈 栈[Stack]:是一种限定仅在表尾进行插入和删除操作的线性表;即后进先出(LIFO-last in first out
阅读全文
摘要:前言 在JAVA虚拟机内存管理中,堆、栈、方法区、常量池等概念经常被提到,对理论知识的理解也常常停留在字面意思上,比如说堆内存中存放对象,栈内存中存放局部变量,常量池中存放字符串常量表等,本篇文章通过一个有趣的例子,尽量将这些理论概念通过程序样例及图解的方式表达清楚,让我们更能深入底层知识。 例子
阅读全文
摘要:一、背景 在学习算法的过程中,除了熟练掌握各种算法的程序逻辑外,还经常需要用到一些测试案例对算法的时间复杂度做具体的测试。本文将通过打造一个测试类工具包,让我们可以更简便地研究排序算法的时间复杂度。 二、概念 2.1、时间复杂度的定义 即从序列的初始状态到经过排序算法后形成的最终排序状态这个过程所花
阅读全文
摘要:一、背景 最近在学习数据结构和算法的过程中频繁用到了Collections工具类,这是开发中的一把利器,简化了许多涉及集合的编码,该文将通过实例对此工具类进入深入剖析。 二、概念 1、定义 java.util.Collections 是一个包装类。它包含有各种有关集合操作的静态多态方法。此类不能实例
阅读全文
摘要:背景 ArrayList与LinkedList是Java编程中经常会用到的两种基本数据结构,在书本上一般会说明以下两个特点: 对于需要快速随机访问元素,应该使用ArrayList。 对于需要快速插入,删除元素,应该使用LinkedList。 该文通过实际的例子分析这两种数据的读写性能。 ArrayL
阅读全文
摘要:一、背景 在企业网站后台系统中,一般会将网站统计单元进行独立设计,比如登录人数的统计、IP数量的计数等。在这类需要完成全局统计的过程中,就会用到单例模式,即整个系统只需要拥有一个计数的全局对象。 在网站登录这个高并发场景下,由这个全局对象负责统计当前网站的登录人数、IP等,即节约了网站服务器的资源,
阅读全文
摘要:一、登录流程 首先参考小程序官方文档中的流程图: 根据流程图描述,主要步骤有以下几步 1、小程序端调用 wx.login()向微信接口服务获取 临时登录凭证code ,并上传至开发者服务端。 2、开发者服务端向微信服务接口服务调用 auth.code2Session 接口,换取 用户唯一标识 Ope
阅读全文

浙公网安备 33010602011771号