缓存技术 浏览器缓存是指当我们使用浏览器访问一些网站页面或者http服务时,根据服务端返回的缓存设置响应头将响应内容缓存到浏览器,下次可以直接使用缓存内容或者仅需要去服务端验证内容是否过期即可。这样的好处可以减少浏览器和服务端之间来回传输的数据量,节省带宽提升性能。 访问流程如下: 1、浏览器发起请 ...
分类:
其他好文 时间:
2020-06-20 21:33:59
阅读次数:
53
本文源码:GitHub·点这里||GitEE·点这里一、资源和加锁1、场景描述多线程并发访问同一个资源问题,假如线程A获取变量之后修改变量值,线程C在此时也获取变量值并且修改,两个线程同时并发处理一个变量,就会导致并发问题。这种并行处理数据库的情况在实际的业务开发中很常见,两个线程先后修改数据库的值,导致数据有问题,该问题复现的概率不大,处理的时候需要对整个模块体系有概念,才能容易定位问题。2、演
分类:
编程语言 时间:
2020-06-19 10:32:11
阅读次数:
61
题目:说一下BIO/AIO/NIO 有什么区别?及异步模式的用途和意义? 1F 说一说I/O首先来说一下什么是I/O? 在计算机系统中I/O就是输入(Input)和输出(Output)的意思,针对不同的操作对象,可以划分为磁盘I/O模型,网络I/O模型,内存映射I/O, Direct I/O、数据库 ...
分类:
编程语言 时间:
2020-06-14 01:17:37
阅读次数:
108
当硬件处理能力不能按照摩尔定律垂直发展的时候,选择了水平发展,多核处理器已经广泛应用。未来随着技术的进一步发展,可能出现成百上千个处理核心,但现有的程序运行在多核心处理器上并不能得到较大性能的提升,主要的瓶颈在于程序本身的并发处理能力不强,不能够合理的利用多核心资源。 现有的处理方案是从软件入手,试 ...
分类:
编程语言 时间:
2020-05-28 18:07:41
阅读次数:
112
1、什么是JUC JUC大家可能听说过,它实际上 Java 提供的用于并发处理的工具包。如官方文档所示: 回顾以前 在以前的业务中,我们使用的代码: 1、Thread 2、Runnable:没有返回值、无法抛出异常、效率相比 Callable 较低! 3、Callable 4、还有Locked锁 这 ...
分类:
编程语言 时间:
2020-05-23 18:20:08
阅读次数:
51
volatile :保证可见性,但保证不了原子性。 保证不了原子性,所以在遇到数据并发处理的情况无法保证数据不一致,线程不安全。 dcl:双重检锁机制 public class Singleton { private static Singleton singleton; private Singl ...
分类:
编程语言 时间:
2020-05-19 18:43:03
阅读次数:
68
高并发现象 1. 在同一时间,有多个请求同时到达服务器 相关术语 PV:page view,??访问量 UV:unique visitor,独?访客 QPS:每秒请求数 吞吐量:单位时间内处理的请求数量 响应时间:发送请求到收到响应所花费的时间 压?测试:测试能承受的最?并发数 高并发解决方案 CD ...
分类:
其他好文 时间:
2020-05-17 11:46:31
阅读次数:
67
将框架遇到的问题和框架升级设计进行记录。 一、背景&问题 之前框架是一个基于SOA思想设计的分布式框架。各应用通过服务方式提供使用,服务之间通信是RPC方式调用,具体实现基于.NET的WCF通信平台。框架存在如下2个问题: 1、高并发处理能力不足。一当高并发请求,可能出现多个服务待定处理,导致整个系 ...
分类:
其他好文 时间:
2020-05-16 00:11:03
阅读次数:
116
[toc] 什么是Nginx Nginx是一个轻量级/高性能的反向代理服务器,它实现非常高效的反向代理、负载均衡。它可以处理2 3万并发连接数,官方监测能支持5万并发,现在国内使用网站用户有很多,例如:新浪、网易、腾讯等。 为什么要用Nginx 跨平台、配置简单、方向代理、高并发:处理2 3万并发连 ...
分类:
其他好文 时间:
2020-05-04 17:49:25
阅读次数:
76
一、前言 最近在学习 ,这篇文章就来简单聊聊一道常考的面试题—— 为什么是单线程的。废话不多说,直接开始吧。 二、正文 2.1 为什么需要多线程 首先,现在的 一般都是由多个核心组成,每个核心可以认为是一个独立的处理器,它们能够并行地处理任务。所以,如果我们的 是多核的,但是程序是单线程的,那么执行 ...
分类:
编程语言 时间:
2020-05-03 18:52:34
阅读次数:
85