* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩 展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布 式项目实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  cloud.Dubbo.Redis.ActiveMQ.Nginx.Mycat…
文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. redis是一个key-value存储系统.它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.为了保证效率,数据都是缓存在内存中.…
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 一.什么是Redis 全称: Remote Dictionary Server 远程字典服务器 实质: 一个缓存结构服务器或数据结构服务器 特性: Database:Redis是一个数据库,可以持久化 Non-relational/NoSQL:非关系型数据库 Key-Value:键值对格式 Redis与Memcached对比: 一样的简单 更多数据类型 更多操作命令 更多功能组件 支持数据持久化 总结: Redis使用其独特的…
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文是对<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虽是结构化语言,但不是针对高效率设计…
一.定义 1.起源 来源:Roy Fielding的博士论文. 目的:理解和评估以网络为基础的应用软件的架构设计,得到一个功能强.性能好.适宜通信的架构. 定义:一种实现软件通信的架构风格.设计风格,而不是标准:提供了一组设计原则和约束条件. 用处:提供一种架构风格,目前也有很多相关实现,我们可以理解这种风格,借助这些实现来实现一个良好通信软件架构. 2.定义 REST的名称解释: SOAP:简单对象访问协议(英文:Simple Object Access Protocol,简称SOAP). R…
一个例子: 公司的SVN代码中,含有target等文件夹,每次生成运行后,有很多文件打扰签入 处理方案: 1.CheckOut时,点击ChooseItems选项,不要选择这些target文件夹(有点麻烦,可能可以CheckOut后修改,但是暂时找不到修改方式) 2.右键,SVN,setting,加入*.release(有一个文件夹叫.release),那么增加.release文件夹内容在non-versioned状态时,不会显示在签入界面 基于CentOS搭建SVN服务器并管理代码 查找SVN库…
一 为什么查询速度会慢 在尝试编写快速的查询之前,咱们需要清除一点,真正重要的是响应时间.如果把查询看成是一个任务,那么它由一系列子任务组成,每个子任务都会消耗一定的时间.如果要有 优化查询,实际上要优化起子任务,要么消除其中一些子任务,要么减少子任务的执行次数,Mysql在执行查询的时候有哪些子任务,哪些子任务运行的速度很慢?这里还不好给出完 整的列表.一般来说,查询的生命周期大致可以按照顺序爱看:从客户端->服务器->然后在服务器上进行解析,生成执行计划,执行,并返回结果给客户端.其中执行…
1.性能简介 一个网络请求的等待: 减少等待时间方式 不同位置对性能的操控 开发人员优化性能的方式 性能指标 2.缓存 缓存是把一些需要计算或者访问数据库的数据,放到内存中,当客户端访问时,直接从内存读取,而不需要再进行计算或者访问数据库,从而减少了访问时间和计算时间:这种方式消耗了内存,通过提升空间复杂度来换取时间复杂度的减少. 分布式缓存 把缓存数据放到不同的几台机器中 那么我读取数据的时候,怎么知道应该从哪个服务器读取呢 缓存架构1 一单更新,即更新到其它几台缓存服务器 缓存架构2 在应用…
1.1常用建议1.1.1记大量的笔记(记录所有的事情)在做性能调优问题的时候很重要的一个操作就是记录下所有的事情,包括每一个输出.执行的结果.可以新建一个文件夹,然后把结果的文件都塞到该文件夹内.包括如下: 记录硬件/软件的配置情况,比如dmesg和uname –a的输出 保存并组织性能结果,记录系统配置的同时也要保存测试的结果. 写下命令行调用,可以把复杂的命令写成script或者记录到终端上. 记录研究信息和URL,将互联网找到的相关信息记录下来.记录这些信息之外,在调查问题时,还要牢记以下…
2.1 CPU性能统计信息 2.1.1运行队列统计 在Linux中,一个进程要么是可运行的,要么是阻塞的(正在等待一个事件的完成).阻塞进程可能在等待从I/O设备来的数据,或者是系统调用的结果如果一个进程是可运行的,那就意味着它要和其他可运行的进程竞争CPU时间.一个进程不一定会使用CPU,但是当Linux调度器决定从下一要运行的进程时,它会从可运行进程队列中挑选.如果进程是可运行的,同时又在等待使用处理器,这些进程就构成了运行队列.运行队列越长,处于等待的进程就越多. 性能工具通常会给出可运行…
   APPLY运算符涉及以下两个步骤中的一步或两步(取决于APPLY的类型):           1.A1把右表表达式应用于左表的行.           2.A2:添加外部行.       Apply运算符把右表表达式应用左输入中的每一行.右表表达式可以引用左输入中的列,对于左表中的每一行,都要计算一次右边输入的表达式.这一步会把左边的每一行和来自右表达式的相应行进行匹配,并将生成的结果集合并起来,返回组合后的结果.        Cross Apply和OUTER APPLY总是包含步骤…
