标签:swap

Java

后端架构师技术图谱

likai 发布于 2019-03-20

今天无意间看到github上一篇超炫的博文,是阿里工程师总结的 《后端架构师技术图谱》 ,分享给大家。 数据结构 队列 集合 链表、数组 字典、关联数组 栈 树 二叉树 完全二叉树 平衡二叉树 二叉查找树(BST) 红黑树 B,B+,B*树 LSM 树 BitSet 常用算法 排...

阅读(21)评论(0)赞 (0)

Java

又发现一个导致 JVM 物理内存消耗大的 Bug(已提交 Patch)

3

hanze 发布于 2019-03-20

概述 最近我们公司在帮一个客户查一个JVM的问题(JDK1.8.0_191-b12),发现一个系统老是被OS Kill掉,是内存泄露导致的。在查的过程中,阴差阳错地发现了JVM另外的一个Bug。这个Bug可能会导致大量物理内存被使用,我们已经反馈给了社区,并得到快速反馈,预计在O...

阅读(16)评论(0)赞 (0)

编程技术

服务部署如何做到高可用?这份“三级跳”秘籍送给你

5

刘莉莉 发布于 2019-03-19

一个高可用的服务需要从部署、变更、预案、监控、安全等多方面考虑。如何做到 99.99% 服务高可用的要求,需要各个角色的工程师共同努力。从部署的角度,本文介绍了高可用服务所需具备的规范,案例部分通过对 Yum 源服务架构的演变让读者更好的理解高可用服务部署,希望对大家有所帮助。e...

阅读(14)评论(0)赞 (0)

Java

【J2SE】java并发基础

2

小丁 发布于 2019-03-19

并发简述 并发通常是用于提高运行在 单处理器 上的程序的性能。在单 CPU 机器上使用多任务的程序在任意时刻只在执行一项工作。 并发编程使得一个程序可以被划分为多个分离的、独立的任务。一个线程就是在进程中的一个单一的顺序控制流。 java的线程机制是抢占式。 线程的好处是提供了轻...

阅读(14)评论(0)赞 (0)

Java

java中CAS

dulong 发布于 2019-03-17

