5 白夜行悟空

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 4w+

Vue异步查询工具axios

1.axios入门异步查询数据,自然是通过ajax查询,大家首先想起的肯定是jQuery。但jQuery与MVVM的思想不吻合,而且ajax只是jQuery的一小部分。因此不可能为了发起ajax请求而去引用这么大的一个库。Vue官方推荐的ajax请求框架叫做:axiosaxios的Get请求语法:axios.get("/item/category/list?pid=0") // 请求路径和请求参数拼接 .then(function(resp){ // 成功回调函数 }

2020-06-30 09:16:39

解决项目跨域问题

1 跨域问题1.1 什么是跨域跨域是指跨域名的访问,以下情况都属于跨域:跨域原因说明示例域名不同www.jd.com 与 www.taobao.com域名相同,端口不同www.jd.com:8080 与 www.jd.com:8081二级域名不同item.jd.com 与 miaosha.jd.com如果域名和端口都相同,但是请求路径不同,不属于跨域,如:www.jd.com/itemwww.jd.com/goods而从manage.leyou.com

2020-06-29 14:16:49

使用域名访问本地项目和nginx反向代理

1.使用域名访问本地项目1.1.统一环境我们现在访问页面使用的是:http://localhost:9001有没有什么问题?实际开发中,会有不同的环境:开发环境:自己的电脑测试环境:提供给测试人员使用的环境预发布环境:数据是和生成环境的数据一致,运行最新的项目代码进去测试生产环境:项目最终发布上线的环境如果不同环境使用不同的ip去访问,可能会出现一些问题。为了保证所有环境的一致,我们会在各种环境下都使用域名来访问。我们将使用以下域名:主域名是:www.leyou.com,管理系

2020-06-29 11:46:37

MyBatis框架使用

1 框架概述1.1 什么是框架可以说,一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供了上下文(Context)关系。因此构件库的大规模重用也需要框架。1.2 为什么使用框架因为软件系统发展到今天已经很复杂了,特别是服务器端软件,涉及到的知识,内容,问题太多。在某些方面使用别人成熟的框架,就相当于让别人帮你完成一些基础工作,你只需要集中精力完成系统的业务逻辑设计。而且框

2020-06-11 17:10:25

JMeter在Mac下的安装

1、选择版本安装JMeter之前先要保证你的系统安装了java。截止2018年10月,JMeter的最新版本是5.0,JMeter 5.0需要Java 8、Java 9。2、安装JMeter进入JMeter的下载地址页面,如下图,有两个版本可供下载:Binaries:二进制版,即已经编译好、可直接执行;Source:源代码版,需要自己编译;我们下载apache-jmeter-5....

2019-01-16 16:40:51

【负载测试】Mac下进行Web并发测试-ApacheBench

