logo头像
Snippet 博客主题

【Java并发编程实战】-解读J.U.C并发包之AQS

1. AQS介绍1.1 简要说明所谓的AQS,其实指的是Java并发包(java.util.concurrent)中的抽象类AbstractQueuedSynchronizer。 AQS的核心是一个线程等待队列,采用的是一个先进先出FIFO队列。它可以用于构建锁或者其他相关同步的基础框架。 J...

面试官:你真的了解Java对象吗

公司最近在招一位4年以上的Java高级开发工程师,今天早上HR给了我一份的简历,让我去会议室进行技术面试。 我大概看了下简历的基本项(男、29岁、本科、5年Java开发经验),就去会议室面见应聘者了。 首先见了应聘者打了声招呼,紧接着他开始自我介绍,balabala……… 介绍完毕后,试想着,...

深入分析HashMap源码

1. HashMap简述1.1 大致介绍Map作为存放Key-Value数据容器在日常开发过程中是非常常见的,大部分的高级编程语言都具备Map类型的内存数据结构。在这里我们研究Java语言Map体系中最常用的HashMap(基于JDK1.8的实现)。 首先,我们打开HashMap源码找到类的文...

GC调优基础之必备知识

1. GC基础知识1.1 内存管理内存管理,百度百科的定义是: 它指软件运行时对计算机内存资源的分配和使用的技术。 其最主要的目的是如何高效、快速的分配,并且在适当的时候释放和回收内存资源。 首先,我们先来了解一下常见语言的内存管理。 C是通过两个标准库的函数malloc和free来完成内...

深入分析ArrayList源码

1. ArrayList简述1.1 ArrayList介绍List 接口下的可调整大小的数组实现。数组: 一旦初始化长度就不可以发生改变 1.2 数组结构介绍 增删慢:每次删除元素,都需要更改数组长度、拷贝以及移动元素位置。 查询快:由于数组在内存中是一块连续空间,因此可以根据地址+索引的...

浅谈Java对象四大引用

1. Java四大对象引用在jdk1.2之前,Java引用通俗意义上来讲就是对象引用和被引用的关系,实际定义为:如果reference类型的数据中存储的数值代表的是另外一块内存的起始地址,就称该reference数据是代表某块内存、某个对象的引用。 在JDK1.2之后,Java对引用的概念将引...

RocketMQ消息发送样例

1. 消息发送样例 导入MQ客户端依赖 maven pom.xml文件配置 123456<dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq...

RocketMQ概述

1. MQ介绍1.1 为什么要用MQ消息队列是一种“先进先出”的数据结构 其应用场景主要包含以下3个方面 应用解耦 系统的耦合性越高,容错性就越低。以电商应用为例,用户创建订单后,如果耦合调用库存系统、物流系统、支付系统,任何一个子系统出了故障或者因为升级等原因暂时不可用,都会造成下单操...

【Python爬虫】使用Requests库爬取猫眼电影TOP100数据

爬虫分析爬虫需求描述: 爬取猫眼电影TOP100的电影名称、时间、评分、海报图片等信息 站点: https://maoyan.com/board/4 分析: 打开站点即是猫眼电影TOP100的第一页,点击下一页,我们观察地址栏URL后边追加了?offset=10的参数,显然offset参数代...

记录一次Maven中配置文件尾回车换行引发的问题

问题描述今天打开IDEA加载项目时,发现一个很诡异的问题:项目依赖及代码没任何问题,Maven依赖检测红色波浪线依旧存在。虽说项目依旧能跑起来不影响开发,但是maven命令操作用不了。 遇到问题后,我大吃一惊。昨天看项目还好好的,今天就报出某个项目一个依赖包找不到。可实际上。该依赖包在本地库是...