美文网首页程序员
Java开发相关术语解析

Java开发相关术语解析

作者: zhyuzh3d | 来源:发表于2019-02-19 18:35 被阅读4次

    Java['dʒɑːvə]

    当前软件开发行业应用最广、就业量最大的编程语言,在各类编程语言排行榜长期位列第一。是企业软件开发的首选语言,也是Android系统的开发语言。
    Java吸取了C++语言的众多优点,是极好的面向对象编程语言,程序员可以很优雅的思维方式编写强大负责的软件程序。

    Html5

    HyperText Markup Language,网页开发最主要的编程语言,简单好学功能强大。 Html5是最新版本,2014年发布。

    CSS3

    Cascading Style Sheets,层叠样式表,用来给网页元素设定各种样式,美化页面。 CSS3是最新版本,2001年制定。

    JavaScript['dʒɑvə,skrɪpt]

    网页编程脚本语言,主要用来实现网页动态效果和各种功能和业务逻辑。 JavaScript是开发者使用最广泛的语音,没有之一。 JavaScript和Java的关系类似雷锋和雷锋塔的关系,半毛钱都没。 Java学不好对于JavaScript没有任何影响。

    jQuery[dʒe'kwɪərɪ]

    Javascript的一个框架,就是别人把很多网页常用功能写好了打包在一起成为jQuery给大家用。 jQuery能够操作页面制作动画,以及更多厉害的功能。 jQuery曾经是网页开发的必选工具,但近几年随着Vue、react、angular的兴起,jQuery已经不那么流行了。

    Bootstrap['bʊt'stræp]

    JS框架,提供了很多现成的网页元素,可以很快让网页变得美观大方。

    JDBC/MyBatis[mai'beitis]

    JDBC,Java DataBase Connectivity即Java和数据库的连通工具。通过这个标准可以方便的控制和操作数据库。
    MyBatis也是一个用来操作数据库的数据持久层框架,但它比JDBC更简单更好用,行业应用也越来越广泛。

    DBCP/C3P0/BoneCP[bon si'pi]/Druid ['druːɪd]

    Java几种数据库连接池库。Druid由阿里巴巴开源提供。
    什么是连接池?由于建立数据库连接是一种非常耗时、耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,使用完毕后再归还到连接池中。

    Servlet['sɜvlet]

    Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。
    Java Servlet是JSP的技术基础,大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。

    JSP

    JSP全名为Java Server Pages,中文名叫java服务器页面,它可以在web页面的html文件中利用JSP标记插入Java程序代码,变成.jsp文件。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

    EasyUI

    Easyui是一种基于jQuery的用户界面插件集,帮助web开发者不用编写复杂的JavaScript代码也能轻松的打造出功能丰富并且美观的UI界面。

    Ajax

    Ajax ,异步 JavaScript 和 XML即Asynchronous Javascript And XML,开源向服务器发送请求获取数据,用于制作具有动态交互数据的网页。

    Json[dʒeɪ'sən]

    一种最常用的非结构化的数据信息格式,是互联网数据传输最常用的格式。

    DWR

    DWR是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站。它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA方法,就像它就在浏览器里一样。

    Linux[ˈlɪnəks]/Unix['jʊnɪks]

    Unix,初名UNiplexed Information and Computing Service,诞生于1970年贝尔实验室,是一个强大的操作系统。类Unix系统是指类似Unix的系统,包括我们熟悉的Android、iOS、苹果电脑系统MacOS、Ubuntu等都是类Unix系统。Android就是基于Linux的。常见的Linux有用于普通电脑的Ubuntu和适合做服务器的CentOS。

    Git[ɡɪt]/Github[ɡɪt'hʌb]

    项目协作和版本管理工具。 多人开发一个项目,共同编写一个文件等各种情况需要有系统的协调管理。 软件需要多次迭代升级,有时候甚至需要回退,这都需要每个文件都有不同版本的跟踪和管理。 Git是免费开源工具。 Github是基于Git技术的在线网站,是当前全球最大的开发者社区,汇聚了全球几乎所有的开源项目,你可以在Github建立自己的项目文件仓库,与全球开发者一起协作。
    Github在2018年已经被微软收购。
    另外可选的网站有Gitlab、Gitbucket,国内的有coding、oschina等。

    MVC/MVVM

    MVC,模型视图控制器,Model-View-Controller。
    MVVM,模型视图视图模型模型,Model-View-ViewModle-Modle。
    大型网站项目开发常用两种架构模式,目的是可以方便的重复使用页面元素,更好的管理网络数据传输,网页和后端服务分离,使网站更强大更稳定,开发更快,维护更容易。

    MySQL[mai'si:kjuːel]

    SQL,结构性查询语言Structured Query Language,Mysql目前行业最常用的关系型数据库,用来存储各种数据,可以很方便的查询搜索。
    结构性数据一般是指类似Excel表格的数据。

    NoSQL/Redis[re'dis]/MongoDB['mɒŋgəʊ'di'bi]

    NoSQL是非关系型数据库,和MySQL不同。非关系型数据库在互联网时代尤其是大数据云计算时代越来越重要,可以应对更多样的数据存储需要。最常见的非关系型数据库有Redis、MongoDB和Memcache。同时这些数据库也经常被用来大幅度提高后端软件的运行效率。很好的结合各种数据库使用,可以使软件程序性能提高成百上千倍。

    Nginx[n'dʒeninks]/Apache[əˈpætʃɪ] /Tomcat['tɑmkæt]

    这三个都是常用的网络服务器软件,为网站提供http服务,让用户能够访问到服务器上的网页文件。目前Nginx使用最为广泛,其他两个的使用在逐渐下降。

    第三方登录/移动支付

    指某些网站或APP可以使用QQ登录、微信登录、微博登录、支付宝支付、微信支付等功能。这些功能都需要开发者编写代码进行开发,一般都会涉及到前端网页和后端服务器开发。

    云部署

    目前几乎所有公司的网站都部署在云端服务器上,即云服务提供商大公司提供的外地服务器,目前国内最大的云服务器提供商是阿里云,占有50%左右的市场份额,其次是腾讯云和微软云等。
    云端服务器更加安全稳定,成本更低,技术也更简单,目前一般的部署和维护工作都由普通开发者完成,所以必须了解云服务提供商的各种功能,以及云端操作系统CentOS的使用方法。

    网站性能优化

    对于用户量比较少只有几百人的中小型网站来说,性能往往不那么敏感,但是对于用户数以万计数以千万计的中大型商业网站来说,用户打开网页的速度、功能是否灵敏就成为重要的问题。
    因此必须掌握前端网页优化方法,加快网页载入速度;也要掌握后端服务器程序优化策略和数据库优化技巧,确保网站稳定高速运行。

    JDBC/MyBatis[mai'beitis]

    JDBC,Java DataBase Connectivity即Java和数据库的连通工具。通过这个标准可以方便的控制和操作数据库。
    MyBatis也是一个用来操作数据库的数据持久层框架,但它比JDBC更简单更好用,行业应用也越来越广泛。

    Hibernate['haɪbɚnet]

    一个开放源代码的对象关系映射框架,它可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

    Struts[st'rʌts]

    一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts作为控制器来建立模型与视图的数据交互。
    Struts 2是Struts的下一代产品,是全新的Struts 2框架。

    Spring[sprɪŋ]

    一个Java的服务端程序开发框架,它使开发逻辑和业务逻辑更加清晰,利用这个框架可以开发各类企业级服务端程序。
    Spring是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。

    SpringMVC

    基于Spring之上,遵循MVC(模型-视图-控制器)设计原则的前端web开发框架,它是基于Servlet技术实现的。

    SprintBoot/SpringCloud

    比SpringMVC更加简单,更加专注于后端微服务开发的后端框架。
    SpringCloud是全局微服务的整合与管理,可以看做是对多个SpringBoot微服务的管理。
    微服务就是一小组服务功能集合。中大型软件功能众多,往往需要拆分成很多小功能模块进行开发,每个小模块可以单独运行,就叫做微服务。

    JDBC/MyBatis[mai'beitis]

    JDBC,Java DataBase Connectivity即Java和数据库的连通工具。通过这个标准可以方便的控制和操作数据库。
    MyBatis也是一个用来操作数据库的数据持久层框架,但它比JDBC更简单更好用,行业应用也越来越广泛。

    Spring Data['detə]

    一个用于简化数据库访问,并支持云服务的开源框架。其主要目标是使得对数据的访问变得方便快捷。

    微服务

    微服务架构是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的管理。它的主要作用是将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持,。

    Dubbo['dʌbəu]

    Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用开源高性能的 实现服务的输出和输入功能,可以和 Spring框架无缝集成。

    消息队列

    消息队列是指信息在传输过程中保存信息的容器。
    消息队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。
    消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性等问题。
    使用较多的消息队列有ActiveMQ ['æktɪv],RabbitMQ['ræbɪt],Kafka['ka:fka:]。

    大数据技术

    大数据,big data,指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    Hadoop[ha'du:p]

    Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
    分布式系统是指运行在网络上台计算机之上的软件和系统,与我们熟悉的windows只运行在单个计算机上不同。

    HDFS/MapReduce[mæp rɪ'dʊs]

    Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。

    HDFS

    Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件上的分布式文件系统。它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。

    MapReduce[mæp rɪ'dʊs]

    MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。
    并行运算指一次执行多个指令的算法,经常是指在分布式系统上多台计算机多个CPU同时并发执行计算。

    Hive[haɪv]

    Hive是基于Hadoop的一个数据仓库工具,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

    HBase[eɪtʃ beɪs]

    HBase是一个分布式的开源数据库。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。
    结构化数据一般是指类似Excel表这样的结构,比如word文档、图片、视频就是非结构的。

    Storm[stɔːm]

    Storm用于在分布式系统上实现实时处理消息并更新数据库,也可以用于对数据流做连续查询,一边计算,一遍把结果输出给用户。
    Hadoop主要是处理一批数据,对时效性要求不高,需要处理就提交一个工作任务,而Storm时效性更高,比如实时录音录像、数据更新等。

    Storm核心组件

    Storm核心组件有主节点、从节点、进程、线程、协调服务等。

    Zookeeper

    分布式协作服务。是Hadoop和Hbase的重要组件。

    Hive[haɪv]

    Hive是基于Hadoop的一个数据仓库工具,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

    Pig[pɪɡ]

    与Hive类似,也是一个数据分析工具,常用于用于检索和分析数据量较大的数据集。

    Spark[spɑːk]

    Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是,Spark更加快速,能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

    Sqoop[skup]

    一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(如MySQL)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

    Flume[fluːm]

    一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。

    Mahout[mə'haʊt]

    一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。

    Yarn[jɑn]

    一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度。

    相关文章

      网友评论

        本文标题:Java开发相关术语解析

        本文链接:https://www.haomeiwen.com/subject/ojtzeqtx.html