标签:虚拟内存

Java

为何服务器QPS上不去?Java线程调优权威指南

17

songhua.gao 发布于 2019-07-15

从刚问世起,Java 的部分魅力就来自其多线程。即便在多核和多 CPU 系统司空见惯之前,能够轻松编写多线程程序也是 Java 的一个标志性特征。 Java 性能方面的吸引力显而易见:如果有两个 CPU 可用,那么一个应用能够完成的工作量可能是原来的 2 倍。当然这是在假设任务可...

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

Spring

SpringBoot实战项目mall在Linux环境下的部署(基于Docker容器)

9

dulong 发布于 2019-06-30

本文主要以图文的形式讲解mall在Linux环境下的部署,涉及在Docker容器中安装Mysql、Redis、Nginx、RabbitMQ、Elasticsearch、Mongodb,以及SpringBoot应用部署,基于CenterOS7.6。 Docker环境安装 安装yum...

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

Java

闲谈Android中的内存泄漏

1

darida 发布于 2019-06-29

在长久以来的 Android 开发过程中,内存泄漏一直是一个比较头疼的问题。内存泄漏会导致应用卡顿,用户体验不佳,甚至会造成应用崩溃的严重后果。所以如何科学地进行内存管理一直是大家探讨的话题,从一开始主动使用 MAT 分析 hprof 文件,到后来 LeakCanary “被动”...

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

Java

Java之CAS无锁算法

Harries 发布于 2019-06-25

 如果一个线程失败或挂起不会导致其他线程也失败或挂起,那么这种算法就被称为 非阻塞算法 。而CAS就是一种非阻塞算法实现,也是一种乐观锁技术。它能在不使用锁的情况下实现多线程之间的变量同步,所以CAS也是一种无锁算法。 1、CAS的实现  CAS包含了3个操作数——需要读写的内存...

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

编程技术

解决系统性能问题的银弹—缓存技术

8

xubiao.zhuang 发布于 2019-06-21

仔细观察一下我们现有的系统,小到一颗CPU,大到一个在线交易系统。任何性能问题都可以通过一种方式有效的解决,这种方式就是缓存。不错,缓存几乎可以成为解决性能问题的银弹,百发百中。缓存的主要目的是降低数据访问延时,实现手段多种多样,下面对不同种类的缓存进行介绍。 CPU的缓存 能想...

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

Java

【深入浅出-VisualVM】(4): 分析CPU

14

yeseng 发布于 2019-06-20

有时候好好的程序放到生产服务器上一段时间后,就会发现服务器响应缓慢,进而进一步发现是cpu过高,于是就慌了,造成cpu过高的原因很多,不过大多是由于资源吃紧造成,例如:sql执行过慢,程序里存在死循环,数据库连接未释放,网络阻塞导致的第三方框架代码出现死循环,大量的操作导致死锁等...

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

Java

面试必备:深入 Java 应用性能调优实践

14

xiaoli.he 发布于 2019-06-15

让 Java 应用运行更快:性能调优工具及实践 本文从以下8个方面深入讲解 Java 应用性能优化 1、Java 性能诊断工具 2、Java 应用代码诊断 3、Java GC 诊断 4、Java 性能优化实践 5、JVM 调优:GC 之痛 6、应用层调优:嗅到代码的坏味道 7、数...

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

Java

面试官问我:平常如何对你的Java程序进行调优?

12

songhua.gao 发布于 2019-06-12

Java 应用性能优化是一个老生常谈的话题,典型的性能问题如页面响应慢、接口超时,服务器负载高、并发数低,数据库频繁死锁等。尤其是在“糙快猛”的互联网开发模式大行其道的今天,随着系统访问量的日益增加和代码的臃肿,各种性能问题开始纷至沓来。 Java 应用性能的瓶颈点非常多,比如磁...

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

编程技术

嵌入式系统软件架构设计

小丁 发布于 2019-06-12

编辑推荐: 本文来自于veryarm,本文主要对嵌入式软件开发的特点,讨论架构设计的思路和方法等相关内容。 1. 前言 嵌入式是软件设计领域的一个分支,它自身的诸多特点决定了系统架构师的选择,同时它的一些问题又具有相当的通用性,可以推广到其他的领域。 提起嵌入式软件设计,传统的印...

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