前言:在JDK1.5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁锁机制存在以下问题: (1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。  (2)一个线程持有锁会导致其它所有需要此锁的线程挂起。 ...

阅读(20)评论(0)赞 (0)

Java

第七届蓝桥杯Java A——交换瓶子

darida 发布于 2019-03-16

有N个瓶子,编号 1 ~ N,放在架子上。 比如有5个瓶子: 2 1 3 5 4 要求每次拿起2个瓶子,交换它们的位置。 经过若干次后,使得瓶子的序号为: 1 2 3 4 5 对于这么简单的情况,显然,至少需要交换2次就可以复位。 如果瓶子更多呢?你可以通过编程来解决。 输入格式...

阅读(13)评论(0)赞 (0)

Java

CAS原理深度解析

2

xubiao.zhuang 发布于 2019-03-15

CAS:Compare and Swap, 翻译成比较并交换。 java.util.concurrent 包中借助CAS实现了区别于 synchronouse 同步锁的一种乐观锁。 本文先从CAS的应用说起,再深入原理解析。 2. CAS应用 CAS有3个操作数,内存值V,旧的预...

阅读(19)评论(0)赞 (0)

编程技术

架构师的操作系统

zhuangli 发布于 2019-03-15

操作系统 操作系统时有两个主要部分组成的:硬件和软件。硬件是计算机的物理设备。软件则是使得硬件能够正常工作的程序的集合。计算机软件分成两大类:操作系统和应用程序。应用程序使用计算机硬件来解决用户的问题。操作系统则控制用户对硬件访问。 操作系统时有两个主要部分组成的:硬件和软件。硬...

阅读(22)评论(0)赞 (0)

Java

蚂蚁金服面试题及答案之二面

小丁 发布于 2019-03-15

二面 22、你有什么问题想问我的吗? 1、自我介绍、工作经历、技术栈 2、项目中你学到了什么技术? 3、微服务划分的粒度? 4、微服务的高可用怎么保证的? 负载均衡与反向代理,隔离,限流,降级,超时与重试,回滚,压力测试与应急预案 5、常用的负载均衡,该怎么用,你能说下吗? 1、...

阅读(62)评论(0)赞 (0)

Java

Dubbo Metrics 发布新版本 2.0.1 | Dubbo 的度量统计基础设施

1

刘莉莉 发布于 2019-03-14

对服务进行实时监控,了解服务当前的运行指标和健康状态,是微服务体系中不可或缺的环节。Metrics 作为微服务的重要组件,为服务的监控提供了全面的数据基础。 近日,Dubbo Metrics 发布了2.0.1版本,本文将为您探秘 Dubbo Metrics 的起源,及 ...

阅读(27)评论(0)赞 (0)

Java

深入剖析Java即时编译器(下)

7

dulong 发布于 2019-03-14

在引入分层编译之前,我们需要手动的选择编译器。对于启动性能有要求的短时运行程序,我们会选择C1编译器,对应参数-client,对于长时间运行的对峰值性能有要求的程序,我们会选择C2编译器,对应参数-server。 Java7引入了分层编译,使用-XX:+TieredCompila...

阅读(28)评论(0)赞 (0)

Java

CAS原理分析及ABA问题详解

1

xiaoli.wang 发布于 2019-03-13

CAS 即 Compare And Swap 的缩写,翻译成中文就是 比较并交换 ,其作用是让CPU比较内存中某个值是否和预期的值相同,如果相同则将这个值更新为新值,不相同则不做更新,也就是CAS是 原子性 的操作,其实现方式是通过借助 C/C++ 调用CPU指令完成的,所以效率...

阅读(30)评论(0)赞 (0)

编程技术

filecoin技术架构分析之十五:filecoin源码分析之节点运行逻辑

Harries 发布于 2019-03-12

我是先河系统CTO杨尉,欢迎大加关注的的Github: waynewyang ,本文是 filecoin技术架构分析系列文章 第十五章源码分析之节点运行逻辑。 分析基于的源码版本:go-filecoin master a0598a54(2019年3月9日) 前提 我们在前面的章节...

阅读(49)评论(0)赞 (0)

编程技术

filecoin技术架构分析十四:filecoin源码分析之服务层链同步、共识协议及挖矿

刘莉莉 发布于 2019-03-12

我是先河系统CTO杨尉,欢迎大加关注的的Github: waynewyang ,本文是 filecoin技术架构分析系列文章 第十四章源码分析之服务层链同步、共识协议及挖矿。 分析基于的源码版本:go-filecoin master a0598a54(2019年3月9日) cha...

阅读(33)评论(0)赞 (0)

Java

推荐这几款开发流程增强工具让您事半功倍

6

songhua.gao 发布于 2019-03-12

JRebel:热部署解决方案 Jrebel 可快速实现热部署,节省了大量重启时间,提高了个人开发效率。网上可搜索到破解版。 JRebel是一款JAVA虚拟机插件,它使得JAVA程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。JRebel使你能即时分别看...

阅读(22)评论(0)赞 (0)

Java

JAVA基础学习之-AQS的实现原理分析

xubiao.zhuang 发布于 2019-03-11

AbstractQueuedSynchronizer是JUC的核心框架,其设计非常精妙。 使用了Java的模板方法模式。 首先试图还原一下其使用场景: 对于排他锁,在同一时刻,N个线程只有1个线程能获取到锁;其他没有获取到锁的线程被挂起放置在队列中,待获取锁的线程释放锁后,再唤醒...

阅读(32)评论(0)赞 (0)

Java

10分钟掌握ConcurrentHashMap 3分钟清楚和HashMap、Hashtable的区别

5

xirruiqiang 发布于 2019-03-11

ConcurrentHashMap 顾名思义就是同步的HashMap,也就是线程安全的HashMap,所以本篇介绍的ConcurrentHashMap和HashMap有着很重要的关系,所以建议之前没有了解过HashMap的可以先看看这篇关于HashMap的原理分析 《HashMa...

阅读(31)评论(0)赞 (0)

编程技术

『互联网架构』软件架构-分布式系列并发编程atomic&collections(31)

4

yanxinchi 发布于 2019-03-11

在java中提供了一种对于原子操作的类,Atomic的包名为java.util.concurrent.atomic。这个包里面提供了一组原子变量的操作类,这些类可以保证在多线程环境下,当某个线程在执行atomic的方法时,不会被其他线程打断,而别的线程就像自旋锁一样,一直等到该方...

阅读(32)评论(0)赞 (0)