![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 78
JTZ001
大数据工程师
展开
-
JavaScript BOM编程
一、BOM概述1.1、什么是BOM BOM是browser object model的缩写,简称浏览器对象模型。 BOM提供了独立于内容而与浏览器窗口进行交互的对象。 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window。 BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性。 BOM缺乏标准,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C。 BOM最初是Nets原创 2021-12-03 10:13:24 · 353 阅读 · 0 评论 -
SSM框架整合
SSM框架整合SSM框架中包含Spring,SpringMVC,Mybatis。而Spring与SpringMVC都是Spring Framework的模块,无需整合。只需将Mybatis与Spring整合即可一、整合关注点Spring在web项目中的应用在web项目启动时,读取applicationContext.mxl配置文件,创建IOC容器使用连接池作为数据源直连数据源或Spring中的数据源(DriverManagerDataSource),连接效率太低。使用阿里旗下的德鲁伊连接池(原创 2021-05-12 13:25:38 · 142 阅读 · 1 评论 -
Logger日志使用教程
Java util Logger的使用步骤Java util Logger是java原生的日志生成工具,不需要另外引用类库,使用方便,学习简单,能够在小型应用中灵活使用。下面从实际应用角度,对Logger的使用步骤作出总结,以实现快速掌握。Logger的使用一般包括以下几个步骤:一、 定义全局的Logger,在不同的类中共用关键语句: Logger myLogger = Logger.getLogger("com.mycompany.myapp");方法参数是Logger的名称,当名称相同原创 2021-04-25 17:03:54 · 13239 阅读 · 1 评论 -
IDEA中安装activiti并使用
IDEA中安装activiti并使用1、IDEA中本身不带activiti,需要自己安装下载。打开IDEA中File列表下的Settings输入actiBPM,然后点击下面的Search…搜索点击Install 下载下载结束后应用保存,然后重启IDEA创建个文件夹右键new,点击BpmnFeil,然后取个名会出现界面鼠标左键拖拽StartEvent到界面上,同样再弄几个其他图标鼠标放到图标中心会变成黑白扇形,拖拽连线到另一个图标进行画图右键进行改名,把后缀改为.xml结原创 2021-04-23 15:53:28 · 668 阅读 · 0 评论 -
Activiti工作流案例介绍
Activiti基础知识什么是ActivitiActiviti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准,包括支持对象管理组(OMG),面对新技术的机遇,诸如互操作性和云架构,提供技术实现。创始人Tom Baeyens是JBoss jBPM的项目架构师,以及另一位架构师Joram Barrez,一起加入到创建Alfresco这项首次实现Apache开源许可的BPMN 2.0引擎开发中来。Activiti是一个独立运作和经营的开原创 2021-04-23 15:39:03 · 1355 阅读 · 0 评论 -
SpringCloud总结
SpringCloud总结内容技术梳理与架构整套开发技术栈以SpringCloud为主,单个微服务模块以SpringMVC+SpringBoot+Spring+MyBatis组合进行开发前端层,页面H5+thymeleaf/样式CSS3+Bootstrap/前端框架JQuery+Nodejs|Vuejs等负载层,前端访问通过Http或Https协议到达服务端的LB,可以是F5等硬件做负载均衡,还可以自行部署LVS+Keepalived等(前期量小可以直接使用Nginx)网关层,请求通过LB后,原创 2021-04-20 09:44:08 · 101 阅读 · 0 评论 -
SpringCloud分布式配置中心
分布式配置中心一、Config分布式配置中心概述1. 分布式系统面临的配置问题到目前有多个微服务模块(9527/8001/8002/8003/7001/7002/7003…),每个微服务中都一个对应的yml文件,那么要是在公司中有上百个微服务项目,这样是不是给运营维护带来了非常大的压力了?微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以一套集中式的、动态的配置管理设施是必不可少的。SpringClo原创 2021-04-20 09:41:51 · 514 阅读 · 0 评论 -
Zuul路由网关
08Zuul路由网关一、Zuul路由网关概述源码地址:https://github.com/Netflix/zuulZuul包含了请求的路由和过滤两大主要的功能:路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一的路径入口基础。通俗的说就“保安”。过滤器功能则负责对请求的处理过程进行干预,是实现请求校验、服务聚合等功能的基础。Zuul与Eureka进行整合,是将Zuul自身注册为Eureka服务治理下的应用,同时Eureka中获取其他的微服务的信息,也即以后微服务的访问都是通过Z原创 2021-04-20 09:26:47 · 395 阅读 · 0 评论 -
Hystrix熔断器
Hystrix熔断器一、分布式系统面临的问题复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地失败。1. 服务雪崩效应多个微服务之间调用的时候,微服务与微服务之间有所依赖和调用,形成链路结构,这就是所谓的“扇出”。如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务的调用就会占用越来越多的系统资源,进而引起系统崩溃,所谓的“雪崩效应”。2. 服务雪崩的过程一组简单的微服务依赖关系,微服务A和微服务B服务同时依赖于基础微服务C,基础服务C又调用了微服务原创 2021-04-16 15:13:46 · 193 阅读 · 0 评论 -
Feign远程调用
Feign远程调用一、Feign概述官网:http://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-feignFeign是一个声明性的Web服务客户端。使用Feign能让编写Web服务客户端变得更容易。Feign的使用方法是定义一个接口,然后在上面添加注解,同时也支持JAX-RS标准的注解。Feign还支持可插拔编码器和解码器。源码可以参考https://github.com/OpenFeign/feignSpri原创 2021-04-16 15:07:22 · 520 阅读 · 0 评论 -
Ribbon负载均衡
05Ribbon负载均衡一、Ribbon概述1. Ribbon是什么Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。可参考github资料:https://github.com/Netflix/ribbon/wiki通俗的讲:如同大型超市中的多个收银台,客户在结账的时候肯定会排人少的那个收银台,这个就是客户端的负载均衡就是Ribbon做的事情简单的说,Ribbon是Netflix发布的开源的项目,主要功能是提供客户端的软件负载均衡算法,将N原创 2021-04-16 15:04:32 · 270 阅读 · 0 评论 -
Eureka服务注册与发现
04Eureka服务注册与发现一、Eureka服务注册与发现简介Eureka是Netflix的一个子模块,也是核心模块之一。Eureka是一个基于REST(Representational StateTransfer)的服务,用于定位服务,以实现中间层服务器的负载平衡和故障转移。服务注册与发现对于微服务架构来说是非常重要的,有了服务发现与注册,只需要使用服务的表示符,就可以访问到服务,而不需要修改服务调用的配置文件。功能类似于阿里的dubbo的注册中心,如Apache的ZooKeeper。N原创 2021-04-15 13:35:59 · 689 阅读 · 0 评论 -
Rest微服务搭建案例工程模块
03Rest微服务搭建案例工程模块一、微服务架构模块1. 总体介绍使用SpringBoot+SpringMVC+Mybatis+Mysql技术,以dept部门做一个微服务的案例。Consumer消费者(Client)通过Rest调用Provider提供者(Server)提供的服务。Maven的分包分模块的架构,一个父工程(Project)带着多个模块(Module)子模块2. 工程的结构springcloud-dept---------------父工程(Project)springc原创 2021-04-15 13:21:49 · 130 阅读 · 0 评论 -
Mybatis入门操作
一、Mybatis入门1. jdbc编程问题总结1.1 jdbc程序@Overridepublic void insertUser(User user){ Connection conn = DBUtil.getConnection(); PreparedStatement stmt = null; String sql = "insert into sys_user(NAME,ACCT,PWD,CRTIME,UPTIME) values(?a,?c,?d,now(),n..原创 2021-04-15 11:26:28 · 567 阅读 · 0 评论 -
MyBatis查询缓存
七、查询缓存1. 什么是查询缓存MyBatis提供查询缓存,用于减轻数据库压力,提高数据库性能MyBatis提供一级缓存,和二级缓存一级缓存是SqlSession级别的缓存。在操作数据库时需要构造SqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的SqlSession之间的缓存数据区域(HashMap)是互相不影响的二级缓存是mapper级别的缓存,多个SqlSession去操作同一个mapper的sql语句,多个SqlSession可以共用二级缓存,二级缓原创 2021-04-15 11:25:57 · 883 阅读 · 0 评论 -
PageHelper分页插件
八、PageHelper分页插件1. 导入分页插件jar包maven依赖配置<!-- PageHelper --><dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.2</version></dependency>原创 2021-04-15 11:25:14 · 547 阅读 · 0 评论 -
POI-Excel导入导出开发文档
POI-Excel导入导出开发文档此处导入导出功能为集成Jeecg-boot开源项目中的功能,在此基础上移植到项目中。1、在pom.xml中引入添加依赖 <dependency> <groupId>org.jeecgframework</groupId> <artifactId>autopoi-web</artifactId> <version>1.0.1</version> </depe原创 2021-04-14 10:23:57 · 628 阅读 · 0 评论 -
POI-Excel导入导出使用文档
POI-Excel导入导出功能介绍界面展示导出功能展示直接点击导出按钮会把全部数据导出到Excel中其中导出的文件名称默认为类名称导出的Excel格式为导入功能展示打开刚才导出的Excel,可以直接导入也可以复制几行数据做修改导入点击导入点击确定继续导入Excel,点击取消刷新展示数据红框部分为新导入的数据**注意:**导入Excel时需要以导出的Excel为模板,否则会出现格式不匹配的情况。...原创 2021-04-14 10:22:28 · 89 阅读 · 0 评论 -
Apache POI工作簿
Apache POI工作簿此处的术语“Workbook”指的Microsoft Excel文件。本章完成后,您将能够创建新的工作簿,并可以使用Java程序打开现有工作簿。此处的术语“Workbook”指的Microsoft Excel文件。本章完成后,您将能够创建新的工作簿,并可以使用Java程序打开现有工作簿。创建空白工作簿下面简单的程序来创建一个空白Microsoft Excel工作簿。import java.io.*;import org.apache.poi.xssf.usermod原创 2021-04-14 10:17:52 · 178 阅读 · 0 评论 -
Java中使用Redis
四、Redis命令1. key的操作在redis里面,除了”\n”和空格 不能作为名字的组成部分,其他字符都可以作为key的名字的组成部分。名称的长度不限制。常见命令列表:命令解释exists key测试指定key是否存在del key1 key2 … keyN删除给定的keytype key返回给定key的value类型keys pattern返回匹配指定模式的所有keyrename oldkey newkey改名字dbsize返回当前原创 2021-04-13 13:36:09 · 5561 阅读 · 0 评论 -
Nginx安装配置
nginx入门一、负载均衡负载均衡(Load Balance)其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过500的并发数会出现Tomcat不能响应新的请求的情况,严重影响网站的运行。同时如果访问量非常大的情况下,Tomcat的线程数会不断增加。因此会占据大量内存,严重时出现内存溢出的现象,这时需要重启To原创 2021-04-13 09:11:37 · 217 阅读 · 0 评论 -
nginx动静分离
七、nginx动静分离1. 什么是动静分离动静分离,通过中间件将动态请求和静态请求进行分离。减少不必要的请求消耗,同时能减少请求的延时。动静分离只有好处: 动静分离后,即使动态服务不可用,但静态资源不会受到影响。一般来说,将静态资源部署在nginx上,当一个请求来的时候,如果是静态资源的请求,就直接到nginx配置的静态资源目录下面获取资源,如果是动态资源的请求,nginx利用反向代理的原理,把请求转发给后台应用去处理,从而实现动静分离。2. 页面中添加静态资源的使用在每一个read.jsp页原创 2021-04-13 09:08:02 · 156 阅读 · 2 评论 -
RocketMQ+Spring Cloud Stream环境搭建
7、RocketMQ+Spring Cloud Stream环境搭建7.1 整体结构示意图生产者与消费者携带topic连接nameserver,nameserver通过topic(主题)返回broker,生产者消费者直接连接brokerindex.html通过ajax提交数据到producer并通过websocket(携带唯一标识)连接到consumer,生产者接收到消息提交到broker,消费者或者消息并处理,处理完成通过websocket通知前端index.html页面。7.2 工程搭建首原创 2021-04-09 14:04:19 · 428 阅读 · 0 评论 -
SpringCloud概述
SpringCloud概述一、SpringCloud是什么简化的分布式系统。构建分布式系统不仅复杂且容易出错。Spring Cloud为最常见的分布式系统模式。提供了简单易用的编程模型,帮助开发人员构建弹性,可靠和协调的应用程序。Spring Cloud构建于Spring Boot之上,使开发人员可以轻松入门并快速提高工作效率。Spring Cloud提供一套分布式的微服务架构一站式的解决方案,是各个微服务架构技术的集合体。Spring Cloud利用SpringBoot开发的便利性,巧妙的简化原创 2021-04-08 00:09:48 · 109 阅读 · 0 评论 -
微服务概述
01微服务概述一、什么是微服务马丁.福勒(Martin Fowler)论文网址:https://martinfowler.com/articles/microservices.html(中文)用来描述将软件应用程序设计为独立可部署服务套件的特定方法。就目前而言,虽然对于微服务业界并没有一个统一的、标准的定义,但是围绕着业务能力、自动部署、端点中的智能以及语言和数据的分散控制,围绕着组织有一些共同的特征。简而言之架构风格是一种将单个应用程序开发为一组小服务的方法,每个服务运行在自己的流程中,并且与轻原创 2021-04-08 00:11:06 · 157 阅读 · 0 评论 -
Java NIO Channel
1、ChannelJava NIO的通道类似流,但又有些不同: 既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。 通道可以异步地读写。 通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。 正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mvaslhbE-1617776150409)(image/1.png)]Channel的实现: 这些是原创 2021-04-08 00:10:52 · 94 阅读 · 0 评论 -
Java NIO 概述
1、概述 现在使用NIO的场景越来越多,譬如 Netty、Mina、xSocket、Grizzly等优秀框架。学习和掌握NIO技术已经不是一个JAVA攻城狮的加分技能,而是一个必备技能。 java.nio全称java non-blocking IO,是指jdk1.4 及以上版本里提供的新api(New IO) ,为所有的原始类型(boolean类型除外)提供缓存支持的数据容器,使用它可以提供非阻塞式的高伸缩性网络。 Sun 官方标榜的特性如下: 为所有的原始类型提供(Buffer)缓存支持。字原创 2021-04-08 00:10:15 · 103 阅读 · 0 评论 -
Mybatis代码生成器
第五章 代码生成器1. 代码生成器简介AutoGenerator是MyBatis-Plus的代码生成器,通过AutoGenerator可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。2. 添加依赖MyBatis-Plus从3.0.3之后移除了代码生成器与模板引擎的默认依赖,需要手动添加相关依赖2.1 添加代码生成器依赖<dependency> <groupId>com.b原创 2021-04-07 13:19:52 · 124 阅读 · 1 评论 -
Mybatis插件扩展
第五章 插件扩展1. Mybatis插件机制简介1.1 插件机制Mybatis通过插件(Interceptor)可以做到拦截四大对象相关方法的执行,根据需求完成相关数据的动态改变。ExecutorStatementHandlerParameterHandlerResultSetHandler1.2 插件原理四大对象的每个对象在创建时,都会执行interceptorChain.pluginAll(),会经过每个插件对象的 plugin()方法,目的是为当前的四大对象创建代理。代理对象就可原创 2021-04-07 13:18:32 · 419 阅读 · 0 评论 -
MybatisPlus条件构造器
第四章 条件构造器1. 说明MybatisPlus通过Wrapper(条件构造器)或者来让用户自由的构建查询条件,简单便捷,没有额外的负担,能够有效提高开发效率如果第一个参数为:boolean condition表示该条件是否加入最后生成的sql中以下出现的泛型Param均为Wrapper的子类实例(均具有AbstractWrapper的所有方法)方法参数中出现的R为泛型,在普通wrapper中是String方法参数中的R column均表示数据库字段,当R为String时则为数据库字段名称(原创 2021-04-07 13:17:30 · 1878 阅读 · 0 评论 -
Mybatis-Plus CRUD操作
第三章 CRUD操作1. 实体类1.1 定义实体类public class Person { private Integer id; private String lastName; private Integer age; private Integer gender; private String email; //get,set方法省略}1.2 实体类上使用的注解1.2.1 @TableName描述:表名注解属性类型必须指定原创 2021-04-07 13:16:35 · 965 阅读 · 0 评论 -
MyBatisPlus集成MP
第二章 集成MP1. 前置知识MybatisSpringMaven2. 准备数据库-- 创建库create database mp;-- 使用库use mp;-- 创建表create table tmp_person( id int(11) primary key auto_increment, last_name varchar(30), age int, gender char(1), email varchar(50));-- 插入原创 2021-04-07 13:13:39 · 174 阅读 · 0 评论 -
MyBatisPlus介绍
第一章 MyBatisPlus介绍1. 简介MyBatisPlus(简称MP)是一个MyBatis的增强工具包,只做增强不做改变。为简化开发工作、提高生产率而生。我们的愿景是成为Mybatis最好的搭档,就像魂斗罗中的1P、2P,基友搭配,效率翻倍。2. 特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响损耗小:启动即会自动注入基本CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分CRUD原创 2021-04-07 13:11:37 · 342 阅读 · 0 评论 -
Linux搭建JavaWeb环境
四、搭建Javaweb环境1. JDK1.1 卸载openJDKCentos7一般都会带有自己的openJDK,但是OpenJDK只包含最精简的JDK,源代码不完整,所以一般都卸载后安装Oracle JDK。# 显示现有jdk的RPMrpm -qa | grep jdk# 卸载openJDKrpm -evh --nodeps java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64rpm -evh --nodeps java-1.8.0-openjdk-原创 2021-04-07 13:07:36 · 130 阅读 · 0 评论 -
Android Gradle介绍
1、Gradle简介Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,目前也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置。面向Java应用为主。当前其支持的语言限于Java、Groovy、Kotlin和Scala,计划未来将支持更多的语言。2、Gradle环境搭建2.1、Gradle下载https://services.gradle.or原创 2021-04-02 13:59:49 · 264 阅读 · 0 评论 -
maven项目集成hive
第一步pom.xm导入相关配置信息 <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId> <version>2.3.8</version> <exclusions> ...原创 2021-02-19 17:32:15 · 1883 阅读 · 1 评论