Java

简析Go与Java内存管理的差异

15

刘莉莉 发布于 2019-06-11

前 言  从实践中看,Golang(以下简称Go)应用程序比Java占用更少的内存,这与它们的运行时环境有关,其运行时自带了内存动态分配和自动垃圾回收的管理机制,本文通过分析Go与Java在内存管理机制上的差异,以期对两者在运行时内存方面有更进一步的认识。本文以Go(1...

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

编程技术

剑桥大学学者:透视计算机硬件漏洞

1

尖兵 发布于 2019-06-10

幽灵、熔毁、预兆、行锤击、捣乱者——突然之间好像处理器新出现的漏洞没完没了了。曾经的小众概念,如预测执行、缓存定时侧通道,如今已成为关注焦点。整个软硬件系统中,新的漏洞也开始出现了,例如对不可靠外围组件快速互连(PCIe)或雷雳(Thunderbolt)USB-C外围设备访问存储...

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

Java

配置ELK的环境和整合Spring+Logstash

6

邓龙华 发布于 2019-06-08

在看大型网站的中间件技术,对于Elasticsearch有点兴趣,所以将配置流程记录了一下 为什么要用ELK ELK实际上是三个工具,Elastricsearch + LogStash + Kibana,通过ELK,用来收集日志还有进行日志分析,最后通过可视化UI进行展示。一开始...

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

Java

当我们在谈论高并发的时候究竟在谈什么?

10

dulong 发布于 2019-06-01

什么是高并发? 高并发是互联网分布式系统架构的性能指标之一,它通常是指单位时间内系统能够同时处理的请求数, 简单点说,就是QPS(Queries per second)。 那么我们在谈论高并发的时候,究竟在谈些什么东西呢? 高并发究竟是什么? 这里先给出结论: 高并发 的基本表现...

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

Java

当我们在谈论高并发的时候究竟在谈什么?

10

zhuangli 发布于 2019-06-01

什么是高并发? 按照现在现在google搜索出来的结果,大部分人给出的定义都大同小异。 高并发是互联网分布式系统架构的性能指标之一,它通常是指单位时间内系统能够同时处理的请求数, 简单点说,就是QPS(Queries per second)。 那么我们在谈论高并发的时候,究竟在谈...

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

Java

5月上市新书,总有一本你爱的

31

xiaoli.wang 发布于 2019-05-30

每个月底,异步君都会如约而至,为大家带来当月IT新书书讯。 这里涵盖了本月已出版的所有上新好书,就来这里找寻你的最爱吧! 老办法,还是留言你最爱的那一本,并转发到朋友圈异步君将选出3个书友赠书一本。 如果没有得到赠书也没关系,京东和当当购书,畅享满100减50元,现在囤书最划算。...

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

编程技术

为什么我们可以在系统中打开多个软件而不担心内存不足?

puefu.he 发布于 2019-05-28

这是来自阅读 《许世伟的架构课》软件运行机制及内存管理 章节的笔记。 这是保护模式的作用了。保护模式下,内存访问不再是直接通过物理内存,而是基于虚拟内存。虚拟内存模式下,整个内存空间被分成很多个连续的内存页。每个内存页大小是固定的,比如 64K。 这样,每次 CPU 访问某个虚拟...

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

Java

为什么GC 异常,大家喜欢让Swap背锅呢

6

小丁 发布于 2019-05-27

01 — 背景 在公司内部技术群里,经常有人时不时的问到服务某次GC时间突然很高,有什么办法排查。基本上每次都会有人怀疑会不会Swap导致的,先看看Swap,如果真的使用了Swap区域,基本上就会让Swap区域背锅了。 02 — 案例一:CMS GC时间飙升 有次群里有人给出一个...

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

Java

【巅峰对决】MappedByteBuffer VS FileChannel

8

zhuangli 发布于 2019-05-25

本章转自:莫那·鲁道 文章链接:http://u6.gg/sA94H 前言 Java 在 JDK 1.4 引入了 ByteBuffer 等 NIO 相关的类,使得 Java 程序员可以抛弃基于 Stream ,从而使用基于 Block 的方式读写文件,另外,JDK ...

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