自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 Feed 流推拉设计模式

Feed 是将用户主动订阅的若干消息源组合在一起形成内容聚合器,帮助用户持续地获取最新的订阅源内容。Feed 流即。在生活中 Feed 流也是很常见的,比如微信朋友圈、微博等,就是 Feed 流的经典实现。

2023-03-18 22:34:34 559

原创 深入理解JVM之ClassLoader

1.什么是类加载器在编写Java程序时需要使用javac命令将.java后缀名的文件编译成.class文件,然后JVM通过执行.class文件来运行我们写的程序,那么JVM怎么才能执行.class文件呢?这就需要类加载器了。2.有哪几种类加载器BootstrapClassLoader:这个类加载器可以被称为引导类加载器,它由C++语言编写,在JDK中看到的是使用native标注的方法。它负责加载jre/lib下的核心包,例如:rt.jar。ExtClassLoader:它被称为扩展类加载器,它是

2021-02-16 16:07:44 301

原创 Mac 中无法运行 Tomcat

1. 将下载好的 Tomcat 解压解压完成后将解压好的文件放到自己想放的位置,我这里放到用户目录下。2. 进入 Tomcat 的 bin 目录cd apache-tomcat-9.0.38/bin 3. 给 bin 目录中的可执行命令添加权限在这里我给 bin 目录下所有以 .sh 结尾的文件全部添加权限,读者也可以自己决定给那个文件添加,只需要将 * 号替换为文件名即可。sudo chmod 755 *.sh4. 启动 Tomcatsudo ./startup.sh5. 关闭

2020-09-16 23:57:07 1375

原创 ES6 新增语法与内置对象扩展

