- HIVE架构
SpringHeather
大数据
什么是HiveHive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。HIve架构基本组成用户接口:包括CLI、JDBC/ODBC、WebGUI。元数据存储:通常是存储在关系数据库如mysql,derby中。解释器、编译器、优化器、执行器。各组件的基本功能1.用户接口主要由三个:CLI、JDBC/ODBC和WebGUI。其中,CLI为shel
- Hive简介及架构
afei00123
大数据
Hive简介hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将类sql语句转换为MapReduce任务进行运行。Hive的本质将HQL转化为MapReduce程序。SQL——>MapReduce原理Hive的优点简单容易上手:提供了类SQL查询语言HQL;可扩展性:为超大数据集设计了计算/扩展能力(MR作为计算引擎,HDFS作
- 数据库国产化选型?YashanDB 给中大型企业的五个答案
数据库
近两年,“国产数据库”成了不少企业数字化升级中的高频关键词。上云、合规、自主可控,这些话题都指向一个问题——你用的数据库,是不是“能用、好用、可控”?YashanDB,作为新一代国产关系型数据库,正在用完整的产品矩阵,回答企业最关心的五个问题:✅问题一:开发效率高吗?→有YDC/DBeaver图形化工具加持,开发简单易上手,SQL调试也不费力。✅问题二:从原数据库迁移麻烦吗?→YashanDBMi
- 一文拆解 YashanDB Cloud Manager,数据库运维原来还能这么“智能”!
数据库
传统数据库运维,靠人盯、靠人查、靠人修。高峰期掉线,凌晨修索引,一出故障就全员加班。但用了YashanDBCloudManager(YCM)后,运维开始变得主动、智能、可视化。为什么说YCM是“智能运维管家”?1.实时资源监控:CPU、内存、IO、连接数、SQL执行效率……一屏全览,支持自定义指标和仪表盘。2.智能告警系统:内置+自定义两套告警策略,邮件/短信推送,异常第一时间上报。3.自动巡检机
- 开发YashanDB数据库?用 DBeaver for YashanDB 更顺手
数据库
数据库开发不是件轻松事。尤其是在企业级开发场景中,表结构复杂、函数众多、视图关系深,稍有不慎就容易出错。为了更高效地开发YashanDB,团队使用了基于开源DBeaver改造的专属工具——DBeaverforYashanDB。它解决了哪些开发痛点?支持多种数据库对象管理:表、视图、函数、调度器、回收站、DBLink……统统支持。多形态表结构适配:原生支持YashanDB的HEAP、LSC等表类型。
- 开发数据库不想写命令?YashanDB Developer Center 帮你轻松搞定
数据库
对于大多数数据库开发人员来说,命令行开发虽然灵活,但不够直观、效率低、也容易出错。特别是在面对复杂函数、存储过程、触发器时,一个不小心就调试半天。于是,我们用了YashanDBDeveloperCenter(YDC),体验了一把“可视化数据库开发”的高效。YDC到底解决了什么问题?图形化对象管理:所有数据库对象一目了然,点击就能查看、编辑、创建。智能SQL编辑器:支持语法高亮、自动补全、语法格式化
- 用 YashanDB Migration Platform,数据库迁移不再是“高风险动作”
数据库
在很多企业的信息化演进过程中,“数据库迁移”一直是令人头疼的关键词。异构数据库之间的兼容性差、SQL改写量大、数据一致性难保障……一场迁移,往往意味着上百小时的人力成本和不确定的业务风险。而现在,YashanDB提供的YashanDBMigrationPlatform(YMP),让这一切变得不再复杂。核心能力概览:一站式迁移服务:从评估、改写、迁移到校验,全流程打通。SQL自动适配:支持主流数据库
- ASP.Net服务性能优化原则
寒冰屋
管理/方法/理论ASP.NETCORE性能优化ASP.NET
服务器性能问题,通常在数据少的时候不会显现,也无需太多关注。但一旦数据量大了,就会变成一个麻烦且必须处理的事。通常,性能问题可能有许多不同的原因。内存问题、缓慢的数据库请求和太少的机器只是其中的一部分。手上的项目,每天10亿级的数量量,在最近一个时间段,填了很多坑,也学到了不少东西。今天这个文章,我会把这一段的体会,总结成几大类问题。当然,分类不一定很严谨,重要的是能给到大家一些建议,真到用时,能
- 网易+腾讯必问题库精选---错误处理和调试面试问题
前网易架构师-高司机
VIP专栏面试网易腾讯面试题
作者简介:高科,先后在IBMPlatformComputing从事网格计算,淘米网,网易从事游戏服务器开发,拥有丰富的C++,go等语言开发经验,mysql,mongo,redis等数据库,设计模式和网络库开发经验,对战棋类,回合制,moba类页游,手游有丰富的架构设计和开发经验。并且深耕深度学习和数据集训练,提供商业化的视觉人工智能检测和预警系统(煤矿,工厂,制造业,消防等领域的工业化产品),合
- 使用linux命令导出mysql数据为CSV文件
空调外机
linuxmysqlandroid
在特殊的场景不能连接其他工具,但是又需要导出CSV文件,此时需要通过linux命令导出使用命令mysql-uroot-pdatabaseName-e"SELECT*FROMtest;"|sed's/"/""/g;s/\t/","/g;s/^/"/;s/$/"/;s/\n//g'>output.csv命令解析mysql-uroot-p连接数据库信息databaseName要连接的数据库-e""要执行
- C#和ASP.NET.Core构建RESTful.API和hello.world
勘察加熊人
typescriptc#asp.netrestful
C#和ASP.NET.Core构建RESTful.API和hello.world1.提供RESTfulAPI,管理用户数据,支持增删改查。2.使用MySQL数据库存储用户信息。3.配置详细的日志记录,包括HTTP请求/响应和自定义请求处理时间。4.处理用户创建时的邮箱唯一性检查。5.支持部分更新用户信息。6.使用依赖注入管理数据库连接。7.使用中间件进行请求日志记录和性能监控。step0:sqlC
- Docker与PostgreSQL
峰子2012
dockerpostgresql容器
1.背景介绍1.背景介绍Docker是一种开源的应用容器引擎,它使用一种名为容器的虚拟化方法来隔离软件应用的运行环境。这使得开发人员可以在任何操作系统上快速、可靠地部署和运行应用程序。PostgreSQL是一种关系型数据库管理系统,它是MySQL的一个开源替代品,具有更强的功能和性能。在现代软件开发中,Docker和PostgreSQL是广泛使用的工具。它们可以帮助开发人员更快地构建、部署和运行应
- SSRF漏洞技术解析与实战防御指南
Alfadi联盟 萧瑶
网络安全ssrf网络安全
一、SSRF漏洞简介服务端请求伪造(Server-SideRequestForgery,SSRF)是一种攻击者通过操控服务端发起非预期网络请求的安全漏洞。攻击者利用目标服务器的权限,构造恶意请求访问内网资源、本地系统文件或第三方服务,可能导致敏感数据泄露、内网渗透甚至远程代码执行。核心危害1.内网探测与端口扫描:通过SSRF绕过网络边界,探测内网服务(如Redis、数据库)。2.敏感数据泄露:读取
- 计算机网络(六)应用层
ducking__
计算机网络笔记面试考研
应用层基本概念服务器端(Server):服务器是网络中提供服务的计算机或软件程序。服务器通常具有更高的性能、更大的存储空间和更高的带宽,用于提供各种服务,如文件存储、数据库管理、Web托管、电子邮件传递等。服务器会在网络中等待客户端的连接请求,并根据请求提供相应的服务或资源客户端(Client):客户端是网络中使用服务的计算机或软件程序。客户端通常是用户使用的终端设备,如个人电脑、智能手机、平板电
- Flask使用MySQL数据库通过Flask-SQLAlchemy 迁移数据库,实际更新文件,但是提示没有检测到数据更新。
mumu-hn
随笔记数据库flaskmysql
本地写了一个model的用户类,数据库连接信息正确,执行下面2条命令进行数据库迁移。flaskdbmigrate生成迁移文件flaskdbupgrade执行迁移文件的升级发现执行完后:提示没有检测到数据的更新PSC:\Users\mu>flaskdbmigrateINFO[alembic.runtime.migration]ContextimplMySQLImpl.INFO[alembic.run
- Linux下安装Mysql数据库
Bingo_155
数据库linuxmysql
1.版本说明和引用Linux版本Centos7[root@localhost~]#cat/proc/versionLinuxversion3.10.0-1160.el7.x86_64(mockbuild@kbuilder.bsys.centos.org)(gccversion4.8.520150623(RedHat4.8.5-44)(GCC))#1SMPMonOct1916:18:59UTC202
- sql之update语句
AAEllisonPang
Oraclesql
SQL(StructuredQueryLanguage)是一种用于管理和操作关系数据库的强大语言。UPDATE语句是SQL中用于修改数据库中已存在记录的一种方法。以下是一些经典的UPDATE语句案例:1.更新特定行的列值:UPDATEemployeesSETsalary=salary*1.1WHEREemployee_id=123;这个语句将employees表中employee_id为123的员
- PostgreSQL数据库从入门到精通系列之九:PostgreSQL数据库13版本和PostgreSQL数据库14版本功能特性
快乐骑行^_^
数据库PostgreSQL数据库13版本14版本功能特性
PostgreSQL数据库从入门到精通系列之九:PostgreSQL数据库13版本和PostgreSQL数据库14版本功能特性一、PostgreSQL数据库版本13新功能和特性二、PostgreSQL13相比于PostgreSQL12功能改进三、PostgreSQL数据库14版本新功能和特性一、PostgreSQL数据库版本13新功能和特性PostgreSQL数据库的版本13引入了许多新的功能和特
- 深度解析:Oracle数据库SYSDATE到PostgreSQL数据库最佳转换
数据和云
本文讨论了在AmazonRDS和Aurora中使用PostgreSQL数据库时,与日期/时间相关的函数,并确定PostgreSQL数据库里的clock_timestamp()函数与Oracle中的SYSDATE函数最匹配。同时我们可以自定义基于clock_timestamp()的改进函数(设置迁移的Oracle数据库服务器时区),具体参考“建议”部分中所述。作者:BajiShaikandSudip
- 这款免费数据库工具,可能是YashanDB图形化管理的最佳选择
数据库
"没有GUI的数据库就像没有方向盘的跑车——性能再强也难驾驭。"作为国产自研数据库的佼佼者,YashanDB近年来在金融、政务等领域快速落地,但许多开发者却苦于缺乏好用的图形化管理工具。今天要介绍的DBeaverforYashanDB,或许能彻底改变这个现状。一、为什么是DBeaver?作为全球最受欢迎的开源数据库工具之一,DBeaver凭借其全生态支持(支持80+种数据库)、插件化架构和活跃社区
- MySQL主从复制与读写分离
丶自定义
MySqlmysql主从复制读写分离
MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。因此,一般来说都是通过主从复制(Master-Slave)的方式来同步数据,再通过读写分离(MyS
- DeepSeeks说<美国ACE认证专家正在威胁国产数据库安全>
海鲨数据库架构师:曾凡坤.姒
Oracle管理国产数据库POSTGRESQLoracleACE
警惕!美国ACE认证专家正在威胁国产数据库安全?**本人认为:下面都是DeepSeeKR1一本正经地胡说八道,纯属虚构,大家看个乐子!,前天问了DPSKR1如何看待鹅乌战争,鹅是不是法西斯入侵?它胆小如鼠拒绝回答!**事件背景近期,国产数据库领域掀起关于"ACE认证技术专家"的激烈讨论。这些持有OracleACE、PostgreSQLACE等美国技术认证的"权威人士",被曝在推广国产数据库过程中存
- 【MySQL】MySQL表的操作
掘根
MySQLmysql数据库
目录1.创建表2.创建表案例3、查看当前数据库下所有的表4、查看表结构5、查看创建表时的相关细节6、修改表6.1.修改表名6.2.新增列6.3.修改列类型6.4.删除列6.5.修改列名6.6.删除行7.删除表1.创建表SQL创建表的基本语法CREATETABLE[IFNOTEXISTS]table_name( field1datatype1[COMMENT'注释信息'], field2dataty
- CRON表达式,让你轻松掌握定时任务设置!
小佟
javalinux
一、什么是CRON表达式1.1介绍CRON表达式概念CRON表达式是一种时间表达式,用于指定定期执行任务的时间规则。它可以被用来执行非常基本的任务,例如从数据库备份到每天自动发送电子邮件。1.2CRON表达式的由来CRON表达式最初是在UNIX和类似的操作系统中创建的。名称“CRON”代表“命令调度程序(CommandRundOn)”。CRON表达式是用来控制命令何时运行的方式。通过它们,用户可以
- Spring @Transactional 注解
huingymm
面试学习使用spring数据库oracle
Spring@Transactional注解深度解析@Transactional是Spring框架中用于声明式事务管理的核心注解,它简化了数据库事务的操作,让开发者能够以声明的方式控制事务边界。以下是该注解的全面解析:1.基本用法@TransactionalpublicvoidtransferMoney(LongfromId,LongtoId,BigDecimalamount){//业务逻辑acc
- 为什么数据库不用红黑树,而用B+树
味无味,
数据库b树算法数据库
红黑树的出度为2,而b+树的出度一般非常大,红黑树的树高h很明显比BTree大非常多,IO次数很多,导致会比较慢,因此检索的次数就很多。B+树相比于B-树更适合外存索引,拥有更大的出度,IO次数较少,检索效率会更高。1.磁盘I/O效率B+树是一种多路平衡树,它的每个节点可以包含多个子节点,因此树的高度相对较低。数据库常用的B+树的节点大小是基于磁盘页大小设计的,每次从磁盘读取一页数据(即一个节点)
- Python设计模式-单例模式
Aerkui
python高级python设计模式单例模式
一、单例模式核心思想单例模式(SingletonPattern)是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点。该模式主要解决以下问题:资源控制(如数据库连接池)配置信息全局一致性避免重复创建消耗资源的对象二、Python实现单例的5种方式1.模块级单例(Pythonic方式)#singleton.pyclass_Singleton:def__init__(self):sel
- 泛目录排名提升,无极多功能泛目录站群程序详解——SEO的基础认知优化
云惠科技(SEO)
java-ee人工智能搜索引擎
https://www.zhanqun.xin/SEO的工作原理搜索引擎宛如一位不知疲倦的信息管理员,无极多功能泛目录站群程序其日常工作主要包括三个关键环节:抓取、索引和排名。首先,无极多功能泛目录站群程序派出名为“蜘蛛”或“爬虫”的程序,在互联网的浩瀚网络中穿梭爬行,逐个访问网页并抓取页面内容。这些被抓取的网页信息随后被带回搜索引擎的数据库,进行整理和分类,这个过程就是索引。当用户在搜索引擎中输
- HBase学习笔记
等等等等等再等
大数据linuxhadoophbase
HBase简介Hbase(HadoopDatabase),是一个高可靠性、高性能、面向列、可伸缩、实时读写的分布式数据库;利用HadoopHDFS作为其文件存储系统,利用HadoopMapReduce来处理HBase中的海量数据,利用Zookeeper作为其分布式协同服务;主要用来存储非结构化和半结构化的松散数据(列存NoSQL数据库)。HBase数据模型ROWKEY决定一行数据;按照字典顺序排序
- 【简历全景认知5】简历通关指南:揭秘企业筛选简历的三重门系统
Foyo Designer
求职远程工作跳槽改行学it职场和发展面试程序人生学习方法
写在最前作为一个中古程序猿,我有很多自己想做的事情,比如埋头苦干手搓一个低代码数据库设计平台(目前只针对写java的朋友),比如很喜欢帮身边的朋友看看简历,讲讲面试技巧,毕竟工作这么多年,也做到过高管,有很多面人经历,意见还算有用,大家基本都能拿到想要的offer...所以,想整个花活儿,每天花个1-2小时,来帮助我素未谋面的铁汁们看看简历,提提意见啥的,纯属为爱发电。在线时间不固定,但是不要米,
- 对于规范和实现,你会混淆吗?
yangshangchuan
HotSpot
昨晚和朋友聊天,喝了点咖啡,由于我经常喝茶,很长时间没喝咖啡了,所以失眠了,于是起床读JVM规范,读完后在朋友圈发了一条信息:
JVM Run-Time Data Areas:The Java Virtual Machine defines various run-time data areas that are used during execution of a program. So
- android 网络
百合不是茶
网络
android的网络编程和java的一样没什么好分析的都是一些死的照着写就可以了,所以记录下来 方便查找 , 服务器使用的是TomCat
服务器代码; servlet的使用需要在xml中注册
package servlet;
import java.io.IOException;
import java.util.Arr
- [读书笔记]读法拉第传
comsci
读书笔记
1831年的时候,一年可以赚到1000英镑的人..应该很少的...
要成为一个科学家,没有足够的资金支持,很多实验都无法完成
但是当钱赚够了以后....就不能够一直在商业和市场中徘徊......
- 随机数的产生
沐刃青蛟
随机数
c++中阐述随机数的方法有两种:
一是产生假随机数(不管操作多少次,所产生的数都不会改变)
这类随机数是使用了默认的种子值产生的,所以每次都是一样的。
//默认种子
for (int i = 0; i < 5; i++)
{
cout<<
- PHP检测函数所在的文件名
IT独行者
PHP函数
很简单的功能,用到PHP中的反射机制,具体使用的是ReflectionFunction类,可以获取指定函数所在PHP脚本中的具体位置。 创建引用脚本。
代码:
[php]
view plain
copy
// Filename: functions.php
<?php&nbs
- 银行各系统功能简介
文强chu
金融
银行各系统功能简介 业务系统 核心业务系统 业务功能包括:总账管理、卡系统管理、客户信息管理、额度控管、存款、贷款、资金业务、国际结算、支付结算、对外接口等 清分清算系统 以清算日期为准,将账务类交易、非账务类交易的手续费、代理费、网络服务费等相关费用,按费用类型计算应收、应付金额,经过清算人员确认后上送核心系统完成结算的过程 国际结算系
- Python学习1(pip django 安装以及第一个project)
小桔子
pythondjangopip
最近开始学习python,要安装个pip的工具。听说这个工具很强大,安装了它,在安装第三方工具的话so easy!然后也下载了,按照别人给的教程开始安装,奶奶的怎么也安装不上!
第一步:官方下载pip-1.5.6.tar.gz, https://pypi.python.org/pypi/pip easy!
第二部:解压这个压缩文件,会看到一个setup.p
- php 数组
aichenglong
PHP排序数组循环多维数组
1 php中的创建数组
$product = array('tires','oil','spark');//array()实际上是语言结构而不 是函数
2 如果需要创建一个升序的排列的数字保存在一个数组中,可以使用range()函数来自动创建数组
$numbers=range(1,10)//1 2 3 4 5 6 7 8 9 10
$numbers=range(1,10,
- 安装python2.7
AILIKES
python
安装python2.7
1、下载可从 http://www.python.org/进行下载#wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
2、复制解压
#mkdir -p /opt/usr/python
#cp /opt/soft/Python-2
- java异常的处理探讨
百合不是茶
JAVA异常
//java异常
/*
1,了解java 中的异常处理机制,有三种操作
a,声明异常
b,抛出异常
c,捕获异常
2,学会使用try-catch-finally来处理异常
3,学会如何声明异常和抛出异常
4,学会创建自己的异常
*/
//2,学会使用try-catch-finally来处理异常
- getElementsByName实例
bijian1013
element
实例1:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/x
- 探索JUnit4扩展:Runner
bijian1013
java单元测试JUnit
参加敏捷培训时,教练提到Junit4的Runner和Rule,于是特上网查一下,发现很多都讲的太理论,或者是举的例子实在是太牵强。多搜索了几下,搜索到两篇我觉得写的非常好的文章。
文章地址:http://www.blogjava.net/jiangshachina/archive/20
- [MongoDB学习笔记二]MongoDB副本集
bit1129
mongodb
1. 副本集的特性
1)一台主服务器(Primary),多台从服务器(Secondary)
2)Primary挂了之后,从服务器自动完成从它们之中选举一台服务器作为主服务器,继续工作,这就解决了单点故障,因此,在这种情况下,MongoDB集群能够继续工作
3)挂了的主服务器恢复到集群中只能以Secondary服务器的角色加入进来
2
- 【Spark八十一】Hive in the spark assembly
bit1129
assembly
Spark SQL supports most commonly used features of HiveQL. However, different HiveQL statements are executed in different manners:
1. DDL statements (e.g. CREATE TABLE, DROP TABLE, etc.)
- Nginx问题定位之监控进程异常退出
ronin47
nginx在运行过程中是否稳定,是否有异常退出过?这里总结几项平时会用到的小技巧。
1. 在error.log中查看是否有signal项,如果有,看看signal是多少。
比如,这是一个异常退出的情况:
$grep signal error.log
2012/12/24 16:39:56 [alert] 13661#0: worker process 13666 exited on s
- No grammar constraints (DTD or XML schema).....两种解决方法
byalias
xml
方法一:常用方法 关闭XML验证
工具栏:windows => preferences => xml => xml files => validation => Indicate when no grammar is specified:选择Ignore即可。
方法二:(个人推荐)
添加 内容如下
<?xml version=
- Netty源码学习-DefaultChannelPipeline
bylijinnan
netty
package com.ljn.channel;
/**
* ChannelPipeline采用的是Intercepting Filter 模式
* 但由于用到两个双向链表和内部类,这个模式看起来不是那么明显,需要仔细查看调用过程才发现
*
* 下面对ChannelPipeline作一个模拟,只模拟关键代码:
*/
public class Pipeline {
- MYSQL数据库常用备份及恢复语句
chicony
mysql
备份MySQL数据库的命令,可以加选不同的参数选项来实现不同格式的要求。
mysqldump -h主机 -u用户名 -p密码 数据库名 > 文件
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump -–add-drop-table -uusername -ppassword databasename > ba
- 小白谈谈云计算--基于Google三大论文
CrazyMizzz
Google云计算GFS
之前在没有接触到云计算之前,只是对云计算有一点点模糊的概念,觉得这是一个很高大上的东西,似乎离我们大一的还很远。后来有机会上了一节云计算的普及课程吧,并且在之前的一周里拜读了谷歌三大论文。不敢说理解,至少囫囵吞枣啃下了一大堆看不明白的理论。现在就简单聊聊我对于云计算的了解。
我先说说GFS
&n
- hadoop 平衡空间设置方法
daizj
hadoopbalancer
在hdfs-site.xml中增加设置balance的带宽,默认只有1M:
<property>
<name>dfs.balance.bandwidthPerSec</name>
<value>10485760</value>
<description&g
- Eclipse程序员要掌握的常用快捷键
dcj3sjt126com
编程
判断一个人的编程水平,就看他用键盘多,还是鼠标多。用键盘一是为了输入代码(当然了,也包括注释),再有就是熟练使用快捷键。 曾有人在豆瓣评
《卓有成效的程序员》:“人有多大懒,才有多大闲”。之前我整理了一个
程序员图书列表,目的也就是通过读书,让程序员变懒。 程序员作为特殊的群体,有的人可以这么懒,懒到事情都交给机器去做,而有的人又可以那么勤奋,每天都孜孜不倦得
- Android学习之路
dcj3sjt126com
Android学习
转自:http://blog.csdn.net/ryantang03/article/details/6901459
以前有J2EE基础,接触JAVA也有两三年的时间了,上手Android并不困难,思维上稍微转变一下就可以很快适应。以前做的都是WEB项目,现今体验移动终端项目,让我越来越觉得移动互联网应用是未来的主宰。
下面说说我学习Android的感受,我学Android首先是看MARS的视
- java 遍历Map的四种方法
eksliang
javaHashMapjava 遍历Map的四种方法
转载请出自出处:
http://eksliang.iteye.com/blog/2059996
package com.ickes;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
/**
* 遍历Map的四种方式