一.定义 1.起源 来源:Roy Fielding的博士论文. 目的:理解和评估以网络为基础的应用软件的架构设计,得到一个功能强.性能好.适宜通信的架构. 定义:一种实现软件通信的架构风格.设计风格,而不是标准:提供了一组设计原则和约束条件. 用处:提供一种架构风格,目前也有很多相关实现,我们可以理解这种风格,借助这些实现来实现一个良好通信软件架构. 2.定义 REST的名称解释: SOAP:简单对象访问协议(英文:Simple Object Access Protocol,简称SOAP). R…
更好阅读体验:Java 集合详解 | 一篇文章搞定Java 三大集合 好看的皮囊像是一个个容器,有趣的灵魂像是容器里的数据.接下来讲解Java集合数据容器. 文章篇幅有点长,还请耐心阅读.如只是为了解决某个疑问,可以阅读目录来查找你所需的内容. 开门见山:「Java集合框架图」 1.Iterator(迭代器) 迭代器的基本功能就是遍历集合中的所有元素. Iterable 接口组合了迭代器Iterator,通过方法:Iterator iterator(); 来获取迭代器. Collection 和…
问题:统计一篇文章中单词出现的次数 思路: (1)将文章(一个字符串存储)按空格进行拆分(split)后,存储到一个字符串(单词)数组中. (2)定义一个Map,key是字符串类型,保存单词:value是数字类型,保存该单词出现的次数. (3)遍历(1)中得到的字符串数组,对于每一个单词,考察Map的key中是否出现过该单词,如果没出现过,map中增加一个元素,key为该单词,value为1(第一次出现): 如果,在map的key中发现了该单词,则通过key找到对应的value(单词出现的次数)…
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文基于<Maven 实战>一书进行总结和扩展,大家也可以自行研读此书. 一.Maven简介 1.1.什么是Maven Maven是Apache的一个开源工具,用于项目构建.依赖管理和项目信息管理: 使用Maven前的做法: 项目构建:编译.运行单元测试.生成文档.打包.部署等工作 依赖管理:我们使用第三方类库时,以依赖的方式引入到项目中:当依赖增多,会出现版本不一致.版本冲突等问题 项目信息管理:项目信息(如描述.开发者列…
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文是对<SPRING实战第4版>的总结,大家也可以去仔细研读该书 [------------------------Spring 核心------------------------] 一.Spring的由来和简介 1.1.Spring的使命:简化Java开发 几个概念: POJO:Plain Old Java Object,普通的Java对象.指只有属性.get.set等方法,不包含复杂逻辑的Java类. JavaBea…
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 一.Java的历史与演变 目的:为完全了解Java,需要理解Java的诞生原因.成型动力以及他继承的思想. 计算机语言的创新与发展的原因:适应环境和用途的变化:实现编程艺术的完善和提高. 1.1.Java的家世 Java大量特性从C和C++继承过来. C语言的诞生 C语言前,BASIC.COBOL.FORTRAN这几种编程语言没有遵循结构化原则设计,依赖GOTO作为程序控制手段:Pascal虽是结构化语言,但不是针对高效率设计…
前言 Mybatis:一个流行的半自动ORM框架. Mybatis-Plus:一个Mybatis的增强工具,在Mybatis的基础上只做增强不做改变,为简化开发.提高效率而生. 本文使用的版本:mybatis-plus 3.0.5 本文使用的环境:Spring Boot(在其他环境下使用请参考官方文档).SQLServer 2008 官方文档:http://mp.baomidou.com 我的例子:https://gitee.com/Louisyzh/MyBatis-Plus-Demos.git…
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文主要总结于刘增辉的<MyBatisc从入门到精通>一书,有兴趣的朋友可以自行研读 建议仔细研读官方文档: http://www.mybatis.org/mybatis-3/zh/ http://www.mybatis.org/spring/zh/ http://www.mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/ 一.MyBatis简…
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文内容大部分是翻译和总结官方文档,可以到https://docs.spring.io/spring-boot/docs查看(此地址默认为最新版本的Spring Boot的文档,需要其他版本也可以在官网上查找) 此版本来自于https://docs.spring.io/spring-boot/docs/2.0.3.RELEASE/reference/htmlsingle/ 26.日志 简介: Spring Boot所有内部日志…
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文是对<Spring Boot 实战第4版>的总结,大家也可以去仔细研读该书 注意,书中使用的Spring Boot版本并不是2.0,但是我这里的代码是基于Spring Boot2.0的,有一些地方会有出入 一.入门 1.1.Spring Boot的出现 Spring的发展与现状 Spring诞生时是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品 Spring通过依赖注…
前言 Gradle是什么: Gradle提供了一个域特定语言(DSL),用于描述构建 它使用 Groovy 语言,使其更容易来形容和构建 Gradle 中的每一个构建脚本使用UTF-8进行编码保存,并命名为 build.gradle Gradle的作用: 构建项目:通过脚本来管理项目的依赖.关系等 处理任务:例如编译类.创建Jar.产生Javadoc或发布归档文件库等 一.安装与配置 安装前提:安装JDK(我的版本是1.8) 下载地址:https://gradle.org/install/(我下…
一.使用技巧 1.1.配置Maven 打开File-Settings打开设置界面 1.2.配置JDK JDK可以设置默认版本,也可以设置针对某个项目 分别对应File-Other Setting-Default Project Structure和File-Project Structure 1.3.修改字体 打开File-Settings打开设置界面的Font设置页即可 1.4.使用Idea+Git+码云进行版本管理 1.4.1.首先到Git官网下载Git安装包,直接下一步即可安装完成 1.4…
基于CentOS 一.安装[暂略] 二.使用和登录[赞略] 三.使用yum CentOS自带yum,这里暂时不介绍安装方式 四.使用yum安装JDK 1.检查系统是否有安装open-jdk rpm -qa |grep java rpm -qa |grep jdk rpm -qa |grep gcj 如果没有输入信息表示没有安装. 如果安装可以使用rpm -qa | grep java | xargs rpm -e --nodeps 批量卸载所有带有Java的文件  这句命令的关键字是java 2…
1.简介 STS,是一个自定义版本的Eclipse,她可以方便地用来与各种Spring项目进行交互协作,建议采用Spring进行开发的时候,可以尝试使用这个IDE 2.下载与安装 登录https://spring.io/点击官网底部Tools按钮,即可看见软件下载地址 解压后打开即可使用 3.配置 配置JDK 选择自己本地的JDK地址即可 配置Maven 选择Maven的配置文件,然后点击Update Setting,即可自动刷新本地仓库地址 4.创建一个Web项目 后面的内容都是基于Maven…
Eclipse中使用SVN 1.打开资源库视图 https://www.cnblogs.com/liangguangqiong/p/7965770.html 一.编辑器方面 格式化取消自动换行:打开Eclipse的Window菜单,然后Preferences->Java->Code Style->Formatter->Edit/Show(根据不同版本可用的按钮会不一样) ->Line Wrapping->Maximum line width:由80改成800就行了. 手…
一个例子: 公司的SVN代码中,含有target等文件夹,每次生成运行后,有很多文件打扰签入 处理方案: 1.CheckOut时,点击ChooseItems选项,不要选择这些target文件夹(有点麻烦,可能可以CheckOut后修改,但是暂时找不到修改方式) 2.右键,SVN,setting,加入*.release(有一个文件夹叫.release),那么增加.release文件夹内容在non-versioned状态时,不会显示在签入界面 基于CentOS搭建SVN服务器并管理代码 查找SVN库…
数据库优化手段: 1.查看数据库性能参数 2.分析查询语句 3.添加索引 4.使用连接代替子查询 5.优化数据库结构 字段很多的表分解成多个表 经常联合查询的表,建立中间表 冗余字段 优化插入记录的速度 分析表.检查表.优化表 6.配置参数.优化硬件…
Sun官方定义的Java技术体系: Java程序设计语言 各种硬件平台上的Java虚拟机 Class文件格式 Java API类库 来自商业机构和开源社区的第三方Java类库 JDK(Java Development Kit,Java开发套件):Java程序设计语言+Java虚拟机+Java API类库 JRE(Java Runtime Environment,Java运行时环境):Java API类库中Java SE API子集+Java虚拟机 JVM(Java Virtual Machine…
一.安装 1.使用yum本地安装 1.1.使用yum安装JDK a.检查系统是否有安装open-jdk rpm -qa |grep java rpm -qa |grep jdk rpm -qa |grep gcj 如果没有输入信息表示没有安装. 如果安装可以使用rpm -qa | grep java | xargs rpm -e --nodeps 批量卸载所有带有Java的文件  这句命令的关键字是java b.检索yum中包含java的列表 yum list java* c.检索1.8的列表…
一.持续集成.持续交付.DevOps概念,关系等 持续集成(Continuous integration/CI) 持续交付(Continuous delivery/CD) 持续部署() 持续 (Continuous):不断的获取反馈,响应反馈.集成 (Integration):编译.测试.打包:部署 (Deployment):应用组件或基本设施的代码或配置变更在产品环境生效称为“部署”:发布 (Release):具有业务影响的功能变化对最终用户可见称为“发布”.交付 (Delivery):可以理…
本文总结自官方文档http://cloud.spring.io/spring-cloud-static/spring-cloud-stream/2.1.0.RC3/single/spring-cloud-stream.html 一.Spring的数据集成简史 二.一个最简单的实例 三.2.0版本的新特性 四.Spring Cloud Stream介绍 Spring Cloud Steam内容简介: 一个框架,用于构建消息驱动的微服务应用程序: 构建在SpringBoot之上: 使用Spring…
注意!!注意系统内存,一开始我使用阿里云1核1G系统,各种问题,搞了几天,原来是内存不足 一.使用VM虚拟机,安装CentOS7.X系统,并安装和使用Docker 1.1.虚拟机安装CentOS7.X系统 1.登录官网https://www.centos.org/download/下载 本次下载的版本是CentOS-7-x86_64-DVD-1804.iso 2.安装虚拟机 3.安装系统 1.2.安装CentOS7.X,并能连同外网 虚拟机中安装CentOS7.X,参考上面步骤或http://b…
一.第一步 1.什么是OAuth2,为什么应该了解 应用程序请求资源所有者进行认证,并接受tokens来访问这些资源应用程序不是以控制资源的“人”的角度去访问资源,而是用许可证举例,备用钥匙,车主主钥匙就像“人”,拥有他的所有权限:但是备用钥匙,虽然不是“人”,但是也代表了一些有限功能,仍然能实现把开关车门的权限. 重点是token 例子:有2个服务,图片打印,图片存储,运行在2个不同的电脑,是2个不同的程序,他们之间通过API来管理而2边的帐号管理是分开的我们可以使用OAuth2,来解决这个问…
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文基于<Spring5高级编程>一书进行总结和扩展,大家也可以自行研读此书. 十一.任务调度 任务调度主要由三部分组成 : 任务:即需要在特定时间运行或定期运行的业务逻辑块 触发器:指定任务应该执行的条件 调度程序:根据来自触发器的信息执行任务 本章涵盖以下主题: Spring中的任务调度:讨论Spring如何支持任务调度,重点介绍Spring3中引入的TaskScheduler抽象.此外,还会介绍调度场景,如固定间隔调度…
1. 线程是什么 操作系统支持多个应用程序并发执行,每个应用程序至少对应一个进程 ,彼此之间的操作和数据不受干扰,彼此通信一般采用管道通信.消息队列.共享内存等方式.当一个进程需要磁盘IO的时候,CPU就切换到另外的进程,提高了CPU利用率. 有了进程,为什么还要线程?因为进程的成本太高了. 启动新的进程必须分配独立的内存空间,建立数据表维护它的代码段.堆栈段和数据段,这是昂贵的多任务工作方式.线程可以看作轻量化的进程.线程之间使用相同的地址空间,切换线程的时间远小于切换进程的时间. 进程是资源…
语法 //列表遍历,遍历数组,第一个参数为数组中元素,可以给第二个参数作为索引值 <view v-for="(item, itemIndex) in card" :key="itemIndex"> {{item.value}} </view> 实例 发布H5到Tomcat 好像这里不怎么需要设置,发布到Tomcat主要看Tomcat 不需要填域名,直接发行 然后粘贴到Tomcat中 然后打开Tomcat,访问Tomcat路径/h5即可…
一.简介 一开始,消息队列源自于一个激进的工程师的思想,他希望有一种通用软件“总线”能解决程序间繁重的信息通信工作 后来出现了很多消息队列产品,但是他们互不兼容,价格昂贵 后来出现了AMQP,高级消息队列协议,作为标准 RabbitMQ基于AMQP,被开发出来 RabbitMQ特点: 除了Qpid,RabbitMQ是唯一实现了AMQP标准的代理服务器 基于Erlang,使得RabbitMQ集群十分简单 RabbitMQ比其他消息队列服务器更可靠,更能防止崩溃 容易安装使用 二.消息通信原理 1.…
一.组件 Data组件 http://docs.wex5.com/data/ 遍历输出…
一.介绍 Json.Net是一个.Net高性能框架. 特点和好处: 1.为.Net对象和JSON之间的转换提供灵活的Json序列化器: 2.为阅读和书写JSON提供LINQ to JSON: 3.高性能:比.NET内置序列化器更快: 4.可以书写缩进.容易阅读的JSON: 5.支持JSON和XML之间的转换: 6.支持.NET 2, .NET 3.5, .NET 4, .NET 4.5, Silverlight, Windows Phone and Windows 8 Store JSON 序列…
实战: 1.[openId]获取openId 有如下几种方法: 通过wx.login()获取临时登录凭证 code,然后通过code2session获取openId wx.login():https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.login.html code2session:https://developers.weixin.qq.com/miniprogram/dev/api/open-api…