【大数据计算】(二) HBase 的安装和基础编程_singlecolumvaluefilter介绍(2)

433 篇文章 1 订阅
订阅专栏

还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!

王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。

对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!

【完整版领取方式在文末!!】

93道网络安全面试题

内容实在太多,不一一截图了

黑客学习资源推荐

最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

😝朋友们如果有需要的话,可以联系领取~

1️⃣零基础入门
① 学习路线

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

image

② 路线对应学习视频

同时每个成长路线对应的板块都有配套的视频提供:

image-20231025112050764

2️⃣视频配套工具&国内外网安书籍、文档
① 工具

② 视频

image1

③ 书籍

image2

资源较为敏感,未展示全面,需要的最下面获取

在这里插入图片描述在这里插入图片描述

② 简历模板

在这里插入图片描述

因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 不断put数据
    在这里插入图片描述

查询时,默认情况下回显示当前最新版本的数据,如果要查询历史数据,需要指定查询的历史版本数,由于上面设置了保存版本数为5,所以,在查询时制定的历史版本数的有效取值为1到5,具体命令如下:

get 'teacher','91001', {COLUMN=>'username',VERSIONS=>3}

下面是查询版本号为3的
在这里插入图片描述

3.7 退出HBase数据库

exit

在这里插入图片描述

4. HBase编程实践

  1. 在IDEA创建项目
  2. 为项目添加需要用到的JAR包

JAR包位于HBase安装目录下
如位于:/usr/local/hbase/lib目录下,单击界面中的Libraries选项卡,再单击界面右侧的Add External JARs按钮,选中/usr/local/hbase/lib目录下的所有JAR包,点击OK,继续添加JAR包,选中client-facing-thirdparty下的所有JAR文件,点击OK。

  1. 编写Java应用程序
    如果程序里面示例网址“hdfs://localhost:9000/hbase”,运行时出错,可以把” localhost ”改成” master ”。
  2. 编译运行

4.1 编程题 API文档

4.1.1 第一题

在这里插入图片描述

利用4中的程序,创建上表:表scores的概念视图如上图所示

  • 用学生的名字name作为行键(rowKey)
  • 年级grade是一个只有一个列的列族
  • score是一个列族。
  • 每一门课程都是score的一个列,如English、math、Chinese等。score 的列可以随时添加。

添加如下数据:

NameGradeEnglishMathChinese
Leelei6788890
Dandan69510092
Sansan6679960
Zhanshan6666666
  • 创建表
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.\*;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.HBaseConfiguration;
import java.io.IOException;

public class Create {
    public static Configuration configuration;
    public static Connection connection;
    public static Admin admin;
    //建立连接
    public static void init(){
        configuration  = HBaseConfiguration.create();
        configuration.set("hbase.rootdir","hdfs://localhost:9000/hbase");
        try{
            connection = ConnectionFactory.createConnection(configuration);
            admin = connection.getAdmin();
        }catch (IOException e){
            e.printStackTrace();
        }
    }
    //关闭连接
    public static void close(){
        try{
            if(admin != null){
                admin.close();
            }
            if(null != connection){
                connection.close();
            }
        }catch (IOException e){
            e.printStackTrace();
        }
    }

    public static void CreateTable(String tableName) throws IOException {
        if (admin.tableExists(TableName.valueOf(tableName))) {
            System.out.println("Table Exists!!!");
        }
        else{
            HTableDescriptor tableDesc = new HTableDescriptor(tableName);
            tableDesc.addFamily(new HColumnDescriptor("grade"));
            tableDesc.addFamily(new HColumnDescriptor("score"));
            tableDesc.addFamily(new HColumnDescriptor("score.english"));
            tableDesc.addFamily(new HColumnDescriptor("score.math"));
            tableDesc.addFamily(new HColumnDescriptor("score.chinese"));
            admin.createTable(tableDesc);
            System.out.println("Create Table Successfully .");
        }
    }

