分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的,作为索引非常不好,严重影响性能。 snowflake的结构如下(每部分用-分开): 0 - 0000000000 0000000000 ...
分类:
编程语言 时间:
2019-09-02 21:01:39
阅读次数:
114
前言 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。 泛型带来的好处 在没有泛型的情况的下,通过对类型 Object 的引用来实现 ...
分类:
编程语言 时间:
2019-09-02 21:04:45
阅读次数:
108
概述 List接口、Queue接口、Set接口均继承了Collection接口,而Collection接口又继承了Iterable接口。 List接口 有序、可重复 // ListIterator向前遍历 ArrayList:数组、线程不安全 LinkedList:链表、线程不安全 Vector:数 ...
分类:
编程语言 时间:
2019-09-02 22:17:04
阅读次数:
110
1 maven 2,创建实体类 3,创建接口extends增删改查CrudRepository() 4,创建接口层 5,启动类: 7,配置文件: 8,在ElasticSearch 服务中,要把cluster-name 开启,相当于,springboot 程序和ElasticSearch 对接: vi ...
分类:
编程语言 时间:
2019-09-02 23:27:19
阅读次数:
121
list 元组 (只读) dict 字典 集合 ...
分类:
编程语言 时间:
2019-09-02 23:28:36
阅读次数:
105
我的全栈之路-Java基础之数据存储 我的全栈之路 2.1 标识符 标识符是在程序开发时给包,类、接口、注解,变量,方法命名的字符序列。 标识符在命名时需要遵守相关的规则和规范: 标识符的命名规则: 标识符不能是Java的关键字和保留字,关键字是Java中被赋予赋予特殊含义的单词,例如public ...
分类:
编程语言 时间:
2019-09-02 23:33:29
阅读次数:
97
Java 异常处理的五个关键字:try、catch、finally、throw、throws 一、抛出异常 throw 在编写程序时,我们必须要考虑程序出现问题的情况。比如,在定义方法时,方法需要接受参数。那么,当调用方法使用接受到的参数时,首先需要先对参数数据进行合法的判断,数据若不合法,就应该告 ...
分类:
编程语言 时间:
2019-09-02 23:34:11
阅读次数:
104
一、协程 协程,又叫微线程,纤程。英文名Coroutine。协程本质上就是一个线程 优点1:协程极高的执行效率。因为子程序切换不是线程切换,而是由程序自身控制,因此,没有线程切换的开销,和多线程比,线程数量越多,协程的性能优势就越来越明显。(简单来说没有切换的消耗) 优点2:不需要多线程的锁机制,因 ...
分类:
编程语言 时间:
2019-09-02 23:35:03
阅读次数:
127
MVC流程 客户发送请求,程序进入控制器servlet中,进行一系列的操作,对操作类dao的和实体类bean实现相应的功能,在对操作类调用里面的方法的时候,要与数据库进行交互,从而取得里面的数据,然后从这里回到控制层,把数据渲染到页面去,页面得到数据后响应给客户,这就是MVC的整个流程。 sprin ...
分类:
编程语言 时间:
2019-09-02 23:35:50
阅读次数:
104
【题目】二叉树可以用常规的三种遍历结果来描述其结构,但是不够直观,尤其是二叉树中有重复值的时候,仅通过三种遍历的结果来构造二叉树的真实结构更是难上加难,有时则根本不可能。给定一棵二叉树的头节点head,已知二叉树节点值的类型为32位整型,请实现一个打印二叉树的函数,可以直观地展示树的形状,也便于画出 ...
分类:
编程语言 时间:
2019-09-02 23:36:37
阅读次数:
98
1.面向对象思想概述 ·面向: 基本意:面向、朝向 引申意:注重、关注 ·对象: 世间一切事物 ·面向过程思想: 面向过程思想就是把关注点放在一件事或一个活动中涉及到的步骤(也就是过程)上的思想 ·面向对象思想: -面向对象思想就是把关注点放在一件事或一个活动中涉及到的人或事物(也就是对象)上的思想 ...
分类:
编程语言 时间:
2019-09-02 23:37:36
阅读次数:
89
4017:爬楼梯 4017:爬楼梯 查看 提交 统计 提示 提问 查看 提交 统计 提示 提问 总时间限制: 1000ms 内存限制: 65536kB描述 树老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一级,第二次走两级也 ...
分类:
编程语言 时间:
2019-09-02 23:39:28
阅读次数:
111
题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。例如给定一个数组{2,4,6,3,5},调整后的数组为{3,5,2,4,6} 思路一: 最直接的思路是新建一个数组, ...
分类:
编程语言 时间:
2019-09-02 23:39:41
阅读次数:
86
什么是分布式系统? 要理解分布式系统,主要需要明白一下2个方面: 1.分布式系统一定是由多个节点组成的系统。 其中,节点指的是计算机服务器,而且这些节点一般不是孤立的,而是互通的。 2.这些连通的节点上部署了我们的节点,并且相互的操作会有协同。 分布式系统对于用户而言,他们面对的就是一个服务器,提供 ...
分类:
编程语言 时间:
2019-09-02 23:41:02
阅读次数:
109
鄙人为兴趣爱好,0基础入门学习Java,有些心得想法,记录于此,与君分享。 然毕竟新手,学识尚浅,错误之处,希望多多指正批评,也是对我最大的帮助! 前言:本篇文章,主要讨论在子类继承父类之后,各属性成员和方法的特征规律和差异,this和super的异同,已经一些内存构建的个人想法。 一、NEW一个孙 ...
分类:
编程语言 时间:
2019-09-02 23:43:22
阅读次数:
98
一.编程语言介绍与分类 1.什么是编程语言 编程语言本质就是人类的语言,主要用于沟通交流。我们通过编程语言与计算机进行互动交流,从而使计算机来帮助我们实现一些特定的功能和一些复杂的工作。 2.编程语言的分类 编程语言可以分为机器语言、汇编语言、高级语言。机器语言是计算机底层的语言,直接与硬件打交道, ...
分类:
编程语言 时间:
2019-09-02 23:44:02
阅读次数:
95
思路:暴力解决 1:双层循环, 2:传参格式的分类: 3.使用copy防止数据改变 时间一直在300-500之间,就是通过不了,应该是超时的问题, 没办法水平有限,只会暴力解决 ...
分类:
编程语言 时间:
2019-09-02 23:44:16
阅读次数:
100
本文并没有详细列出Array方法详解,本文侧重点在于使用Array编程时候要注意的问题。1.Array.concat concat 将两个数组浅拷贝连接2.Array.join join 会把数组的每一项变成字符串,再把数组变成字符串。在IE6、7的时代使用jion去连接大量字符串要优于使用+号,目 ...
分类:
编程语言 时间:
2019-09-02 23:47:48
阅读次数:
115
【题目】给定一棵二叉树的头节点head,按照如下两种标准分别实现二叉树边界节点的逆时针打印。标准一:1.头节点为边界节点。2.叶节点为边界节点。3.如果节点在其所在的层中是最左或最右的,那么也是边界革点。标准二:1.头节点为边界节点。2.叶节点为边界节点。3.树左边界延伸下去的路径为边界节点。4.树 ...
分类:
编程语言 时间:
2019-09-02 23:48:35
阅读次数:
124
归并排序(merge sort) 顾名思义,这是一种排序算法,时间复杂度为O(nlogn),时间复杂度上和快排一样 归并排序是分治思想的应用,我们先将n个数不断地二分,最后得到n个长度为1的区间,显然,这n个小区间都是单调的,随后合并相邻的两个区间,得到n/2个单增(减)的区间,随后我们继续合并相邻 ...
分类:
编程语言 时间:
2019-09-02 23:50:01
阅读次数:
110