java高级技术梳理

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_43371556/article/details/98475588

序言

学习完java中高级阶段想对所学习到的知识进行梳理,借此回顾自己所学习到的知识

内容

环境搭建

在这一阶段,首先是安装了虚拟机. 在安装虚拟机过后,学习了以后,就开始安装在虚拟机上安装jdk, tomcat, mysql .,将这些软件安装好后,我们算是把虚拟机运行环境搭建完毕了.
Linux环境下安装(jdk\mysql\tomcat)

高级技术

maven技术

虚拟机环境搭建完毕之后,首先学习的了Maven, 用于对项目进行管理和构建 ,因为要使用Maven, 所以要在eclipse整合maven环境 ,在使用maven之前,首先要进行下载maven的软件包 ,并通过配置文件setting.xml进行远程仓库和镜像仓库的配置 .如果都配置成功,那么基础环境就搭建完毕了.

maven项目分为pom 项目, jar项目 , war项目 .pom项目常作为父项目, 进行 jar包进行统一管理 ;特别是版本控制 ; jar项目用于将该项目打包成jar包使用 ; war项目 , 也是最常用的项目 , 用于进web项目的开发.

maven项目的关系有三种, 依赖, 继承和聚合. 添加被依赖的坐标,即可获得被依赖的jar 包与相关的类(通过创建该类的对象获取或者直接导入) ,这就是依赖关系 . 继承关系用于描述父子项目关系 ,子项目继承父项目,也就是继承pom项目 ,被继承后,通过groupid 与artifactId 即可完成对坐标的导入 .聚合项目用于对一个模块进行更细致的划分, 降低耦合度.

Maven用常用的插件有: 全局编译插件, 配置在setting.xml中,用于规定运行maven所需要的jdk的版本 ;资源拷贝插件, 配置在相关项目的pom.xml 文件中, 用于对项目打包时对xml 文件也进行拷贝 ; tomcat插件, 同样配置在pom.xml .用于配置运行maven项目所需要的服务器的环境 .打包插件 ,用于将服务进行打包 ,发布到虚拟机或者网络上的注册中心上面 ,进行项目部书 ,一般配合资源拷贝插件一起使用!!!
Maven的安装与下载以及讲解

zookeeper技术

zookeeper技术, 它是一种分布式的开源的程序协调服务 .它是的存储结构是树形结构, 包含四种类型的节点:持久化节点, 持久化顺序节点,临时节点和临时编号节点. 它的作用分为 :配置管理,名字服务,分布式锁与集群管理.在这一阶段的学习中,我们主要用到的是集群管理, 作用是用于提供常用软件的集群管理. 在集群管理中,引入了领导者-学习者-客户端的模型. 领导者用于进行集群内部的投票的发起和决议并根据决议结果更新系统状态. 学习者分为跟随者和观察者, 跟随者参与集群内部投票决议并向客户端返回结果. 观察者不参与系统投票,可以获取客户端的连接,它存在的目的是拓展系统 ,提高读取速度. 客户端则用于发起请求.
zookeeper技术

Dobbo技术

Dobbo技术, 他是一个高性能的服务框架 ,用于实现服务的输入和输出(服务注册和服务发现)。 它是基于面向服务的架构(SOA)与远程过程调用(RPC)的架构而生成的, 由此引入了提供者-消费者模型 。这个模型含有五个角色:分别是提供者、容器、消费者、注册中心、监控中心。 提供者用于提供服务;容器就是在dubbo技术中的服务端所依赖的容器,一般指的是spring容器;消费者用于消费服务;注册中心用于发布和订阅服务,;监控中心用于监控服务端(Provider)和消费端(Consumer)的使用数据。同时dubbo可以与zookeeper、redis进行整合。
Dobbo技术

vsftpd技术

vsftpd技术, 它是一块开源的ftp服务器软件 ,对linux上的ftp协议, 即对文件传输协议进保护. 增强文件传输的安全性与效率性. 而文件传输就涉及了上传和下载, 通过与java的整合 ,来进行从虚拟机上文件的上传和下载 , 用户上传时,通过负载均衡服务器将图片上传到 ftp服务器上,它是一个专门用于存储图片的服务器,然后通过nginx反向代理, 使我们方便对文件的访问和下载 ,从而不会受限于单体接口图片存储的影响
VSFTPD技术

nginx技术

nginx技术, 用于配置正向代理和反向代理 . 正向代理,代理在客户端,服务端不知道实际发起请求的客户端 反向代理,代理在服务端, 客户端不知道实际提供服务的客户端. 反向代理常用于分摊服务器的压力, 即实现服务器的负载均衡. 通过配置虚拟主机 .,实现一台主机对外提供多个web服务 ,且他们之间互不影响 . 虚拟主机的配置分为基于基于ip ,基于端口 ,基于域名的配置 .
nginx技术

Redis技术