1. 什么是 ES6ES 全称 ECMAScript,它是由 ECMA 国际化标准组织制定的一项脚本语言的标准化规范。2. 为什么使用 ES6每一次新标准的诞生,都意味着语言的完善、功能的加强。JavaScript 语言本身有一些令人不满意的地方:变量提升特性增加了程序运行时的不可预测性。语法过于松散,实现相同的功能,不同的人可能会写出不同的代码。3. ES6 新增语法3.1 letES6 中新增了用于声明变量的关键字3.1.1 let 声明的变量只在所处的块级有效if (true

2020-07-27 19:45:26 631

原创 Android 入门 | Fragment

当今是移动设备发展非常迅速的时代,不仅手机已经称为了生活必需品,而且平板也变得越来越普及。平板和手机最大的区别就在于屏幕的大小:一般手机屏幕的大小在 3 英寸到 6 英寸之间,平板屏幕的大小在 7 英寸到 10 英寸之间。屏幕大小差距过大有可能会让同样的界面在视觉效果上有较大的差异,比如一些界面在手机上看起来非常美观,但在平板上看起来可能会有控件被过分拉长、元素之间空隙过大等情况。对于一名专业的 Android 开发人员而言,能够兼顾手机和平板的开发是我们极可能要左到的事情。Android 3.0 .

2020-07-18 20:32:49 153

原创 jQuery 学习笔记(三)

1.jQuery 事件注册jQuery 为我们提供了方便的事件注册机制,使开发人员易于操作,优缺点如下:优点:操作简单,且不用担心事件覆盖等问题。缺点:普通的事件注册不能做事件委托,且无法实现事件绑定,需要借助其它方法。演示代码:<body> <div></div> <script> $(function() { // 1. 单个事件注册 $("div").clic

2020-06-26 15:00:20 196

原创 jQuery 学习笔记(二)

1.jQuery 属性操作jQuery 常用属性操作有三种:prop() / attr() / data()1.1 元素固有属性值 prop()所谓元素固有属性就是元素本身自带的属性,比如 <a> 元素里面的 href 属性,比如 <input> 元素里面的 type。注意: prop() 除了普通属性操作,更适合操作表单属性:disabled / checked / selected等。1.2 元素自定义属性 attr()用户自己给定元素添加的属性,我们称为自定义属性

2020-06-24 19:27:11 127

原创 Android入门 | 控件与布局

1.常用控件的使用方法Android 给我们提供了大量的 UI 控件,合理地使用这些控件可以非常轻松的编写出相当不错的界面,下面我们就挑选集中常用的控件,详细介绍一下它们的使用方法。1.1 TextViewTextView 用于再界面上显示一段文本信息,接下来我们看看 TextView 的更多用法。<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.androi

2020-06-20 14:30:53 579

原创 jQuery 学习笔记(一)

1.jQuery 介绍1.1 JavaScript 库JavaScript 库:即 library,是一个封装好的特定的集合(方法和函数)。从封装一大堆函数的角度理解库,就是在这个库中,封装了很多预先定义好的函数在里面,比如动画 animate、hide、show 等。简单理解就是一个 JS 文件,里面对原生 JS 代码进行了封装,存放到里面。这样我们就可以快速而方便的使用封装好的功能。比如 jQuery,就是为了快速方便的操作 DOM,里面基本都是函数(方法)。常见的 JavaScript 库:

2020-06-19 20:52:31 164

原创 JS 学习笔记 | 正则表达式

1.正则表达式概述1.1 什么是正则表达式正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式,在 JS 中,正则表达式也是对象。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本,例如验证表单:用户名表达只能输入英文字母、数字和下划线,昵称输入框可以输入中文(匹配)。此外,正则表达式还常用于过滤掉页面中的一些敏感词(替换),或从字符串中获取我们想要的特定部分(提取)等。其它语言也会使用正则表达式,本阶段我们主要利用 JS 正则表达式来完成表单校验。1.2

2020-06-16 22:46:25 149

原创 JS 学习笔记 | 函数进阶

1.函数的定义和调用1.1 函数的定义方式1.1.1 函数声明语法:function func() {};1.1.2 函数表达式语法:var func = function() {};1.1.3 构造函数语法:var func = new Function("参数1", "参数2",..., "函数体");注意:Function 里面参数都必须是字符串格式第三种方式执行效率低,也不方便书写,所以使用较少。所有函数都是 Function 的实例(对象)函数也属于对象。

2020-06-15 21:08:38 205

原创 JS 学习笔记 | 构造函数和原型

1.构造函数和原型1.1 对象的三种创建方式–复习字面量方式var obj = {};new关键字var obj = new Object();构造函数方式function Person(name,age){ this.name = name; this.age = age;}var obj = new Person('zs',12);1.2 静态成员和实例成员1.2.1 实例成员实例成员就是构造函数内部通过 this 添加的成员 如下列代码中 unam

2020-06-09 20:35:33 169

原创 JS 学习笔记 | 面向对象和类的继承

1.面向对象介绍编程中一个有两个编程思想,其中一个是面向过程,另一个是面向对象。下面分别介绍一下这两种编程方式。1.1 面向过程编程面向过程编程全称为(process-oriented-programming)可以简称为 POP。面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤逐步实现,使用的时候再依次调用即可。1.2 面向对象编程面向对象编程全称为(object-oriented-programming),面向对象是把事物分解成一个个对象,然后由对象之间分工与合作。面向对象编程思想

2020-06-08 16:02:56 107

原创 JS 学习笔记 | BOM 篇

1.什么是 BOMBOM(Browser Object Model)即浏览器对象模型。关于 BOM 的说明:BOM 提供了独立于內容,而与浏览器窗口进行交互的对象。由于 BOM 主要用于管理窗口和窗口之间的通讯,因此其核心对象是 window 对象。BOM 由一系列相关的对象构成,并且每个对象都提供了很多方法与属性。BOM 缺乏一个统一的标准:JavaScript 语法的标准组织是 ECMADOM 的标准组织是 W3C(所有浏览器公共遵守的标准)。BOM 是各个浏览器厂商根据 DO

2020-06-07 16:35:52 196

原创 JS 学习笔记 | 事件处理

1.事件概述1.1 什么是事件事件是可以被 JS 检测到的行为,实质上是一种交互操作。例如:我们可以给某按钮添加一个 onclick (点击)事件,当用户点击时触发某个函数。1.2 事件的作用各个元素之间可以借助事件来进行交互用户和页面之间也可以通过事件来交互后端和页面之间也可以通过事件来交互(减轻服务器压力)注意:事件通常会与函数进行配合,当事件发生了函数才会执行,事件的本质就是一次交互操作。1.3 事件传递JS 中规定:事件不仅能够和触发者交互,还会在特定情况下沿着 dom t

2020-06-02 15:25:46 716

原创 JS 学习笔记 | DOM 篇

1.什么是 DOMDOM 全称为 Document Object Model,即文档对象模型。它是一套用来管理控制 html 文档的规则。而 Document 节点则是一种具象化的表现形式。假设我们把整个 html 文档看成一个对象,那么这个对象就是 Document 节点。而我们如何操作、控制这个对象的标准,就是 DOM。注意:DOM 中规定 html 页面中的 所有元素 都是节点。2.怎么理解 documentdocument 节点又被叫做 document 对象。每个载入浏览器的 HT

2020-05-24 21:52:51 388

原创 JS 学习笔记 | 变量、内存与内置对象

一、变量相关1.变量提升在编码的过程中,其保存的值可以发生改变的量称为变量。我们已经对变量十分熟悉了,接下来就了解一下变量提升的知识。console.log(num);var num = 10;很显然,上面这段代码中输出语句被写在的变量的初始化之前。按照 HTML 的规则这段代码肯定无法正常运行,因为在输出 num 的时候 num 还没有被定义。但是这段代码输出的结果是 undefined。2.变量提升的原因JavaScript 引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一

2020-05-20 19:27:11 197

原创 JS 学习笔记 | 函数与对象

一、函数1.什么是函数函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块,它可以拥有某些特定的功能。2.函数的语法2.1 使用函数声明语法:function 函数名(函数参数1, 函数参数2) { 代码逻辑}例如:function sayHi() { console.log("hi~");}注意:定义函数需要使用 function 关键字定义,然后通过指定函数名(函数名遵循命名规范即可), 函数参数可以有也可以没有。2.2 使用函数表达式语法:var 变量名

2020-05-19 19:20:59 161

原创 JS 学习笔记 | 字符串与数组

一、字符串字符串就是用单引号或者双引号包裹起来的,零个或多个排列在一起的字符。1.字符串的长度计算字符串的长度使用字符串.length的方式。例如:var txt1 = "Hello World!";document.write(txt1.length); // 122.字符索引使用方法:在字符串后面接 [],中括号里面传入数字,能够访问到字符串中的每个字符(索引从0开始)。例如:var str = "Hello World!";console.log(str[1]); /

2020-05-17 20:58:16 381

原创 JS 学习笔记 | 运算符、分支语句和循环语句

一、运算符1.基本运算符typeof可以用于获取当前变量的类型=赋值运算符==双等号可以用于判断等号左右两边的值是否相等(不判断类型),相等返回 true,否则返回 false。===三等号的作用和双等号相同,但是三等号必须要求等号两边的值全等才会返回 true。2.算数运算符+: 将符号两边的值进行相加操作,也可以用于字符串的拼接,当左右两端有一端是字符串时会将值进行拼接,例如:var num1 = "5";var num2 = 3;var res = nu

2020-05-16 22:08:31 298 1

原创 JS 学习笔记 | 变量篇

1.名称解释与变量script 标签表示脚本,可以在 script 标签中编写 js 代码也可以通过 script 标签中的 src 属性引入脚本文件注意:script 可以写在 html 文件的任何位置,但是一般写在 body 标签内部的最后部分1.1 书写格式1.1.1 语句描述:以分号结尾的表达式注意:一般情况下一行就是一个语句(多个语句可以写在一行,但不建议这么写)1.1.2 变量描述:其表示的值可以发生改变的量。语法:var a = 1; // 采用 var 声明变量2.变

2020-05-16 17:11:52 107

原创 Android入门|Activity篇

1.什么是 ActivityActuvity 是最容易吸引用户的地方,它是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用中可以包含0个或多个 Activity,但不包含任何 Activity 的应用程序是无法被用户看见的。2.Activity 的基本用法2.1 手动创建 Activity点击 Empty Activity 创建名为 FirstActivity 的 Acti...

2020-04-16 21:06:15 1489

原创 快速入门 Kotlin 编程

1.变量与函数val:用于声明不可变的变量,这种变量在初始赋值之后就再也不能重新赋值,对应 Java 中的 final 变量。var:用于声明一个可变的变量,这种变量在初始赋值之后仍然可以再被重新赋值,对应 Java 中的非 final 变量。1.1 使用 valfun main() { val a = 10 println("a = " + a)}运行结果:...

2020-04-12 19:40:07 844

原创 Java8新特性之流式操作

什么是流式操作Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道...

2020-02-26 18:29:40 630

原创 学习SpringCloud Zuul带你从0到1

一、为什么要使用网关二、网关入门案例1.创建项目1.1 添加坐标<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...

2020-02-24 21:29:10 216

原创 学习SpringCloud Hystrix带你从0到1

一、什么是灾难性的雪崩效应1.出现雪崩现象的过程正常情况下请求经过多个服务传到服务T,服务T进行处理并逐级返回。当服务B接收到了大量的请求时,最终处理服务的服务T会受到压力,导致服务崩掉。因为服务T最先瘫痪,请求就会积压在服务U,当压力过大时各级系统都会崩掉,这样就令这条线路的服务全部不可用了。一个线路的瘫痪也会影响到其他线路,这样整个系统就会崩掉了2.造成雪崩的原因服务提...

2020-02-24 21:28:09 201

原创 学习SpringCloud Feign带你从0到1

一、什么是Feign​ Feign是一种声明式、模板化的HTTP客户端(仅在consumer中使用)。二、什么是声明式,有什么作用,解决什么问题?​ 声明式调用就像调用本地方法一样调用远程方法,无感知远程HTTP请求。​ 1.SpringCloud的声明式调用,可以做到使用HTTP请求远程服务时就像调用本地方法一样的体验,开发者完全感知不到这是远程方法。更感知不到这是一个HTTP请求。​...

2020-02-24 21:27:09 239

原创 学习SpringCloud Ribbon带你从0到1

一、Ribbon在微服务中的作用1.什么是Ribbon​ 1.Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它是基于Netflix Ribbon实现的​ 2.它不像Spring Cloud服务注册中心、配置中心、API网关那样独立部署,但是它几乎存在于每一个Spring Cloud微服务中。包括Feign提供的声明式服务调用也是基于Ribbon实现的。​ 3.Ribbon提供...

2020-02-24 21:26:17 264

原创 学习SpringCloud Eureka带你从0到1

一、什么是服务注册中心服务注册中心是服务实现注册化和管理化的核心组件,类似于目录服务的作用,主要用来存储服务信息,例如服务提供者url串、路由信息等。服务注册中心是SOA架构中最基础的设施之一。1.服务注册中心的作用​ 1.服务的注册​ 2 服务的发现2. 常见的注册中心​ 1 Dubo的注册中心Zookeeper​ 2 SpringCloud的Eureka3. 服务注册中心解决了...

2020-02-24 21:25:09 107

原创 SpringCloud前置知识+RabbitMQ

一、微服务架构介绍1.单体架构​ 单体架构也被称为单体应用,它是将所有的功能模块全部耦合在一个项目中1.1 单体架构特点​ 1.最终会被打包成一个独立的单元(一个唯一 的jar包或war包)​ 2.会以一个进程的方式来运行1.2 单体架构的优点与缺点优点项目易于管理部署简单缺点测试成本高可伸缩性差可靠性差迭代困难跨语言程度差团队协作难2.微服务架...

2020-02-24 21:24:01 818

原创 一文带你学习SpringBoot

一、SpringBoot简介1.什么是SpringBoot​ 产生背景:Spring开发比较繁琐,配置文件很多,部署流程复杂,整合第三方框架难度大。这会降低开发效率​ SpringBoot是一个简化Spring应用创建和开发的框架​ 整合了整个Spring技术栈,是JavaEE开发一站式解决方案2.为什么使用SpringBoot优点:可以快速构架Spring项目,并与主流框架进行集...

2020-02-24 21:22:12 372

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除