    public static void main(String[] args) {
        String tableName = "scores\_zqc";
        try {
            init();
            CreateTable(tableName);
            close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在这里插入图片描述

  • 插入数据
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.\*;
import java.io.IOException;

public class Insert {
    public static Configuration configuration;
    public static Connection connection;
    public static Admin admin;
    //建立连接
    public static void init(){
        configuration  = HBaseConfiguration.create();
        configuration.set("hbase.rootdir","hdfs://localhost:9000/hbase");
        try{
            connection = ConnectionFactory.createConnection(configuration);
            admin = connection.getAdmin();
        }catch (IOException e){
            e.printStackTrace();
        }
    }
    //关闭连接
    public static void close(){
        try{
            if(admin != null){
                admin.close();
            }
            if(null != connection){
                connection.close();
            }
        }catch (IOException e){
            e.printStackTrace();
        }
    }

    public static void InsertRow(String tableName, String rowKey, String colFamily, String col, String val) throws IOException {
        Table table = connection.getTable(TableName.valueOf(tableName));
        Put put = new Put(rowKey.getBytes());
        put.addColumn(colFamily.getBytes(), col.getBytes(), val.getBytes());
        System.out.println("Insert Data Successfully");
        table.put(put);
        table.close();
    }

    public static void main(String[] args) {
        String tableName = "scores\_zqc";
        String[] RowKeys = {
                "dandan",
                "sansan",
        };
        String[] Grades = {
                "6",
                "6",
        };
        String[] English = {
                "95",
                "87"
        };
        String[] Math = {
                "100",
                "95",
        };
        String[] Chinese = {
                "92",
                "98",
        };
        try {
            init();
            int i = 0;
            while (i < RowKeys.length){
                InsertRow(tableName, RowKeys[i], "grade", "", Grades[i]);
                InsertRow(tableName, RowKeys[i], "score", "english", English[i]);
                InsertRow(tableName, RowKeys[i], "score", "math", Math[i]);
                InsertRow(tableName, RowKeys[i], "score", "chinese", Chinese[i]);
                i++;
            } //031904102 zqc
            close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在这里插入图片描述

  • hbase shell中查看数据

在这里插入图片描述

4.1.2 第二题

创建并插入相关数据后,查看Hbase java api 文档
在ExampleForHBase 类中添加两个个函数分别实现一个rowKey 过滤器(RowFilter)以及一个单列值过滤器(SingleColumValueFilter);
之后通过这两个函数分别做如下查询:

  • 插入成功
    在这里插入图片描述
  1. 查询Zhangshan 的年级以及相关成绩,打印在控制台中并截图。
  2. 查询数学成绩低于100的所有人的名字,打印在控制台中并截图。
  • 插入数据
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.\*;

import java.io.IOException;

public class InsertTwo {
    public static Configuration configuration;
    public static Connection connection;
    public static Admin admin;
    //建立连接
    public static void init(){
        configuration  = HBaseConfiguration.create();
        configuration.set("hbase.rootdir","hdfs://localhost:9000/hbase");
        try{
            connection = ConnectionFactory.createConnection(configuration);
            admin = connection.getAdmin();
        }catch (IOException e){
            e.printStackTrace();
        }
    }
    //关闭连接
    public static void close(){
        try{
            if(admin != null){
                admin.close();
            }
            if(null != connection){
                connection.close();
            }
        }catch (IOException e){
            e.printStackTrace();
        }
    }

    public static void InsertRow(String tableName, String rowKey, String colFamily, String col, String val) throws IOException {
        Table table = connection.getTable(TableName.valueOf(tableName));
        Put put = new Put(rowKey.getBytes());
        put.addColumn(colFamily.getBytes(), col.getBytes(), val.getBytes());
        System.out.println("Insert Data Successfully");
        table.put(put);
        table.close();
    }

    public static void main(String[] args) {
        String tableName = "scores\_zqc\_two";
        String[] RowKeys = {
                "Leelei",
                "Dandan",
                "Sansan",
                "Zhanshan",
        };
        String[] Grades = {
                "6",
                "6",
                "6",
                "6",
        };
        String[] English = {
                "78",
                "95",
                "67",
                "66",
        };
        String[] Math = {
                "78",
                "95",
                "100",
                "66",
        };
        String[] Chinese = {
                "90",
                "92",
                "60",
                "66",
        };
        try {
            init();
            int i = 0;
            while (i < RowKeys.length){
                InsertRow(tableName, RowKeys[i], "grade", "", Grades[i]);
                InsertRow(tableName, RowKeys[i], "score", "english", English[i]);
                InsertRow(tableName, RowKeys[i], "score", "math", Math[i]);
                InsertRow(tableName, RowKeys[i], "score", "chinese", Chinese[i]);
                i++;
            }
            close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}



在这里插入图片描述

  • 查询
import java.io.IOException;
import java.util.List;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellUtil;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
import org.apache.hadoop.hbase.filter.Filter;
import org.apache.hadoop.hbase.filter.RowFilter;
import org.apache.hadoop.hbase.filter.SingleColumnValueFilter;
import org.apache.hadoop.hbase.filter.SubstringComparator;
import org.apache.hadoop.hbase.util.Bytes;

public class FindTwo {
    public static Configuration configuration;
    public static Connection connection;
    public static Admin admin;

    public static void init() {
        configuration = HBaseConfiguration.create();
        configuration.set("hbase.rootdir", "hdfs://192.168.0.108:9000/hbase");
        try {
            connection = ConnectionFactory.createConnection(configuration);
            admin = connection.getAdmin();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public static void close() {

        try {
            if(admin !=null) {
                admin.close();
            }
            if(connection !=null) {
                connection.close();
            }
        }catch(IOException e) {
            e.printStackTrace();
        }
    }

    public static void findRowFilter(String tablename,String rowkey) throws IOException {
        Table table = connection.getTable(TableName.valueOf(tablename));
        Scan scan = new Scan();
        System.out.println("RowKey: "+rowkey);
        Filter filter = new RowFilter(CompareOp.EQUAL,new SubstringComparator(rowkey));
        scan.setFilter(filter);
        ResultScanner scanner = table.getScanner(scan);
        for (Result res : scanner) {
            List<Cell> cells = res.listCells();
            for (Cell cell : cells) {
                // 打印rowkey,family,qualifier,value
                System.out.println(Bytes.toString(CellUtil.cloneRow(cell))
                        + ": " + Bytes.toString(CellUtil.cloneFamily(cell))
                        + ": "+Bytes.toString(CellUtil.cloneQualifier(cell))
                        +": "+ Bytes.toString(CellUtil.cloneValue(cell)) );
            }
        }
        scanner.close();
    }

    public static void findSingleColumValueFilter(String tablename,String colFamily,String col) throws IOException {
        Table table = connection.getTable(TableName.valueOf(tablename));
        Scan scan = new Scan();
        System.out.println("\nthe value of math in colFamily < 100:");
        Filter filter = new SingleColumnValueFilter(Bytes.toBytes(colFamily),
                Bytes.toBytes(col),
                CompareOp.GREATER,
                Bytes.toBytes("100"));
        scan.setFilter(filter);
        ResultScanner scanner = table.getScanner(scan);
        for (Result res : scanner) {
            System.out.println("name: "+Bytes.toString(res.getRow()));
        } 
        scanner.close();
    }

    public static void main(String[] args) throws IOException {
        init();
        findRowFilter("scores\_zqc\_two","Zhanshan");
        findSingleColumValueFilter("scores\_zqc\_two","score","math");
        close();
    }

}


在这里插入图片描述

5. 福利送书

还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!

王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。

对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!

【完整版领取方式在文末!!】

93道网络安全面试题

内容实在太多,不一一截图了

黑客学习资源推荐

最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

1️⃣零基础入门
① 学习路线

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

image

② 路线对应学习视频

同时每个成长路线对应的板块都有配套的视频提供:

image-20231025112050764

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

【漏洞复现】Hikvision综合安防管理平台env信息泄漏漏洞
晚风不及你
01-21 2199
Hikvision(海康威视)是一家在中国颇具影响力的安防公司,其网络摄像头产品在市场上占据了相当大的份额。综合安防管理平台基于“统一软件技术架构”理念设计,采用业务组件化技术,满足平台在业务上的弹性扩展。
有了这个网络安全面试题,面试就像开了挂!(附PDF)
最新发布
lvaolan的博客
02-26 929
还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!【完整版领取方式在文末!!​​​​内容实在太多,不一一截图了。
文档根元素 “beans“ 必须匹配 DOCTYPE 根 “null“
m0_62429214的博客
04-19 577
【文档根元素 “beans“ 必须匹配 DOCTYPE 根 “null“ 】 这种错误的一种低级错误!! 整合mybatis时,创建SqlSessionFactoryBean时,configLocation属性设置错误,提供了一个错的配置文件导致。
文档根元素 "beans" 必须匹配 DOCTYPE 根 "null"
woshi1226a的博客
03-24 3735
文档根元素 “beans” 必须匹配 DOCTYPE 根 “null” 环境 Spring + Mybatis的Web程序 现象 在程序启动时,出现“文档根元素 ‘beans’ 必须匹配 DOCTYPE 根 ‘null’”的错误。 问题原因 根据报错信息“文档根元素 "beans" 必须匹配 DOCTYPE 根 "null" ”可知, mybatis在扫描Mapper.xml文件时,扫描到非m...
[Vulfocus解题系列]ElasticSearch命令执行漏洞(CVE-2014-3120)
00勇士王子的博客
07-04 1352
漏洞介绍 Elasticsearch 是一个基于 Lucene 库的搜索引擎,具有 HTTP Web 接口和无模式 JSON 文档。Elasticsearch 是用 Java 开发的,其支持 MVEL、js、Java 等语言,其老版本默认语言为 MVEL。 MVEL :一个被众多 Java 项目使用的开源的表达式语言。 Elasticsearch 1.2之前的版本默认配置启用了动态脚本,该脚本允许远程攻击者通过 _search 的 source 参数执行任意 MVEL 表达式和 Java 代码。 影响版本
大数据技术基础实验报告-HBase安装配置和应用实践.doc
08-21
大数据技术基础实验报告-HBase安装配置和应用实践】 这篇实验报告主要涵盖了HBase安装、配置以及基本应用,这是大数据技术中一个重要的组件,它是一个分布式的、面向列的数据库,尤其适合处理大规模的数据。 1...
大数据题库_大数据_大数据;_hive;_hbase等;_hadoop;_
10-04
本题库主要关注大数据技术,特别是Hadoop、HBase和Hive等组件的应用和理解。 首先,Hadoop是Apache软件基金会的一个开源项目,核心是分布式文件系统HDFS(Hadoop Distributed File System)和MapReduce计算框架。...
大数据基础编程、实验和案例教程 第2版
03-20
最后,Spark作为快速、通用且可扩展的大数据处理框架,书中的Spark安装基础编程部分,将引导读者进入大数据实时处理的世界。 该书还提供了一系列大数据实验综合案例,旨在让读者将所学知识应用于实际场景,提升...
6 大数据基础 - Hbase
12-20
HBase基础知识 HBase是Apache软件基金会的一个开源项目,是一个分布式的、面向列的数据库,是基于Google的Bigtable模型设计的。HBase的主要特点是高性能、可扩展性强、支持高并发读写操作。 HBase的应用场景: 1....
大数据实验Hbase安装部署和使用javaapi调用.pdf
11-02
大数据实验Hbase安装部署和使用javaapi调用】 在这个实验中,我们将深入理解HBase在Hadoop生态系统中的角色,并掌握如何在Ubuntu 19.04操作系统上安装、配置和使用HBase,同时利用Java API进行编程。实验中使用的...
ctfshow-web-web15 Fishman
HAI_WD的博客
09-11 667
ctfshow-web-web15 Fishman
ElasticSearch 命令执行漏洞 CVE-2014-3120 漏洞测试
ADummy的博客
02-24 349
ElasticSearch 命令执行漏洞(CVE-2014-3120) by ADummy 0x00利用路线 ​ Burpsuite抓包—>java代码放入json—>有回显命令执行 0x01漏洞介绍 ​ 老版本ElasticSearch支持传入动态脚本(MVEL)来执行一些复杂的操作,而MVEL可执行Java代码,而且没有沙盒,所以我们可以直接执行任意代码。 MVEL执行命令的代码如下: import java.io.*; new java.util.Scanner(Runtime.g
检测到目标url存在http host头攻击漏洞_每日漏洞 | Host头攻击
weixin_39625586的博客
12-08 1218
0x00 概述漏洞名称:Host头攻击风险等级:低问题类型:管理员设置问题0x01 漏洞描述很多场景下,开发者都相信HTTP Host header传递的参数值用来更新链接导出脚本或者一些敏感操作。但该参数是可控的,若没有对其进行处理,就有可能造成恶意代码的传入。0x02 漏洞危害如果应用程序没有对Host字段值进行处理,就有可能造成恶意代码的传入。0x03 修复建议对Host字段进行检测Ngin...
Elasticsearch Groovy任意命令执行漏洞EXP
weixin_34163741的博客
03-06 416
测试url:http://190.196.67.252:9200/_search?pretty http://191.234.18.14:9200///_search?pretty   POST提交 {“size”:1,”script_fields”: {“iswin”: {“script”:”java.lang.Math.class.forName(\”java.io.BufferedR...
【0day】复现海康威视综合安防管理平台信息泄露(内网集权账户密码)漏洞
记录并分享学习安全的知识点..
10-17 2273
​ HIKVISION iSecure Center综合安防管理平台是一套“集成化”、“智能化”的平台,通过接入视频监控、一卡通、停车场、报警检测等系统的设备,海康威视综合安防管理平台信息存在信息泄露(内网集权账户密码)漏洞,可以通过解密软件,解密用户名密码。 ​
检测到目标url存在http host头攻击漏洞_任意URL跳转漏洞
weixin_39841572的博客
12-08 823
任意URL跳转漏洞漏洞简单介绍:服务端未对传入的跳转URL变量进行检查和控制,导致可恶意构造任意一个恶意地址,诱导用户跳转到恶意网站。由于是从可信的站点跳转出去的,用户会比较信任,所以跳转漏洞一般用于钓鱼攻击,通过转到恶意网站欺骗用户输入用户名和密码盗取用户信息,或欺骗用户进行金钱交易。修复该漏洞最有效的方法之一就是校验传入的跳转URL参数值,判断是否为预期域名。在Java中可使用下列方法:Str...
Spring Boot异常问题:org.xml.sax.SAXParseException: 文档根元素 “beans“ 必须匹配 DOCTYPE 根 “null“。
专注于深入研究多种编程语言,以实战为导向,逐步拓展开发技能,提升工程化编码和思维能力,展现无敌技术实力。
06-17 1300
Spring Boot异常问题:org.xml.sax.SAXParseException: 文档根元素 "beans" 必须匹配 DOCTYPE 根 "null"。
十八万字《python从零到精通教程》第版,贴心保姆教你从零变大神,学不会找我
热门推荐
全栈川川
09-23 7万+
文章目录一.pycharm下载安装.python下载安装三.pycharm上配置python四.配置镜像源让你下载嗖嗖的快4.1pycharm内部配置4.2手动添加镜像源4.3永久配置镜像源五.插件安装(比如汉化?)5.1自动补码神器第一款5.2 自动补码神器第款5.2汉化pycharm5.3其它插件六.美女背景七.自定义脚本开头八、这个前言一定要看九、python入门十、python缩进十一、Python注释1.单行注释2.多行注释十、Python 变量1.变量定义理解2. 变量名命名3. 分配多个
HBase大数据实践:安装配置与操作实战
本文主要探讨了大数据平台中的HBase数据库,包括其安装配置、常用Shell命令以及通过编程实践来掌握HBase的基本操作。HBase作为一个分布式NoSQL数据库,适用于存储大规模非结构化数据,特别适合高并发读写操作。 ...
写文章

热门文章

  • 最全深入探索 Android 网络优化(二、网络优化基础篇)上(1),2024年最新京东面试题及答案 1476
  • 炒冷饭之Https 建立链接(1) 1129
  • Flutter Navigation drawer 导航抽屉(翻译) 1121
  • 2024年Android最新抖音Android端“个人中心”页滑动冲突优化方案(1),2024年最新在线面试技巧 1107
  • Android高级常见面试题:说说Activity的启动流程 1102

分类专栏

  • 程序员 433篇
  • 2024年程序员学习 10篇

最新评论

  • 字节跳动技术整理:Android-Camera内存问题剖析(2)

    wall_j: hello,请教一下static void recycle(TotalCaptureResult tcr) 方法应该在什么时机调用最合适

  • 2024年网络安全最新微服务高并发秒杀实战_基于令牌桶实现库存(4),相关资料参考

    普通网友: 好文,细节很到位!【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • 2024年网络安全最新微服务高并发秒杀实战_基于令牌桶实现库存(4),相关资料参考

    普通网友: 优质好文,支持支持。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • 2024年Android最新2024年中:Android各大厂面试题汇总,android高级开发面试题以及答案

    普通网友: 干货满满,实用性强,博主的写作风格简洁明了,让人一目了然。文章涵盖了很多实用的知识点。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • android版手游!写给1-3年安卓程序员的几点建议,进阶学习资料!_手游用安卓写吗

    普通网友: 优质好文,博主的文章细节很到位,兼顾实用性和可操作性,期待博主持续带来更多好文【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

最新文章

  • 开源一个Flutter版WanAndroid客户端
  • 就是这道阿里Android岗面试题,一面刷掉了90%的面试者!你会答吗?
  • 字节跳动Android岗面试,被“插件化,组件化”问懵,37天啃透开源框架设计思想,面试官被秀了一脸
2024
05月 236篇
04月 220篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司上城区企业网站seo优化方法济南建材行业网站优化推广有哪些专业网站优化外包费用济南专业网站优化价格推广优化网站教程东莞网站优化网站推广海林商城网站优化汉沽网站优化排名哪家好礼县网站seo优化排名优化推广关键词优化网站优化杭州富阳网站优化网络推广郑州网站优化怎么优化网站题目四川关键词优化网站网站怎么查看优化元标签杭州网站优化费用漳平网站优化代理广州网站优化效果如何南充做优化网站哪里有德宏网站优化策略删除网站内容影响优化兰州快速网站seo优化e荆门seo网站优化番禺百度网站优化公司岳阳很好的网站优化用户体验如何优化网站浏览量建瓯网站seo优化课程成都电商网站图片怎么优化湛江首页网站关键词优化太原家装行业网站优化推广方案歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化