Redis技术, Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它支持的数据类型有五种,分别是String(get/set ket-value)、Hash(无序,hget/hset key-field-value)、List(有序 l/r/push/pop key value)、Set(无序 sadd/rem key-values)、SortSet(有序zadd/zrem key-value)。他可以与java进行整合,但需导入jedis的jar包 .在存入对象类型数据时 ,需要将对象转换成 json格式才能存放到redis数据库中 .在项目中, 通常使用Redis技术进行单点登录时用于信息的存储.
Redis技术

solr技术

solr技术,它是一种面向企业搜索的web应用。采用 Java5 开发,基于 Lucene 的全文搜索服务器,是一款非常优秀的全文检索引擎。 它采用倒排索引,正排索引就是抽取文章中的关键字,以关键字为索引依据 , 倒排索引就是取出数据中的词条,以词条作为 key,对应数据的存储位置作为 value. solr 使用时会首先对文档数据进行分词 ,创建索引库和文档数据库。所谓的分词是指:将一段字符文本按照一定的规则分成若干个单词。 另外他可以与java进行整合,但要注意导solrJ的jar包
Solr技术
Solr在分布式环境中的应用案例

ActiveMq技术

ActiveMq技术,ActiveMQ 是Apache出品,最流行的,能力强劲的,基于JSM的(java消息服务)开源消息总线。在学习时需要了解JMS模型:点对点模型与与发布订阅模型。点对点模型就是生产者发送一条消息到 queue,只有一个消费者能收到;消息订阅模型就是发布者发送到 topic 的消息,只有订阅了 topic 的订阅者才会收到消息。

他的原理是创建了一个消息队列 ,消息队列的主要特点是异步处理,主要目的是减少请求响应时间和解耦。所以主要的使用场景就是将比较耗时而且不需要即时(同步)返回结果的操作作为消息放入消息队列。同时由于使用了消息队列,只要保证消息格式不变,消息的发送方和接收方并不需要彼此联系, 也不需要受对方的影响,即解耦合。常用于用户注册、订单处理以及流量消峰等。它可以与java整合,但是需要导如相关的jar包
ActiveMQ技术

JsonP技术

JsonP技术,他是 json 的一种 “使用模式”,可以让网页从别的域名(网站) 获取资料,即跨域读取数据。
为什么我们从不同的域(网站)访问数据需要一个特殊的技术(JSONP )呢?这是因为同源策略。同源是指"协议+域名+端口"三者相同。跨域有很多种解决方案,但是JsonP是其中的佼佼者。但他的缺点也很明显,就是只支持get方式的请求。他可以与java进行整合,但是需要导入jackson-databind的jar包,因为他只支持json类型的数据的跨域
JsonP技术

HttpClient技术
HttpClient 是用来提供高效的、最新的、 功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。 支持多种类型的请求,可以与java进行整合,但是需要导HttpClient的jar包
HTTPClient技术

MyCat技术

MyCat技术,MyCat 是目前最流行的基于 java 语言编写的数据库中间件,其核心功能是分库分表。配合数据库的主从模式还可实现读写分离. 要尽可能的掌握主从数据库的搭建 , 需要重点掌握的一些技术关键词如下:水平切分、垂直切分、逻辑库、逻辑表、主从备份、读写分离等。
Mycat技术
MyCat练手项目以及简单分页功能实现

技巧合集系列

常用jar包坐标介绍

在学习完毕之后又进对常用的jar包坐标进行了梳理方便以后使用
Maven项目中常用jar包的坐标以及用法

基于RPC实现服务的注册、发布和消费

介绍了基于RMI的案例和Dobbo实现RPC服务的发布与消费和集群服务的消费,个人感觉是SpringBoot中Eureka注册中心客户端与服务端的前身
基于RPC实现服务的注册、发布和消费

逆向工程使用

逆向工程,电商项目的根本, 它的作用是根据数据库表以及表与表之间的关系自动生成对应的实体类以及Mapper接口以及映射文件并自动生成几乎我们所能用到的所有的Curd的方法, 但是它的缺点是只能进行单表操作.
MyBatis Generator( 逆向工程以及源码分析 )

分布式项目环境搭建

在学习了电商项目的时候,抽时间总结了基于Dubbo和zookeeper注册中心的分布式环境搭建
手把手教你搭建分布式项目环境

分布式项目服务发布

在学习了电商项目后, 抽时间总结了在虚拟机中发布基于Dobbo的分布式项目以及使用nginx为其进行服务的负载均衡的代理
基于Dubbo的服务提供者与消费者的发布(在虚拟机中)以及使用nginx对项目进行负载均衡优化

结语

学习了那么多, 有感而发写了这些东西,希望多少对自己的技术有点提升吧。本人虽然老是忘事,但是唯一坚信的便是,只要付出便会有回报。希望能够将这些东西化为己用,今后道路漫漫,这篇博文应该会持续更新,伴我成长!
附本人标准结尾: 岁月虽静好,仍需负重行~~~

猜你喜欢

转载自blog.csdn.net/qq_43371556/article/details/98475588