本文总结自官方文档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…
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文主要总结于刘增辉的<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简…
Redis作为一款性能优异的内存数据库,支撑着亿级数据量的社交平台,也成为很多互联网公司的标配.这里将以Redis Cluster 集群为核心,基于最新的Redis5版本,从原理到实战,玩儿转Redis集群. 常见的Redis集群方案 在介绍Redis Cluster集群方案之前,为了方便对比,先简单了解一下业界常见的Redis集群方案: 1 基于客户端分片 Redis Sharding是Redis Cluster出来之前,业界普遍使用的多Redis实例集群方法.其主要思想是基于哈希算法,根据R…
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文内容大部分是翻译和总结官方文档,可以到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所有内部日志…
一.介绍 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核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…
前言 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…
数据库优化手段: 1.查看数据库性能参数 2.分析查询语句 3.添加索引 4.使用连接代替子查询 5.优化数据库结构 字段很多的表分解成多个表 经常联合查询的表,建立中间表 冗余字段 优化插入记录的速度 分析表.检查表.优化表 6.配置参数.优化硬件…
一.第一步 1.什么是OAuth2,为什么应该了解 应用程序请求资源所有者进行认证,并接受tokens来访问这些资源应用程序不是以控制资源的“人”的角度去访问资源,而是用许可证举例,备用钥匙,车主主钥匙就像“人”,拥有他的所有权限:但是备用钥匙,虽然不是“人”,但是也代表了一些有限功能,仍然能实现把开关车门的权限. 重点是token 例子:有2个服务,图片打印,图片存储,运行在2个不同的电脑,是2个不同的程序,他们之间通过API来管理而2边的帐号管理是分开的我们可以使用OAuth2,来解决这个问…
一.持续集成.持续交付.DevOps概念,关系等 持续集成(Continuous integration/CI) 持续交付(Continuous delivery/CD) 持续部署() 持续 (Continuous):不断的获取反馈,响应反馈.集成 (Integration):编译.测试.打包:部署 (Deployment):应用组件或基本设施的代码或配置变更在产品环境生效称为“部署”:发布 (Release):具有业务影响的功能变化对最终用户可见称为“发布”.交付 (Delivery):可以理…
1.事件作为参数传递 public class Para { // 定义一种委托(事件类型),可以在此定义这个事件的返回值和参数 public delegate object GetDataMethodAction(); // 使用这个事件类型接收参数 public GetDataMethodAction GetDataMethod { get; set; } } public void Main() { // 构建事件参数 Para para = new Para(){ GetDataMeth…
一.安装 使用版本: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.配置环境变量 变量名…
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文基于<Spring5高级编程>一书进行总结和扩展,大家也可以自行研读此书. 十一.任务调度 任务调度主要由三部分组成 : 任务:即需要在特定时间运行或定期运行的业务逻辑块 触发器:指定任务应该执行的条件 调度程序:根据来自触发器的信息执行任务 本章涵盖以下主题: Spring中的任务调度:讨论Spring如何支持任务调度,重点介绍Spring3中引入的TaskScheduler抽象.此外,还会介绍调度场景,如固定间隔调度…
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文是对<Spring Boot 实战第4版>的总结,大家也可以去仔细研读该书 注意,书中使用的Spring Boot版本并不是2.0,但是我这里的代码是基于Spring Boot2.0的,有一些地方会有出入 一.入门 1.1.Spring Boot的出现 Spring的发展与现状 Spring诞生时是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品 Spring通过依赖注…
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…
PL/SQL的使用 1.安装使用 1.1.安装暂略 1.2.使用 添加环境变量 打开PL/SQL,不要登录,进入界面后,打开设置Preference 设置主目录和OCI库…
语法 //列表遍历,遍历数组,第一个参数为数组中元素,可以给第二个参数作为索引值 <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.…