Java
菜鸡儿的架构师之路
这个作者很懒,什么都没留下…
展开
-
ElasticSearch7的基本原理和使用(借用Kibana可视化工具)
Elastic SearchElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。ElasticSearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java...原创 2020-03-25 16:46:38 · 2100 阅读 · 1 评论 -
Java中的STL-HashMap中红黑树的原理和应用
Java中的STL-HashMap中红黑树的原理和应用红黑树我相信大部分程序员对红黑树这个数据结构都不陌生。下面来巩固一下红黑树数据结构。R-B Tree,全称是Red-Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black)。它有以下几个特点。1、 每个节点或者是黑色,或者是红色。2 、根节点是黑...原创 2019-02-28 17:06:25 · 4573 阅读 · 0 评论 -
Java中的STL-Hashtable
Java中的STL-Hashtablepublic class Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable, java.io.Serializable Hashtable继承Dictionary,实现Map接口Hashtable和HashMap的实现方式很...原创 2019-03-01 11:18:26 · 462 阅读 · 0 评论 -
Java中的STL-Collection
Java中的List和Set概述实现、继承和依赖关系如上图所示List 和Set,List中的元素可以重复,Set中的元素不可重复Collection接口List和Set接口都需要继承的接口,内部提供大部分集合需要的函数,如size() contains(…)…等等。Iterator是用来遍历一个集合的接口,提供两个方法,hasNext()、next()。List接口除了继承Col...原创 2019-02-25 17:01:02 · 514 阅读 · 0 评论 -
Java中的STL-Map
Java中的STL01-Map要点Set的实现是基于Map的,HashSet是基于HashMap的,TreeSet是基于TreeMap的。Map的继承关系如下图所示Map接口public interface Map<K,V> { }Map接口中的APIabstract void clear()abstract boolean ...原创 2019-02-25 17:02:13 · 544 阅读 · 0 评论 -
Java中的STL-fail-fast原理和解决
fail-fastfail-fast是指java集合(Collection)中的一种错误检测机制,多个线程对同一集合的内容进行操作时,就可能产生fail-fast事件。ArrayList中的fail-fast示例当我们利用ArrayList中的iterater()对集合进行遍历操作时,如果其他线程修改了该list,就会报出ConcurrentModificationException异常。下...原创 2019-02-25 17:03:34 · 350 阅读 · 5 评论 -
Java中的STL-LinkedList
Java中的STL-LinkedListLinkedList的继承关系如下图所示Queue接口继承了Collection接口,另外提供了offer(E e)、remove()、poll()等方法完成一个队列的FIFO的基本操作。Deque接口继承了Queue接口,Deque是一个双端队列的接口,可以从前往后,也可以从后往前。LinkedList实际上就是一个双端队列的具体实现,因此它...原创 2019-02-25 23:49:13 · 483 阅读 · 1 评论 -
Java中的STL-ConcurrentHashMap
Java中的STL-ConcurrentHashMappublic class ConcurrentHashMap<K,V> extends AbstractMap<K,V> implements ConcurrentMap<K,V>, Serializable 常用API// 创建一个带有默认初始容量 (16)、加载因子 (0.75) 和 co...转载 2019-03-05 20:59:52 · 601 阅读 · 9 评论 -
Java中的STL-HashMap
Java中的STL-HashMappublic class HashMap&amp;lt;K,V&amp;gt; extends AbstractMap&amp;lt;K,V&amp;gt; implements Map&amp;lt;K,V&amp;gt;, Cloneable, Serializable JDK1.8是这样定义的HashMap的,这里我有一个问题。AbstractMap实现了M原创 2019-02-26 23:42:07 · 593 阅读 · 2 评论 -
华为Cloud BU内推面试总结(已拿到offer)
华为Cloud BU内推面试总结很幸运,这次春招内推面了三家公司,腾讯IEG,华为Cloud BU,蚂蚁金服-支付宝,全都拿到了offer。这三篇博客是按照offer的时间顺序连着的,有兴趣的话可以看我其他两篇博客。华为的一面和二面都是现场面,在我们学校的教室。两次面试是连在一起的,没有HR面。技术一面由于时间太久远,记不太清具体的问题。这里只说面试问题的大概。所有的问题包含以下几点:...原创 2019-04-11 14:09:06 · 30468 阅读 · 12 评论 -
蚂蚁金服-支付宝内推面试总结(已拿到offer)
蚂蚁金服-支付宝内推面试总结很幸运,这次春招内推面了三家公司,腾讯IEG,华为Cloud BU,蚂蚁金服-支付宝,全都拿到了offer。这三篇博客是按照offer的时间顺序连着的,有兴趣的话可以看我其他两篇博客。「阿里的面试向来是时间最长的,最耗精力的」,我说的。总共的面试时间持续了一个多月,共5次面试,每两次面试之间间隔一周左右。由于时间太久,只记得面试中大部分的内容。一面(简历面)简...原创 2019-04-11 15:49:36 · 21042 阅读 · 58 评论 -
Maven构建SpringBoot项目分离出依赖和配置文件
Maven构建SpringBoot项目分离出依赖和配置文件在我们做项目中很多时候,因为依赖太多,导致maven构建的速度非常慢,打出来的jar包非常大。如果有一种方式能把依赖和配置文件都分离出来,然后每次打包都不包含依赖,直接替换掉以前的项目jar包,那样就很快了。assembl用法assembly是一个maven打包的插件,字面意思是“装配”。可以按照自己的意愿进行装配,打包。对于Spr...原创 2019-09-17 16:19:49 · 530 阅读 · 0 评论 -
Java中的STL-Vector
Java中的STL-Vectorpublic class Vector<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable从JDK源码中Vector的声明可以看出Vector 是矢量队列,它是JDK1.0版本添...原创 2019-02-27 15:58:58 · 594 阅读 · 5 评论 -
Java中的STL-Stack
Java中的STL-Stackpublic class Stack<E> extends Vector<E>从Stack的定义来看,它只是在Vector的基础上新增了自己的API,如下。 public E push(E item) { addElement(item); return item;}public synchronized E p...原创 2019-02-27 15:58:04 · 488 阅读 · 0 评论 -
《Java高并发编程详解》前三章之认识线程、深入理解线程、线程API
《Java高并发编程详解》前三章之认识线程、深入理解线程、线程API继承 Thread类和实现Runnable接口的区别继承Thread类时,只能创建不同的类,线程类间的资源不可共享,而实现Runnable后,可以共享线程资源。一个号码机有四个出票口,总共只能出10张票,现在用java线程实现。public class NumberMachine { public static...原创 2018-11-23 21:01:56 · 790 阅读 · 8 评论 -
从零开始敲LeetCode中级(Java)-2:矩阵置零
给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。示例 1:输入: [ [1,1,1], [1,0,1], [1,1,1] ] 输出: [ [1,0,1], [0,0,0], [1,0,1] ] 示例 2:输入: [ [0,1,2,0], [3,4,5,2], ...原创 2018-07-13 15:30:52 · 466 阅读 · 0 评论 -
LeetCode-216:组合总和 III [Java实现]
找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。说明:所有数字都是正整数。 解集不能包含重复的组合。 示例 1:输入: k = 3, n = 7 输出: [[1,2,4]] 示例 2:输入: k = 3, n = 9 输出: [[1,2,6], [1,3,5], [2,3,4]]这一题是一个明显的深...原创 2018-07-25 12:42:53 · 502 阅读 · 0 评论 -
LeetCode-220:存在重复元素 [Java实现]
给定一个整数数组,判断数组中是否有两个不同的索引 i 和 j,使得 nums [i] 和 nums [j] 的差的绝对值最大为 t,并且 i 和 j 之间的差的绝对值最大为 ķ。示例 1:输入: nums = [1,2,3,1], k = 3, t = 0 输出: true 示例 2:输入: nums = [1,0,1,1], k = 1, t = 2 输出: true 示例 ...原创 2018-07-25 12:46:25 · 1140 阅读 · 0 评论 -
LeetCode-221:最大正方形[Java实现]
在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0输出: 4 有很多人用动态规划来做,这里提供一种非dp的做法,运行时间17ms。class Solution { public int maximalSquare(char[][] ...原创 2018-07-25 14:24:06 · 893 阅读 · 0 评论 -
LeetCode:222. 完全二叉树的节点个数
给出一个完全二叉树,求出该树的节点个数。说明:完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。示例:输入: 1 / \ 2 3 / \ / 4 5 6输出: 6这一题遍历二叉树容易超时,...原创 2018-07-26 10:28:54 · 288 阅读 · 0 评论 -
LeetCode: 223. 矩形面积 [Java实现]
在二维平面上计算出两个由直线构成的矩形重叠后形成的总面积。每个矩形由其左下顶点和右上顶点坐标表示,如图所示。Rectangle Area示例:输入: -3, 0, 3, 4, 0, -1, 9, 2 输出: 45说明: 假设矩形面积不会超出 int 的范围。 我写的可能较为繁琐,有非常简单的方法求的交汇矩形的面积,这里我只贴出我自己的笨方法 public int comp...原创 2018-07-26 12:42:43 · 472 阅读 · 0 评论 -
LeetCode:227. 基本计算器 II [Java实现]
实现一个基本的计算器来计算一个简单的字符串表达式的值。字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。示例 1:输入: “3+2*2” 输出: 7 示例 2:输入: ” 3/2 ” 输出: 1 示例 3:输入: ” 3+5 / 2 ” 输出: 5这是一个典型的栈的应用。上代码s = s.replaceAll(...原创 2018-07-26 20:45:13 · 862 阅读 · 0 评论 -
LeetCode:228. 汇总区间[Java实现]
给定一个无重复元素的有序整数数组,返回数组区间范围的汇总。示例 1:输入: [0,1,2,4,5,7] 输出: [“0->2”,”4->5”,”7”] 解释: 0,1,2 可组成一个连续的区间; 4,5 可组成一个连续的区间。 示例 2:输入: [0,2,3,4,6,8,9] 输出: [“0”,”2->4”,”6”,”8->9”] 解释: 2,3,4 ...原创 2018-07-27 12:06:28 · 633 阅读 · 0 评论 -
Hadoop学习1-MacBook下Hadoop-2.9的配置
MacBook下Hadoop-2.9的配置由于研究生课程需要,今天下午搭建了本地Hadoop环境。我用的是Hadoop-2.9版本,不打算一上来就3.x(其实是因为大部分教程都是2.x, 呵呵)。本人MacBook Pro配置是 8G内存,256GSSD,InterCore I5处理器。跑起来3个CentOS虚拟机+IDEA+网易云+有道云笔记+QQ+微信+20个Chrome网页不成问题,大概...原创 2018-09-24 23:14:53 · 771 阅读 · 0 评论 -
Hadoop学习3-Macbook环境在IDEA中编写MapReduce程序
Hadoop学习3-Macbook环境在IDEA中编写MapReduce程序新建一个Maven项目不用说了,普通的Maven项目就行。加入Hadoop依赖其中的${hadoop.version}对应自己使用的Hadoop版本hadoop-client<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop...原创 2018-09-26 23:19:31 · 1314 阅读 · 3 评论 -
LeetCode:862. 和最短为k的最短子数组[Java实现]
题目返回 A 的最短的非空连续子数组的长度,该子数组的和至少为 K 。如果没有和至少为 K 的非空子数组,返回 -1 。 示例 1:输入:A = [1], K = 1输出:1示例 2:输入:A = [1,2], K = 4输出:-1示例 3:输入:A = [2,-1,2], K = 3输出:3 提示:1 <= A.length <= 500...原创 2018-10-12 11:17:43 · 847 阅读 · 0 评论 -
从零开始敲LeetCode中级(Java)-1:三数之和
给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]解答:一开始...原创 2018-07-13 15:03:01 · 4105 阅读 · 6 评论