后端

直接内存

什么是直接内存 直接内存就是指:java堆外内存。 直接内存不是虚拟机运行时数据区的一部分,也不是Java虚拟机规范中定义的内存区域。 直接内存的分配不会受到java堆大小的限制,但是既然是内存,则肯定还是会受到本机总内存的大小及处理器寻址空间的限制。 服务器管理员配置虚拟机参数时,一般会根据实际内存设置-Xmx等参数信息,但经常会忽略掉直接内存,使得各个内存区域的总和大于物理内存限制。(包括物

前端模块化(AMD,CMD,CommonJs,ES6)

文章序 总是会看到前端模块化的这几个技术,今天一次性整理,如有错误欢迎评论指正! AMD 异步加载,依赖前置,前置依赖建议写在前引用,在所有模块加载完成后立即执行回调函数,用户体验好,不容易造成卡顿 需要引用require.js //math.js define([], function () { function add(a, b) { return a + b; } ret

Java多线程 - 线程通信

1. 通信方式 要想实现多个线程之间的协同,如:线程执行先后顺序、获取某个线程执行的结果等等。涉及到线程之间相互通信,分为下面四类: 文件共享 网络共享 共享变量 jdk提供的线程协调API 细分为: suspend/resume、wait/notify、park/unpark (1) 文件共享 文件共享 (2) 网络共享 网络资源的共享,此处略 (3) 变量共享 变量共

SpringBoot集成redisson操作redis

一、配置 1.1 引入maven <dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> <version>3.17.0</version> </dependency> 1.2

分布式 - 演进过程

单机架构 网站初时,应用数量和用户量都极少,可以把应用程序和数据库部署在同一台服务器上。 第一次演进:应用与数据库分离 应用与数据库对资源的消耗不同,分开部署在独立的服务器上能显著提高两者各自性能。 随着用户数的增长,并发读写数据库成为瓶颈 第二次演进:引入缓存 缓存能把绝大多数请求在读写数据库前拦截掉,大大降低数据库压力。 使用分布式缓存,例

万字长文告诉你,B 站是怎样崩的

一年之后,B 站终于把故障复盘写了出来。 我简单看了一下,和我当初猜测的原因部分吻合,猜对了由于某接口负载过大导致雪崩效应,但没有猜对导致负载过大的原因。 很显然,这篇文章是从纯技术角度解读本次故障的。 B 站有 UP 主做了这方面的视频,但受篇幅所限,讲的还不够细致,我尽力做了补充,但最终还是决定单独写一篇文章讲讲这件事。 如果大家对技术有一定了解,比如你听说过微服务、负载均衡、集群、多活,并且

分布式--使用Dubbo搭建分布式项目

在分布式架构中,我们会将不同功能模块化,部署到不同的服务器上,这时不同模块之间的通讯就由RPC框架完成,上次介绍了Dubbo的基本使用,知道了它基于Spring容器,因此在SpringBoot项目中可以很方便的使用 一、项目配置 还是利用经典的oracle部门员工表,MyBatis--初入MyBatis中可以找到创建表和数据的sql,实现mapper层和service层的分布式架构 项目依赖关系如

JVM调优-JVM调优实践一

1.写在前面 前面已经分享了很多关于jvm的知识,具体的详情都可以查看上几篇的文章。 从jvm的调优原理,垃圾查找算法,垃圾回收算法,再到jvm调优工具,调优参数等。 需要掌握的jvm知识,已经是循序渐进,一步一步的深入学习。 那在掌握这些内容的时候,是不是有种想去实践的冲动呢? 好了,今天我们就来进行一次jvm调优实践之旅吧!!! 主要从以下几个方面进行展开描述: JVM实践调优主要步骤 分