0 chy_18883701161

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 1w+

高可用的网站架构

 高可用:负载增大时,系统仍然能在正常时间范围内响应请求(包括快速失败)。 实现高可用的常用方法1、超时机制在应用中尽量设置超时时间,eg. 连接超时、服务调用超时,避免服务器故障、线程死锁等原因造成程序一直阻塞。 2、异步调用服务如果在服务中同步调用其它服务,下游服务故障时,上游服务也会受到影响,可通过消息队列等方式异步调用服务,消息队列实现了服务间的解耦,下游服务故障时,上游服务不受影响。 3、服务限流、降级可在网关层、服务层使用guava、

2020-07-05 16:30:00

网上商城 xm-mall

介绍xm-mall是基于springboot搭建的网上商城,响应式项目地址:https://github.com/chy18883701161/xm-mall 前端技术:html、css、js、jq、bootstrap后台技术:springboot、thymeleaf、mybatis、mysql、lombok 按登录角色分为用户、管理员,用户模块可细分为商品操作、订单操作,功能如下根据关键字检索商品,查看商品详细信息添加商品至购物车,对购物车中的商品进行结算、支付查

2020-06-28 19:31:52

个人博客 blog

介绍blog是基于springboot搭建的个人博客,响应式项目地址:https://github.com/chy18883701161/blog前端技术:html、css、js、jq、bootstrap后台技术:springboot、thymeleaf、mybatis、mysql、lombok 前台主要功能查看文章列表、阅读文章列出新发布的文章、点击量靠前的文章可根据关键字检索文章,根据标签查看相关文章可评论文章 后台主要功能文章管理:编写、修改、发布、

2020-06-27 22:28:25

