自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 分布式系统唯一ID生成方案

1.数据库自增长序列或字段缺点如图:在分布式环境下会产生重复id,对查询某一数据造成麻烦。2.UUID例:d2b5a866-bbe2-4ba3-8910-b197d809795e字符串太长 会消耗空间,耗费网络带宽3.Redis生成ID如图:可以实现 利用redis原子操作 incr/incrby +步长(集群下有多少台机器)4.Twitter的snowflake算法mp默认使用此方法5.利用zookeeper生成唯一IDZK注册中心,主要功能是分布式环境下配置文件的同步更新。

2020-10-29 10:16:32 156 1

原创 关于HTML知识点的小总结

一、 网页的构成1.1 概念:B/S 与 C/S1.1.1 现在的软件开发的整体架构主要分为B/S架构与C/S架构:b/s:浏览器/服务器c/s:客户端/服务器客户端:需要安装在系统里,才可使用浏览器:浏览网页,读取HTML并显示服务器:处理浏览器的请求1.1.2 B/S 与 C/S优劣b/s只要能上网就能使用,因为基本每台电脑都会有浏览器,维护方便。c/s必须安装在系统中,安装成功才可使用。在新的系统中没有安装不能使用,便携性差,维护成本高。1.1.3 网页

2020-08-19 19:19:49 289

原创 对于稀疏数组的简单介绍

稀疏数组简介原数组可能存在大量无效数据,为了节省存储空间,就有了稀疏数组一说。稀疏数组实际上就是存储了原数组有效数据的一种数组。稀疏数组的表示法稀疏数组采用三元表示法表示,这里给出一个示例二维数组int[][] arr = new int[10][10];arr[1][2] = 1;arr[3][5] = 1;arr[6][9] = 1;其图示为:000000000000100000000000000000

2020-08-09 17:51:43 269

原创 手撕ArrayList扩容机制源码,清晰明了~

前言ArrayList实现了List接口并实现可变功能,好奇它的底层是怎么实现各种功能的,就以简单的add挖起。实战public static void main(String[] args) { List list = new ArrayList(); //下断点 for (int i = 0; i < 10; i++) { list.add("haha" + i); } list.add("diao");

2020-07-15 22:47:31 173 2

原创 对多态的一些理解

前言相信许多小伙伴初次学习多态都是一脸懵逼,不知道在讲什么。在这里我将把自己对多态的理解分享给大家。多态的概念本人口述能力有限,在这里用代码来解释多态class Person { String name; public void eat() { System.out.println("吃饭"); }}这是一个父类Person,有一个属性name和一个方法eat 。再写一个子类Student,如下class Student extends Person { //特有属性学号 St

2020-07-09 20:45:39 145

原创 个人对冒泡排序的一些理解

分析冒泡排序:将一个无序数组进行排序例:规则:从第一个数开始,第一个数和后面的数进行比较,小的放前面,大的放后面。直到最后两个数进行比较后,算一轮排序。因为每一轮会确定一个数的位置,因此总轮数正好是数组长度 - 1。思路考虑使用内外层for循环,外层控制冒泡排序的轮数,内层循环对数进行两两比较。使用if条件语句进行两数的交换。实战public class BubbleSort { public static void main(String[] args) { int[] a

2020-07-02 17:12:05 207

原创 编写方法,使给定的一个二维数组(3×3)转置

例:注:只有方阵可以转置!分析要求定义一个方法类,进行转置操作。首先要明白转置是什么意思。转置就是如上图所示,把一个方阵对角置换。明白了转置,接下来就简单了。思路分析矩阵实际上是一个二维数组,首先写出遍历二维数组的程序,在此基础上,考虑到转置其实只需要对下三角进行遍历即可,然后与角标相反的元素互换即可。实战public static void main(String[] args) { //先定义一个4X4的矩阵(3X3也可) int[][] arr = {{1, 5, 9,

2020-07-01 20:37:25 2281

原创 打印空心金字塔

分析首先分析一个简单的案例,打印出一个金字塔。考虑使用双层for循环,第一层for循环控制层数,第二层for循环控制列。如图:是一个六层的金字塔,第一层一个 * 号,第二层三个,以此类推,第n层有 n * 2 - 1个,由此得到循环条件。空心金字塔进阶分析空心金字塔在金字塔的基础上,又要考虑到每一层的开头和结尾有 * 号,中间是空余的。所以,在第二层循环的条件下加入两个if条件语句,具体操作如下实战public static void main(String[] args) {

2020-06-28 22:50:27 705

原创 输出1~100之间能被9整除的整数的个数以及它们的和

分析考虑使用for循环对1~100之间的数进行排查。实战public static void main(String[] args) { int i, count = 0, temp = 0; for (i = 1; i <= 100; i++) { if (i % 9 == 0) { temp += i; count++; } } System.out.println("1~100之间为9的倍数的整数个数为:" + count + ",

2020-06-26 21:10:06 7793

原创 几年前学的java到现在只会println之This is my first program。

这是我的第一个程序public class B{ public static void main(String[] args){ System.out.println("Hello World~"); }}

2020-06-26 20:40:20 388 3

空空如也

空空如也

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

TA关注的人

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