02 2019 档案
摘要:服务化有什么好处? 服务化的一个好处就是,不限定服务的提供方使用什么技术选型,能够实现大公司跨团队的技术解耦,如下图所示: 服务A:欧洲团队维护,技术背景是Java 服务B:美洲团队维护,用C++实现 服务C:中国团队维护,技术栈是go 服务A:欧洲团队维护,技术背景是Java 服务B:美洲团队维护
阅读全文
摘要:一、概述 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLo
阅读全文
摘要:在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下: 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁 上面是很多锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的设
阅读全文
摘要:在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。 1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: 第一,控制
阅读全文
摘要:1 前言 2 优化的哲学 3 优化思路 3.1 优化什么 3.2 优化的范围有哪些 3.3 优化维度 4 优化工具有啥? 4.1 数据库层面 4.2 数据库层面问题解决思路 4.3 系统层面 4.4 系统层面问题解决办法 5 基础优化 5.1 优化思路 5.2 硬件优化 5.3 服务器硬件优化 5.
阅读全文
摘要:相信大家都有感触,线上服务内存OOM的问题,是最难定位的问题,不过归根结底,最常见的原因: 本身资源不够 申请的太多 资源耗尽 本身资源不够 申请的太多 资源耗尽 58到家架构部,运维部,58速运技术部联合进行了一次线上服务内存OOM问题排查实战演练,将内存OOM问题定位三板斧分享出来,希望对大家也
阅读全文
摘要:压缩列表ziplist ziplist是一种连续,无序的数据结构。压缩列表是 Redis 为了节约内存而开发的, 由一系列特殊编码的连续内存块组成的顺序型(sequential)数据结构。 组成 记录了压缩列表包含的节点数量: 当这个属性的值小于UINT16_ MAX (65535)时, 这个属性的
阅读全文
摘要:SkipList 俗称跳表,跳表是一种随机化的数据结构,目前开源软件 Redis 和 LevelDB 都有用到它,它的效率和红黑树以及 AVL 树不相上下,但跳表的原理相当简单,只要你能熟练操作链表,就能轻松实现一个 SkipList。 有序表的搜索 考虑一个有序表: 从该有序表中搜索元素 < 23
阅读全文
摘要:一、简介和应用 二、Redis的对象redisObject 三、String 四、List 4.1 linkedlist(双端链表) 4.2 ziplist(压缩列表) 五、Hash 六、Set 七、ZSet 一、简介和应用 二、Redis的对象redisObject 三、String 四、List
阅读全文
摘要:JDK 11主要特性一览 jdk11即将在9月25号发布正式版。确定的新特性包括以下17个 181 嵌套类可见性控制 309 动态文件常量 315 改进 Aarch64 Intrinsics 318 Epsilon–一个无操作的垃圾收集器 320 删除 Java EE 和 CORBA 模块 321
阅读全文
摘要:JDK10 新特性目录导航: 局部变量类型推断 将JDK多存储库合并为单储存库 垃圾回收接口 并行Full GC 的G1 应用数据共享 线程局部管控 移除Native-Header Generation Tool (javah) Unicode 标签扩展 备用内存设备上分配堆内存 基于实验JAVA
阅读全文
摘要:JDK9 新特性目录导航 目录结构 模块化系统 jshell 多版本兼容JAR 接口的私有方法 改进try-with-resourcs 改进砖石操作符 限制使用单独下划线标识符 String存储结构变更 快速创建只读结合 增强Stream API 改进Optional 类 多分辨率图像 API 全新
阅读全文
摘要:JDK8 新特性目录导航: Lambda 表达式 函数式接口 方法引用、构造器引用和数组引用 接口支持默认方法和静态方法 Stream API 增强类型推断 新的日期时间 API Optional 类 重复注解和类型注解 Lambda 表达式 Lambda 是一个匿名函数,我们可以把 Lambda
阅读全文
摘要:JDK7新特性的目录导航: 二进制字面值 switch 语句支持 String try-with-resources catch 多个类型异常 字面值中使用下划线 类型推断 改进泛型类型可变参数 其它 二进制字面值 在Java SE 7,整数类型(byte,short,int 和 long)也可以使
阅读全文
摘要:JDK6新特性目录导航: Desktop类和SystemTray类 JAXB2实现对象与XML之间的映射 StAX Compiler API 轻量级 Http Server API 插入式注解处理API(Pluggable Annotation Processing API) 用Console开发控
阅读全文
摘要:JDK5新特性目录导航: 自动拆装箱 Foreach 静态导入 可变参数 Var args 枚举 格式化输出 泛型 ProcessBuilder 内省 线程并发库(JUC) 监控和管理虚拟机 元数据 自动拆装箱 Java数据类型分两种:基本数据类型 和 引用数据类型(对象) 有时候我们需要将基本数据
阅读全文
摘要:为了大家对JDK有一个全面的了解,下面是我从网上查找并整理了JDK5以后的所有关键新特性!(将会持续更新中) JDK5新特性 自动装箱与拆箱 枚举 静态导入 可变参数(Varargs) 内省(introspector) 泛型(Generic) For-Each循环 JDK6新特性 Desktop类和
阅读全文
摘要:前言 最近工作中用到反向代理,发现网络代理的玩法还真不少,网络背后有很多需要去学习。而在此之前仅仅使用了过代理软件,曾经为了访问google,使用了代理软件,需要在浏览器中配置代理的地址。我只知道有代理这个概念,并不清楚代理还有正向和反向之分,于是赶紧学习一下,补充一下知识。首先弄清楚什么是正向代理
阅读全文
摘要:前言 当我们提起集群时,一般所用的插件就是nginx。nginx功能如今越来越完善。第三方模块也多如牛毛,在此,总结一下不牵扯第三方模块所具有的功能。 基本功能 反向代理 负载均衡 HTTP服务器(动静分离) 正向代理 反向代理 负载均衡 HTTP服务器(动静分离) 正向代理 反向代理 反向代理应该
阅读全文
摘要:需求之缘由 用户A在网页段登陆,系统或其他用户的某些操作会导致在网页显示消息,用以提醒用户。实现方式大致有三种。 消息通知之发送方和处理方 发送方 系统发给A的“系统通知”,可能对实时性要求没这么高 用户发给A的“聊天消息”,有对实时性要求比较高,越实时越好 系统发给A的“系统通知”,可能对实时性要
阅读全文
摘要:what is feeding? 通俗点说feed系统就是当你登陆进对应网站后:微信朋友圈的动态、人人网上看到的一件件新鲜事、新浪微博上推到你面前的一条条新围脖等等。系统中的每一条消息就是一个feed。feed的获取方式主要有两种:push(推)以及pull(拉)。也就是接下来所说的读扩散和写扩散。
阅读全文
摘要:随着企业的发展,所用的系统越来越复杂。系统势必会发展成分布式系统。消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋,可靠投递,广播,最终一致性等问题。实现高性能,高可用,可伸缩和最终一致性架构。 当前使用较多的 消息队列 有 RabbitMQ、RocketMQ、Activ
阅读全文
摘要:缓存来由 随着互联网系统发展的逐步完善,为了提高系统的qps,目前的绝大部分系统都增加了缓存机制从而避免请求过多的直接与数据库操作从而造成系统瓶颈,极大的提升了用户体验和系统稳定性。缓存主要都存放到内存里面,访问速度比数据库查询快很多。 缓存衍生的六大新生的问题 使用缓存给系统带来了一定的质的提升,
阅读全文
摘要:服务发现之来源 在云计算和容器化技术发展火热的当下,微服务的趋势逐渐流行。那什么是微服务架构?简单来说,微服务就是用一组小服务的方式来构建一个应用,服务独立运行在不同的进程中,服务之间通过轻量的通讯机制(如 RESTful 接口)来交互,并且服务可以通过自动化部署方式独立部署。 从定义中不难理解,微
阅读全文
摘要:什么是token Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。 基于 Token 的身份验证 使用基于 Token 的身份验证方法,
阅读全文
摘要:什么是redis Redis是一种面向“key-value”类型数据的分布式NoSQL数据库系统,具有高性能、持久存储、适应高并发应用场景等优势。它虽然起步较晚,但发展却十分迅速。 redis为何需要持久化 由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是
阅读全文

浙公网安备 33010602011771号