本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 一.Java的历史与演变 目的:为完全了解Java,需要理解Java的诞生原因.成型动力以及他继承的思想. 计算机语言的创新与发展的原因:适应环境和用途的变化:实现编程艺术的完善和提高. 1.1.Java的家世 Java大量特性从C和C++继承过来. C语言的诞生 C语言前,BASIC.COBOL.FORTRAN这几种编程语言没有遵循结构化原则设计,依赖GOTO作为程序控制手段:Pascal虽是结构化语言,但不是针对高效率设计…
大型网站系统架构的演进都是随着业务增长不断演进,所有的出发点都是为了满足业务需求.最初访问量下,功能简单时,单体软件可以解决所有问题:后来访问量逐渐增大,功能愈加丰富,此时单体软件的架构逐渐成为开发和运维的瓶颈.所以微服务拆分,集群化部署,消息中间件,内存数据库,数据库中间件等解决方案逐渐走进视野. 下图为简略版的Web系统架构,本文围绕此图展开,简要介绍其中涉及组件的功能和应用场景. 回到最初,Web项目的源头几乎全来源于用户的请求(此处忽略运维相关的定时监控等任务),当海量的请求并发量超过T…
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文基于<Spring5高级编程>一书进行总结和扩展,大家也可以自行研读此书. 十一.任务调度 任务调度主要由三部分组成 : 任务:即需要在特定时间运行或定期运行的业务逻辑块 触发器:指定任务应该执行的条件 调度程序:根据来自触发器的信息执行任务 本章涵盖以下主题: Spring中的任务调度:讨论Spring如何支持任务调度,重点介绍Spring3中引入的TaskScheduler抽象.此外,还会介绍调度场景,如固定间隔调度…
一.定义 1.起源 来源:Roy Fielding的博士论文. 目的:理解和评估以网络为基础的应用软件的架构设计,得到一个功能强.性能好.适宜通信的架构. 定义:一种实现软件通信的架构风格.设计风格,而不是标准:提供了一组设计原则和约束条件. 用处:提供一种架构风格,目前也有很多相关实现,我们可以理解这种风格,借助这些实现来实现一个良好通信软件架构. 2.定义 REST的名称解释: SOAP:简单对象访问协议(英文:Simple Object Access Protocol,简称SOAP). R…
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文是对<SPRING实战第4版>的总结,大家也可以去仔细研读该书 [------------------------Spring 核心------------------------] 一.Spring的由来和简介 1.1.Spring的使命:简化Java开发 几个概念: POJO:Plain Old Java Object,普通的Java对象.指只有属性.get.set等方法,不包含复杂逻辑的Java类. JavaBea…
一个例子: 公司的SVN代码中,含有target等文件夹,每次生成运行后,有很多文件打扰签入 处理方案: 1.CheckOut时,点击ChooseItems选项,不要选择这些target文件夹(有点麻烦,可能可以CheckOut后修改,但是暂时找不到修改方式) 2.右键,SVN,setting,加入*.release(有一个文件夹叫.release),那么增加.release文件夹内容在non-versioned状态时,不会显示在签入界面 基于CentOS搭建SVN服务器并管理代码 查找SVN库…
一.持续集成.持续交付.DevOps概念,关系等 持续集成(Continuous integration/CI) 持续交付(Continuous delivery/CD) 持续部署() 持续 (Continuous):不断的获取反馈,响应反馈.集成 (Integration):编译.测试.打包:部署 (Deployment):应用组件或基本设施的代码或配置变更在产品环境生效称为“部署”:发布 (Release):具有业务影响的功能变化对最终用户可见称为“发布”.交付 (Delivery):可以理…
1.spring架构图 Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架.Spring框架的功能可以用在任何J2EE服务器中,大多数功能也适用于不受管理的环境.Spring的核心要点是:支持不绑定到特定J2EE服务的可重用业务和数据访问对象.这样的对象可以在不同J2EE环境 (Web或EJB).独立应用程序.测试环境之间重用. 组成Spring框架的每个模块(或组件)…
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文主要总结于刘增辉的<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所有内部日志…
一.安装 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的列表…
前言 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…
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文基于<Maven 实战>一书进行总结和扩展,大家也可以自行研读此书. 一.Maven简介 1.1.什么是Maven Maven是Apache的一个开源工具,用于项目构建.依赖管理和项目信息管理: 使用Maven前的做法: 项目构建:编译.运行单元测试.生成文档.打包.部署等工作 依赖管理:我们使用第三方类库时,以依赖的方式引入到项目中:当依赖增多,会出现版本不一致.版本冲突等问题 项目信息管理:项目信息(如描述.开发者列…
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文是对<Spring Boot 实战第4版>的总结,大家也可以去仔细研读该书 注意,书中使用的Spring Boot版本并不是2.0,但是我这里的代码是基于Spring Boot2.0的,有一些地方会有出入 一.入门 1.1.Spring Boot的出现 Spring的发展与现状 Spring诞生时是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品 Spring通过依赖注…
基于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…
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…
前言 Gradle是什么: Gradle提供了一个域特定语言(DSL),用于描述构建 它使用 Groovy 语言,使其更容易来形容和构建 Gradle 中的每一个构建脚本使用UTF-8进行编码保存,并命名为 build.gradle Gradle的作用: 构建项目:通过脚本来管理项目的依赖.关系等 处理任务:例如编译类.创建Jar.产生Javadoc或发布归档文件库等 一.安装与配置 安装前提:安装JDK(我的版本是1.8) 下载地址:https://gradle.org/install/(我下…
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就行了. 手…
数据库优化手段: 1.查看数据库性能参数 2.分析查询语句 3.添加索引 4.使用连接代替子查询 5.优化数据库结构 字段很多的表分解成多个表 经常联合查询的表,建立中间表 冗余字段 优化插入记录的速度 分析表.检查表.优化表 6.配置参数.优化硬件…
一.使用技巧 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…
1.简介 STS,是一个自定义版本的Eclipse,她可以方便地用来与各种Spring项目进行交互协作,建议采用Spring进行开发的时候,可以尝试使用这个IDE 2.下载与安装 登录https://spring.io/点击官网底部Tools按钮,即可看见软件下载地址 解压后打开即可使用 3.配置 配置JDK 选择自己本地的JDK地址即可 配置Maven 选择Maven的配置文件,然后点击Update Setting,即可自动刷新本地仓库地址 4.创建一个Web项目 后面的内容都是基于Maven…
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 一.什么是Redis 全称: Remote Dictionary Server 远程字典服务器 实质: 一个缓存结构服务器或数据结构服务器 特性: Database:Redis是一个数据库,可以持久化 Non-relational/NoSQL:非关系型数据库 Key-Value:键值对格式 Redis与Memcached对比: 一样的简单 更多数据类型 更多操作命令 更多功能组件 支持数据持久化 总结: Redis使用其独特的…
本文总结自官方文档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,来解决这个问…
一.介绍 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.事件作为参数传递 public class Para { // 定义一种委托(事件类型),可以在此定义这个事件的返回值和参数 public delegate object GetDataMethodAction(); // 使用这个事件类型接收参数 public GetDataMethodAction GetDataMethod { get; set; } } public void Main() { // 构建事件参数 Para para = new Para(){ GetDataMeth…
1.项目开发环境和运行步骤 1.1.项目开发环境 Idea:2018.1.6 Maven:3.5.3 JDK:1.8.0_172 MySQL:5.7.19(之前安装8.0.11会运行失败) Redis:3.2.100 RabbitMQ:3.7.7 1.2.获取代码 后端地址:https://gitee.com/log4j/pig.git 配置文件地址:https://gitee.com/cqzqxq_lxh/pig-config.git 前端地址:https://gitee.com/log4j/…
一.安装 使用版本:5.7(2018/08/03 阿里云的云数据库最高支持5.7,所以这里考虑用5.7) 下载版本:MySQL Community Server 5.7.23 下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 下载格式:ZIP压缩包 1.1.压缩包版本在Windows系统下的安装步骤 1.1.1.解压到一个文件夹 如:C:\Softs\mysql-5.7.23-winx64 1.1.2.配置环境变量 变量名…
公司代码速查 ParameterBase.CurrentUser.UserId ICustomerDeskDetailManager customerDeskDetailManager = ClientProxyFactory.CreateProxyInstance<ICustomerDeskDetailManager>(); 使用主键查询一个实体 CustomerEntity _Customer = new CustomerEntity(CustomerNo); DataAccessAdap…