- 博客(32)
- 收藏
- 关注
转载 数据结构(十三)— 树结构之二叉树
二叉树的定义上一节我们说了树的定义与储存,这节我们稍微进阶学习一下二叉树的知识,首先我们先来了解一下什么是二叉树:二叉树( Binary Tree) 是 n ( n >= O ) 个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点...
2019-06-04 22:15:00
329
转载 数据结构(十二)— 树结构之树的定义与存储方式
一、树的定义之前我们讨论的基本上都是一对一的线性结构,可是现实中还有很多一对多的线性结构。那么今天我们来谈一谈一种很重要的一对多的线性结构 — 树,那么什么是树呢?我们来看看树的定义:树( Tree ) 是 n ( n >= 0 ) 个结点的有...
2019-05-29 10:59:00
460
转载 数据结构(十一)— 串
串的定义上一章我们说了栈与队列这种基础的数据结构,这一章我们简单的来说说另一种数据结构:串,首先我们来了解下串是什么?串( string )是由零个或多个字符组成的有限序列,又名叫字符串。一般记为 s= “a1a2…… .an” (n>=0) ...
2019-05-21 10:24:00
276
转载 数据结构(十)— 队列
队列的定义不知道大家在用电脑时有没有经历过,机器有时会处于疑似死机的状态,鼠标点什么似乎都没用,双击任何快捷方式都不动弹。就当你失去耐心,打算reset时突然它像酒醒了一样,把你刚才点击的所有操作全部都按顺序执行了一遍。这其实是因为操作系统中的多个程序因需要通过一个通道输出,而按先后次序排队等待造成的。操作系统中,应用了一种数据结构来实...
2019-05-13 16:52:00
156
转载 数据结构(九) — 栈的作用之递归与四则运算
递归的定义前面两章我们说了栈的定义与实现,那么接下来我们就开始真正的使用栈,栈的很重要的一个使用方式就是:递归。那么什么是递归呢?我们把一个直接调用自己或通过一系列的调用语句间接地调用自己的函数,称做递归函数。同时在高级语言中,调用自己和其他函数并没有本质的不同。当然,写递归程序最怕的就是陷入永不结束的无穷递归中 ,所以,每个递归定...
2019-05-03 23:12:00
150
转载 阿里电话面试题(附答案)
嗯,首先接到阿里电话面试的不是我(伤心),其次这个是我看到别人分享的面试题,但是我觉得挺有意义的,所以这里我自己作答了下,顺便分享一下,与诸君共勉,如果有错误的地方请指正,谢谢。线程问题问题一:多线程的实现方式有哪些?回答:多线程的实现方式主要有两种,一种是继承Thread类,一种是实现Runnable接口,不论是继承还是实现,线程业...
2019-04-30 14:32:00
570
转载 数据结构(八) — 栈的链式存储结构及实现
链栈的概念上一节我们说了顺序栈,这节我们说链栈,那么什么是链栈呢?通常的理解是栈的链式存储结构,简称为链栈。在链栈中,栈顶放在单链表的头部。另外,都已经有了栈顶在头部了,单链表中比较常用的头结点也就失去了意义,通常对于链栈来说,是不需要头结点的。结构如图所示:对于链栈来说,基本不存在栈满的情况,除非内存已经没有可以使用的空间,如果真...
2019-04-23 23:14:00
259
转载 博客那些事
时间过得真快啊,大学毕业都快两年了,博客大概快写了大半年,说实话我的技术博客起步还真的是有点晚,技术深度也不够,但是我觉得只要踏实的去做,生活总会给予回报的,然后呢,在写博客的过程中还是小有收获的,收获以后再说。这里做下我自己的技术博客网站选择总结,希望大家在选择技术博客网站的时候少走些弯路。1、博客的概念首先让我们了解下什么是博客,博...
2019-04-22 10:45:00
217
转载 数据结构(七) — 栈的基本介绍与顺序存储结构
1、栈的定义凡事了解过编程的朋友,肯定都应该听说过栈这种数据结构,而且这个数据结构最有意思的一点是数据先进后出,后进先出,所以栈( stack )是限定仅在表尾进行插入和删除操作的线性表。我们把允许插入和删除的一端称为栈顶 (top) ,另一端称为栈底 (bottom) ,不含任何数据元素的栈称为空栈。栈又称为后进先出 (Last In...
2019-04-18 14:39:00
550
转载 Java线程池(ThreadPoolExecutor)原理分析与使用
在我们的开发中“池”的概念并不罕见,有数据库连接池、线程池、对象池、常量池等等。下面我们主要针对线程池来一步一步揭开线程池的面纱。使用线程池的好处1、降低资源消耗可以重复利用已创建的线程降低线程创建和销毁造成的消耗。2、提高响应速度当任务到达时,任务可以不需要等到线程创建就能立即执行。3、提高线程的可管理性线程是稀缺资源,如果...
2019-04-17 10:32:00
79
转载 Java线程池种类、区别和适用场景
newCachedThreadPool:底层:返回ThreadPoolExecutor实例,corePoolSize为0;maximumPoolSize为Integer.MAX_VALUE;keepAliveTime为60L;unit为TimeUnit.SECONDS;workQueue为SynchronousQueue(同步队列)通俗...
2019-04-12 10:36:00
122
转载 数据结构(六) — 线性表之循环链表与双向链表
1、循环链表我们之前说过了单链表,大家应该都有印象吧,那么循环链表是什么呢?循环链表就是将单链表中终端结点的指针端自空指针改为指向头结点,就使整个单链表形成一个环,这种头尾相接的单链表称为单循环链表,简称循环链表 (circular linked list) 。那么循环链表出现的目的是为什么呢?循环链表解决如何从当中一个结点出发,访...
2019-04-09 16:17:00
273
转载 数据结构(五) — 线性表之静态链表
1、静态链表的概念我们先来说说什么是静态链表,用一个数组来模拟链表存储元素,数组中的元素都是由两个数据域组成, data 和 cur。也就是说,数组的每个下标都对应一个data和一个 cur。 数据域data,用来存放数据元素,也就是通常我们要处理的数据;而游标 cur 相当于单链表中的 next 指针,存放该元素的后继在数组中的下标。我...
2019-04-06 22:20:00
229
转载 数据结构(四) — 线性表之链式存储
一、线性表的链式存储结构1、线性表链式存储结构定义线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素,这组存储单元可以是连续的,也可以是不连续的。这就意味着,这些数据元素可以存在内存未被占用的任意位置。以前在顺序结构中,每个数据元素只需要存数据元素信息就可以了。现在链式结构中,除了要存数据元素信息外, 还要存储它的后继元素的存储地址。因此,为了...
2019-03-26 14:20:00
3064
转载 JavaWeb过滤器.监听器.拦截器-原理&区别-个人总结
对比项拦截器过滤器机制反射机制函数回调是否依赖servlet容器是否请求处理只能对action请求起作用几乎所有的请求起作用对action处理可以访问action上下文、值栈里的对象不能处理调用次数action的生命周期中,拦截器可以多次被调用能在容器初始化时被调用一次...
2019-03-20 10:14:00
131
转载 Java抽象类与接口的区别
很多常见的面试题都会出诸如抽象类和接口有什么区别,什么情况下会使用抽象类和什么情况你会使用接口这样的问题。本文我们将仔细讨论这些话题。在讨论它们之间的不同点之前,我们先看看抽象类、接口各自的特性。抽象类抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板。以JDK中的GenericS...
2019-03-19 15:08:00
99
转载 数据结构(二) — 算法
一、数据结构与算法的关系上一次我大致说了数据结构的一些基本概念,应该还蛮通俗易懂的吧(大概吧!!!)。数据结构与算法这两个概念其实是可以单独拿出来讲的,毕竟我们大学有数据结构课,有算法课,单独拿出来讲好像没什么问题,但是数据结构就那么一些(数组、队列、树、图等结构),单独拿出来很快就说完了,但是说完之后,一脸懵逼,两脸茫然,感觉数据结构没什么用啊,但是,注意了啊,但是引入算法,变成...
2019-03-18 15:03:00
192
转载 数据结构(三) — 线性表之顺序存储
一、线性表的定义上一章我说了算法的基本概念,自我感觉还是蛮不错,接下来就是真正的数据结构的东西了,首先我们先认识线性表。那么什么是线性表呢?这个可是数据结构的基础啊(敲黑板!!!)。线性表 (List ):零个或多个数据元素的有限序列。这里需要强调几个关键的地方。首先它是一个序列。 也就是说元素之间是有顺序的,若元素存在多个,则第一...
2019-03-18 11:24:00
398
转载 PostgreSQL基础知识分享
1、架构PostgreSQL是一个关系数据库,采用c/s架构。一个PostgreSQL会话包括:服务端进程——postgres:用于管理数据库文件,并接受来自客户端的数据库连接, 同时代替客户端执行数据库操作。客户端 2、命令(1)创建数据库createdb -U postgres mydb(2)连接数据库psql -U postgres mydb...
2019-03-10 10:42:00
289
转载 Elasticsearch基础知识分享
1. Elasticsearch背景介绍 Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。...
2019-03-09 22:17:00
109
转载 数据结构(一) — 绪论
一 、说明又到了一年的跳槽季,不会点数据结构与算法的知识怎么行呢?本系列文章参考(剽窃— _—)《大话数据结构》,希望大家共勉。文章底部分享《大话数据结构》下载连接。二、基本概念和术语数据数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集。 数据不仅仅包括整型、实型等数值类型,还包括...
2019-03-08 23:04:00
113
转载 Java 7之基础 - 强引用、弱引用、软引用、虚引用
1、强引用(StrongReference)强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。如下:Object o=new Object(); // 强引用当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题...
2019-03-06 23:20:00
88
转载 工作随笔—Java容器基础知识分享(持有对象)
1. 概述 通常,程序总是运行时才知道的根据某些条件去创建新对象。在此之前,不会知道所需对象的数量,甚至不知道确切的类型,为解决这个普遍的编程问题:需要在任意时刻和任意位置创建任意数量的对象,所以,就不能依靠创建命名的引用来持有每一个对象,因为你不知道实际上会需要多少这样的引用。 大多数语言都提供某种方法来解决这个基本问题。Java有多种方式保存对象(应该说是对象的引用)。例如数组,...
2019-03-05 22:56:00
117
转载 工作随笔—Elasticsearch大量数据提交优化
问题:当有大量数据提交到Elasticsearch时,怎么优化处理效率?回答:批量提交 当有大量数据提交的时候,建议采用批量提交。 比如在做 ELK 过程中 ,Logstash indexer 提交数据到 Elasticsearch 中 ,batch size 就可以作为一个优化功能点。但是优化 size 大小需要根据文档大小和服务器性能而定。 像 Logsta...
2019-03-05 22:53:00
493
转载 工作随笔—static关键字
问题:在声明一个变量的时候,添加static与不添加static区别在哪里?回答:在声明一个变量的时候,添加static关键字,那么这个变量就会在保存在代码器里面,而不会保存到堆里面去了,当其余的对象要调用这个变量的时候,所有的对象都是调用的同一个变量,是可能会相互影响的,相当于就是创建了一个静态类变量;不添加static关键字的时候,声明一个变量,那么这个变量就会在堆上面,不同的对...
2019-03-05 22:52:00
63
转载 工作随笔—integer对象比较
问题:对于integer对象,当比较2==2的时候,返回的值是true还是false?当比较2000==2000的时候,返回的值是true还是false?回答:当比较2==2的时候,返回的值是true;当比较2000==2000的时候,返回的值是false。理由:equal比较是两个值的大小是否能够相等;“==”比较是两个值的地址是否相等,参考integer的API文档,我们可以...
2019-03-05 22:50:00
85
转载 JavaScript 执行机制
引言javascript是按照语句出现的顺序执行的:看到这里读者要打人了:我难道不知道js是一行一行执行的?还用你说?稍安勿躁,正因为js是一行一行执行的,所以我们认为的js是这样的:然而实际上js是这样的:依照js是按照语句出现的顺序执行这个理念,我自信的写下输出结果://"定时器开始啦"//"马上执行for循环啦"/...
2019-03-04 14:59:00
226
转载 java的四种内部类详解
引言内部类,嵌套在另一个类的里面,所以也称为:嵌套类;内部类分为以下四种:静态内部类成员内部类局部内部类匿名内部类一、静态内部类静态内部类: 一般也称”静态嵌套类“,在类中用static声明的内部类。因为是static,所以不依赖于外围类对象实例而独立存在,静态内部类的可以访问外围类中的所有静态成员,包括private的...
2019-02-28 13:56:00
134
转载 正则表达式基础
一、概述正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则...
2019-02-27 15:32:00
250
转载 Collection 和 Collections;Array与Arrays的区别
Collection和Collections的区别。Collection是个java.util下的接口,它是各种集合结构的父接口。继承与他的接口主要有Set和List.Collections是个java.util下的专用静态类,它包含有各种有关集合操作的静态方法。提供一系列静态方法实现对各种集合的搜索、排序、线程安...
2019-02-21 10:34:00
125
转载 PostgreSQL踩坑现场
1.PostgreSQL表名、字段名、别名等大小敏感,默认都会转化成小写形式。如果名字中有大写字母,必须分别添加双引号。在写后台时,注意添加\如表名:TestTable中有个字段名userName写sql查询时: select "TestTable"."userName" from "TestTable";后台拼装sql语句时: St...
2019-02-20 14:17:00
257
转载 Elasticsearch基础教程分享
基础及相关资料首先我们先了解一下什么是Elastisearch,Elasticsearch(简称es)是一个基于Lucene库的搜索引擎。它提供了一个分布式、支持多租户的全文搜索引擎,具有HTTPWeb接口和无模式JSON文档。Elasticsearch是用Java开发的,并在Apache许可证下作为开源软件发布。es的中文官方网址是:h...
2019-01-13 00:23:00
80
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人