一、简介1、apache 测试工具 负载测试ApacheBench 是一个指令列程式,可创建并发访问线程,模拟多个用户同时对某一地址进行访问。用来测试Web服务器的负载压力。Liunx和Mac自带ApacheBench,终端中可直接进行命令控制。2、命令及其参数选项(1)Usage:ab [options] [http[s]

2019-01-16 15:42:53

三、并发与高并发之java内存模型

一、理解Java内存区域与Java内存模型1、Java内存区域Java虚拟机在运行程序时会把其自动管理的内存划分为以上几个区域,每个区域都有的用途以及创建销毁的时机,其中蓝色部分代表的是所有线程共享的数据区域,而绿色部分代表的是每个线程的私有数据区域。方法区(Method Area):方法区属于线程共享的内存区域,又称Non-Heap(非堆),主要用于存储已被虚拟机加载的类信息、常量...

2019-01-15 18:23:33

二、并发与高并发之CPU多级缓存-乱序执行优化

处理器为提高运算速度而做出违背代码原有顺序的优化例如:计算a*b的值单核时候,执行会是:多核时候,在CPU乱序执行优化的时候可能变成单核处理器时代处理器能够保证处理器做出的优化不会影响结果,但是多核时代就会造成乱序,使最终结果错误。...

2019-01-15 17:48:50

一、并发与高并发之CPU缓存一致性协议MESI

一、CPU高速缓存(Cache Memory)1、CPU为何要有高速缓存CPU在摩尔定律的指导下以每18个月翻一番的速度在发展,然而内存和硬盘的发展速度远远不及CPU。这就造成了高性能的内存和硬盘价格及其昂贵。然而CPU的高度运算需要高速的数据。为了解决这个问题,CPU厂商在CPU中内置了少量的高速缓存以解决I\O速度和CPU运算速度之间的不匹配问题。在CPU访问存储设备时,无论是存取数据抑...

2019-01-15 17:47:06

HTTP协议

一、HTTP简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统...

2019-01-14 14:44:51

OSI七层模型与TCP/IP五层模型

一、OSI参考模型1、OSI的来源OSI(Open System Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。ISO为了更好的使网络应用更为普及,推出了OSI参考模型。其含义就是推荐所有公司使用这个规范来控制网络。这样所有公司都有相同的规范,就能互联了。2、OSI七层模型的划分OSI定义了网络互连的...

2019-01-14 12:01:19

四十一、并发编程之Java的Executor框架实现原理

一、Java的Executor框架二、Executor接口 public interface Executor { void execute(Runnable command); } Executor接口是Executor框架中最基础的部分,定义了一个用于执行Runnable的execute方法,它没有实现类只有另一个重要的子接口ExecutorSe...

2019-01-11 19:03:03

四十、并发编程之线程池

一、线程池概述1、什么是线程池Java中开辟出了一种管理线程的概念,这个概念叫做线程池,线程池的好处,就是可以方便的管理线程,也可以减少内存的消耗。2、线程池的优势降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系...

2019-01-11 19:02:42

三十九、并发编程之ConcurrentHashMap源码解析

一、ConcurrentHashMap实现原理众所周知,哈希表是中非常高效,复杂度为O(1)的数据结构,在Java开发中,我们最常见到最频繁使用的就是HashMap和HashTable,但是在线程竞争激烈的并发场景中使用都不够合理。1.HashMapHashMap是线程不安全的,在并发环境下,可能会形成环状链表(扩容时可能造成),导致get操作时,cpu空转,所以,在并发环境中使用HashM...

2019-01-10 15:33:39

三十八、并发编程之阻塞队列LinkedBlockingQueue原理简析

一、LinkedBlockingQueue简介基于链表的阻塞队列,同ArrayListBlockingQueue类似,其内部也维持着一个数据缓冲队列(该队列由一个链表构成),当生产者往队列中放入一个数据时,队列会从生产者手中获取数据,并缓存在队列内部,而生产者立即返回;只有当队列缓冲区达到最大值缓存容量时(LinkedBlockingQueue可以通过构造函数指定该值),才会阻塞生产者队列,直到...

2019-01-09 19:07:01

三十六、并发编程之阻塞队列BlockingQueue原理与使用

一、前言在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。二、认识BlockingQueue阻塞队列,顾名思义,首先它是一个队列,而一个队列在数据结构中所...

2019-01-09 19:06:37

三十七、并发编程之有界阻塞队列 ArrayBlockingQueue 原理探究

一、 ArrayBlockingQueue简介基于数组的阻塞队列实现,在ArrayBlockingQueue内部,维护了一个定长数组,以便缓存队列中的数据对象,这是一个常用的阻塞队列,除了一个定长数组外,ArrayBlockingQueue内部还保存着两个整形变量,分别标识着队列的头部和尾部在数组中的位置。ArrayBlockingQueue在生产者放入数据和消费者获取数据,都是共用同一个锁对...

2019-01-09 19:06:16

三十五、并发编程之并发容器ConcurrentLinkedQueue原理与使用

一、简介一个基于链接节点的无界线程安全队列。此队列按照 FIFO(先进先出)原则对元素进行排序。队列的头部 是队列中时间最长的元素。队列的尾部 是队列中时间最短的元素。新的元素插入到队列的尾部,队列获取操作从队列头部获得元素。当多个线程共享访问一个公共 collection 时,ConcurrentLinkedQueue 是一个恰当的选择。此队列不允许使用 null 元素。二、方法摘要o...

2019-01-09 16:57:11

三十四、并发编程之并发容器CopyOnWriteArrayList原理与使用

一、简介CopyOnWriteArrayList是Java并发包中提供的一个并发容器,它是个线程安全且读操作无锁的ArrayList,写操作则通过创建底层数组的新副本来实现,是一种读写分离的并发策略,我们也可以称这种容器为"写时复制器",Java并发包中类似的容器还有CopyOnWriteSet。本文会对CopyOnWriteArrayList的实现原理及源码进行分析。二、实现原理我们都知道...

2019-01-08 19:09:06

三十三、并发编程之同步容器与并发容器

一、同步容器1、容器框架在Java的集合容器框架中,主要有四大类别:List、Set、Queue、Map。List、Set、Queue接口分别继承了Collection接口,Map本身是一个接口。注意Collection和Map是一个顶层接口,而List、Set、Queue则继承了Collection接口,分别代表数组、集合和队列这三大类容器。像ArrayList、LinkedList都是实...

2019-01-08 18:38:24

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。