Vue 生命周期、axios 异步请求

 红框中的是钩子函数,成对出现,一共4对8个。组件也是一个Vue实例,也有这些生命周期,并不是要显式new Vue()才算Vue对象。 Vue.component('Test',{ template:` <div> <p>{{msg}},我是test组件</p> <button @click='msg+=" chy"'>更新数据</button>

2020-06-13 15:41:10

Vue 单页、路由

目录单页、路由的基本使用路由模式路由跳转 单页应用:一个页面即一个简单应用,组件化开发传统的页面调转是浏览器请求新页面,单页是把原本的多个页面以组件的形式集成在一个页面中,页面跳转时由vue路由到目标页面,因为目标页面是当前页面的一部分,切换到指定部分即可,浏览器不用发起新请求。 单页、路由的基本使用#下载vue的路由插件npm install vue-router<div id="app"></div><!-- 引入vue.js --

2020-06-13 14:50:47

Vue 组件化开发

目录组件的使用向组件中插入内容使用槽点使用子组件组件之间的通信父子组件之间的通信非父子组件之间的通信 将页面拆分为多个组件,方便复用。组件可分为3类通用组件:表单、弹窗、菜单栏、分页等业务组件:实现某一业务功能的组件,比如抽奖组件页面组件(单页):一个组件即一个页面,完成特定功能,一般不复用组件开发流程:声明、注册、使用 组件的使用全局声明+局部注册<div id="app"></div><script> //声明组

2020-06-12 20:42:22

Vue 基础、常用指令、过滤器、数据监听、事件监听

目录vue基础vue的下载简单使用常用指令v-text、v-html 把变量值作为innerText、innerHTMLv-show 控制元素的显示、隐藏v-if 条件判断v-for 遍历数组、对象v-bind、v-model 数据绑定v-on 事件绑定过滤器组件内过滤器 只能在对应组件中使用全局过滤器 全局可用数据监听watch 监听单个变量值的变化watch的深度监听computed 同时监听多个变量值的变化 vue是国人开发js框架,国内使用广泛。以数据驱动、组件化开发为核心。&nbs

2020-06-12 15:56:27

设计模式总结

目录软件设计七大原则创建型简单工厂工厂方法抽象工厂建造者模式单例模式原型模式结构型外观模式(门面模式)装饰者模式适配器模式享元模式组合模式桥接模式 软件设计七大原则开闭原则:开放扩展、关闭修改。抽象出接口,可实现接口、继承类进行扩展,但尽量不要修改接口。依赖倒置原则:高层某块不应该依赖低层模块的具体实现,而是依赖低层模块的接口,将耦合度降低到接口层次单一职责原则:一个类、接口、方法只负责一项功能,降低类的复杂度、变更引起的风险,提高类的可读性,易于维护接口隔离原则:接口之间相互独立,

2020-06-11 19:14:05

Shell编程

目录如何使用shell脚本变量的使用传入参数读取输入输出效果数学运算条件判断语句 shell是一种运行在linux/unix上的脚本语言,可以写在shell脚本中,终端默认是/bin/bash解释器,也可以直接在终端运行。同样的,终端可以用的命令也可以写在shell脚本中 如何使用shell脚本编写shell脚本#!/bin/bash #指定要使用的shell解释器#xxxxx #说明这个shell脚本的功能#by chy xxxxxxx@qq.com 2020.0

2020-06-09 15:37:44

并发、线程安全

目录概念、理论实现线程安全(线程同步)的常用方式synchronized 加同步锁使用Lock接口ReentrantLock 可重入锁ReadLock读锁、WriteLock写锁锁降级ReentrantLock如何实现公平锁、非公平锁?AQS如何用int值表示读写状态StampedLockThreadLocalvolatile原子类并发容器单例与线程安全锁的分类 概念、理论并发:多个线程操作相同的资源,优点:效率高、资源利用率高,缺点:线程可能不安全、数据可能不一致,需要使用一些方式保证线程

2020-06-07 20:29:55

线程、线程池

目录进程进程的三种基本状态线程进程、线程的区别线程的6种状态线程的生命周期线程的2种创建方式线程常用方法线程协作线程死锁线程池并行、并发为什么不使用多进程而是使用多线程? 进程进程是是应用程序运行的载体,是程序的一次执行过程,是临时的、有生命周期的,由程序、数据和进程控制块三部分组成,进程之间相互独立。 进程的三种基本状态就绪(ready)状态:进程准备就绪,获得CPU时间片后可立即运行。就绪的进行放在就绪队列中,操作系统按指定的调度策略分配cpu时间片。运行(runni

2020-06-05 17:16:40

计算机网络通信 总结

目录OSI参考模型TCP/IPTCPTCP的报文结构TCP的特点TCP的3次握手TCP的4次挥手UDPUDP的报文结构UDP特点TCP、UDP的区别HTTPHTTP的请求结构HTTP的响应结构HTTP 请求-响应过程浏览器地址栏输入url,按下Enter以后的过程HTTP状态码HTTP的特点GET、POST的区别Session、CookieHTTP、HTTPSIP是网络层协议,TCP、UDP是传输层协议,HTTP是应用层协议 OSI参考模型物理层①定义物理设备的标准,比如网线的类型、光纤

2020-06-04 08:35:30

JDK自带的JVM工具

目录jdk自带jvm工具jpsjstatjinfojmapjstackjconsole(GUI)VisualVM 虚拟机工具可以分析jvm运行数据,包括:运行日志、异常堆栈、GC 日志、线程快照( threaddump/javacore文件)、堆转储快照( heapdump/hprof文件)等。使用适当的虚拟机监控、分析工具可以加快分析数据、定位问题的速度。前面的均作为了解,实际只使用最后2个,尤其是最后一个。 jdk自带jvm工具这些工具都在jdk的bin目录下jps查

2020-06-03 17:41:25

JVM 垃圾回收机制

目录判断对象是否存活的算法引用计数法可达性分析法垃圾回收算法标记清除算法复制算法标记整理算法JVM垃圾收集器Serial收集器ParNew收集器Parallel Scavenge收集器CMS收集器总结 C++的一个很麻烦的问题就是内存回收,不回收可能会造成内存泄漏,Java中内存回收由GC完成,不用我们回收内存。堆是垃圾回收的重点区域。 在运行配置的VM options中设置参数,可以在控制台打印gc信息-verbose:gc -XX:+PrintGCDetails&n

2020-06-03 16:55:33

JVM 类加载机制、对象的创建过程

目录对象的创建过程对象的内存布局 对象的创建过程1、JVM执行一条new指令时,会先在常量池中定位指定类的符号引用,判断该类的class对象是否已加载、解析和初始化,如果未,则先加载加载、解析、初始化,如果有static初始化块也会执行 2、为新对象在堆中分配内存空间。有2种分配方式指针碰撞包括开辟一块内存和移动指针两个步骤空闲列表包括开辟一块内存和修改空闲列表两个步骤非原子步骤可能出现并发问题,Java虚拟机采用CAS算法实现乐观锁,配上失败重试的方式保

2020-06-03 11:48:51

JVM架构、运行时数据区

目录jvm运行时数据区程序计数器java虚拟机栈本地方法栈方法区方法区之常量池堆 jvm运行时数据区线程共享数据区:方法区、堆,所有线程共享线程隔离数据区:程序计数器、java虚拟机栈、本地方法栈,每条线程独有,生命周期与所在线程的生命周期一致 程序计数器程序计数器占用很小的一块内存空间,每条线程都有1个程序计数器,用来记录当前线程的执行到的位置(.class文件执行到的行数)线程是一个独立的执行单元,是由CPU控制执行的,当前线程的时间片用完之后,程序计数器记录执行到

2020-06-03 10:18:42

Java 反射、代理

目录反射(reflect)获取class对象的三种方式使用反射创建对象使用反射操作字段使用反射调用方法使用反射动态创建、操作数组代理(proxy)静态代理jdk动态代理cglib动态代理总结 反射(reflect)反射:通过类的class对象来获取类的信息,动态操作类中的字段、调用类中的方法。 获取class对象的三种方式// Class.forName("全限定类名")Class<?> class1 = Class.forName("com.chy.mall.

2020-06-03 08:51:03

SpringCloud Config 分布式配置管理

目录config简介配置文件的存放config-server的搭建config client config简介配置中心用于统⼀管理配置, 快速切换各个环境的配置。config是一个分布式的配置管理中心,分为config server、config client2部分,默认使用git仓库存储配置。 未保证可用性,config server要集群,要作为eureka client注册到erueka server上。每个eureka client都可以作为config client

2020-06-02 20:59:25

SpringCloud Sleuth+Zipkin 分布式链路追踪

目录Sleuth的使用Zipkin的使用 服务a调用服务b,服务b调用服务c,a->b->c,这就形成了一个链路,链路追踪可以查看链路数据、分析链路耗时,方便针对性地进行优化。Sleuth用于日志埋点,记录、收集链路数据,Zipkin用于可视化地展示收集的链路数据。 Sleuth的使用1、创建消费者、提供者时勾选Spring Cloud Tracing -> Sleuth,也可以手动添加依赖<dependency> <groupI

2020-06-02 18:47:27

SpringCloud Zuul 网关

目录网关的概念搭建zuul网关、实现路由转发使用zuul过滤请求使用zuul进行限流 网关的概念API Gateway 网关,系统的唯一入口,可以统一过滤请求,提供路由转发、权限验证、限流等功能。网关可以将内网、外网隔开,服务节点在内网中,通过内网进行服务调用速度快;用户通过外网(公网ip)访问网关,由网关转发给对应的服务节点。网关也要作为Eureka Client注册到Eureka Server上,因为要从注册中心获取服务节点列表,使用Eureka Client内置的Ribbon进行

2020-06-02 18:15:11

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 原力探索 · S
    原力探索 · S
    在《原力计划【第二季】》打卡挑战活动中,发布 12 篇原创文章参与活动的博主,即可获得此勋章。(本次活动结束后统一统计发放)