标签:swap

Java

了解Java中的锁,看这一篇就够了!

xiaoli.wang 发布于 2020-04-05

锁是用来控制多个线程访问同一个共享资源的方式,一般来说,一个锁能防止多个线程同时访问共享资源,在Lock接口出来之前,Java是通过synchronized关键字来实现锁的功能,而Java1.5之后,并发包新增了Lock接口(以及相关实现类)用来实现锁的功能,它提供了与synch...

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

Java

Java多线程中任务有返回值的情形

hanze 发布于 2020-04-04

1. 应用场景 由于 Runnable 接口中的 run() 方法无返回值,当我们需要执行的任务需要返回一个对象的话, Runnable 接口虽然可以用过定义实例变量来完成同样的效果,但并非是最佳的选择。此时,应该定义实现了 Callable 接口的类,借助于Java的线程池来达...

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

Java

Java实习生面试复习(八):volatile的学习

3

刘莉莉 发布于 2020-04-03

我是一名很普通的双非大三学生。接下来的几个月内,我将坚持写博客,输出知识的同时巩固自己的基础,记录自己的成长和锻炼自己,备战2021暑期实习面试!奥利给!! volatile也是多线程这块经常问到的基础问题,以volatile关键字作为一个小的切入点,往往可以一问到底,把Java...

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

编程技术

IPFS的关系族谱、技术架构及工作原理 | 火星号精选

14

darida 发布于 2020-04-03

在上一期【进阶小课堂】中,我们分析了目前由HTTP协议构建的互联网存在的诸多弊端,并介绍了IPFS的基本概念以及IPFS是如何构建下一代互联网的,点击下图即可查看。今天,矿哥和大家分享下IPFS的关系族谱和技术架构。 IPFS的关系图谱 IPFS由Juan Benet(胡安&mi...

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

Java

Java基础知识面试题(2020最新版)

9

songhua.gao 发布于 2020-04-03

Java概述 何为编程 编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。 为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定...

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

Java

Java – 五大集合(数据结构)要点

4

likai 发布于 2020-04-02

1. List 1.主要问题 了解一下ArrayList和CopyOnWriteArrayList的 增删改查 实现原理 看看为什么说ArrayList查询快而增删慢? CopyOnWriteArrayList 与 Vector 的选择 LinkedList 与 ArrayLis...

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

Java

震精!Spring Boot内存泄露,排查竟这么难!

15

邓龙华 发布于 2020-04-02

点击上方 "IT牧场" ,选择 "设为星标" 技术干货每日送达! 作者 | 纪兵 来源 |   http://suo.im/5MABXL 背景 为了更好地实现对项目的管理,我们将组内一个项目迁移到MDP框架(基于Spring Bo...

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

Spring

spring boot 引起的 “堆外内存泄漏”

15

xiaoli.wang 发布于 2020-04-02

背景 组内一个项目最近一直报swap区域使用过高异常,笔者被叫去帮忙查看原因。发现配置的4G堆内内存,但是实际使用的物理内存高达7G,确实有点不正常,JVM参数配置是: -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -XX:+A...

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

编程技术

前端架构性能优化策略

9

songhua.gao 发布于 2020-03-31

这篇文章介绍了一些能让前端应用加载更快,并能提供良好用户体验的技术。 我们要看待的是前端的总体架构。你该如何先加载必需的资源,并尽量提升资源在缓存中的命中概率? 本文不会过多涉及后端交付资源的方式,以及你的页面是否需要客户端应用,或者如何优化应用程序的渲染时间这些内容。 前言 我...

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

Java

深入理解Java多线程与并发框(第⑧篇)——深入理解:CAS

Harries 发布于 2020-03-28

CAS 是 CompareAndSwap 的缩写,意思是 比较 并 交换。 它是无锁化的实现是经典的乐观锁。 CAS 操作很简单,它包含三个操作数:内存地址V、预期原值A、新值B。先比较内存地址V处的值与预期原值A是否相等,如果相等就将内存地址V处更新为新值B。在配合循环使用时,...

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

Java

有个定时任务突然不执行了,别急,原因可能在这

2

dulong 发布于 2020-03-27

小伙伴们,我们一起来避坑:sweat_smile::sweat_smile: 问题描述 程序发版之后一个定时任务突然挂了! “幸亏是用灰度跑的,不然完蛋了。:sob:” 之前因为在线程池踩过坑,阅读过 ThreadPoolExecutor 的源码,自以为不会再踩坑,没想到又一不小...

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

Java

非阻塞同步机制和CAS

yanxinchi 发布于 2020-03-27

非阻塞同步机制和CAS 我们知道在java 5之前同步是通过Synchronized关键字来实现的,在java 5之后,java.util.concurrent包里面添加了很多性能更加强大的同步类。这些强大的类中很多都实现了非阻塞的同步机制从而帮助其提升性能。 什么是非阻塞同步 ...

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

Spring

震精!Spring Boot内存泄露,排查竟这么难!

15

xiaoli.wang 发布于 2020-03-26

http://suo.im/5MABXL 背景 为了更好地实现对项目的管理,我们将组内一个项目迁移到MDP框架(基于Spring Boot),随后我们就发现系统会频繁报出Swap区域使用量过高的异常。笔者被叫去帮忙查看原因,发现配置了4G堆内内存,但是实际使用的物理内存竟然高达7...

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

Java

Java 5亿整数大文件怎么排序

3

dulong 发布于 2020-03-24

问题 给你1个文件 bigdata ,大小4663M,5亿个数,文件中的数据随机,如下一行一个整数: 6196302 3557681 6121580 2039345 2095006 1746773 7934312 2016371 7123302 8790171 2966901 ....

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

Java

Java并发编程之CAS第一篇-什么是CAS

5

尖兵 发布于 2020-03-24

Java并发编程之CAS第一篇-什么是CAS 通过前面几篇的学习,我们对并发编程两个高频知识点了解了其中的一个—volatitl。从这一篇文章开始,我们将要学习另一个知识点—CAS.本篇是《凯哥并发编程学习》系列之《CAS系列》教程的第一篇:什么是CAS。 本文主要内容: 生活中...

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

Java

深入探索Android内存优化(炼狱级别)

9

hanze 发布于 2020-03-23

本文由 jsonchao投稿微信:bcce5360 前言 成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。 本篇是 Android 内存优化的进阶篇,难度可以说达到了炼狱级别,建议对内存优化不是非常熟悉的仔细看看前篇文...

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

Java

Java中的锁原理、锁优化、CAS、AQS详解

23

zhuangli 发布于 2020-03-20

点击上方 “ 匠心零度 ” ,选择“ 设为星标 ” 做积极的人,而不是积极废人 作者:景小财 www.jianshu.com/p/e674ee68fd3f 1、为什么要用锁? 锁-是为了解决并发操作引起的脏读、数据不一致的问题。 2、锁实现的基本原理 2.1、volatile J...

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