logo头像
Snippet 博客主题
【数据结构与算法】数据结构与算法初识

【数据结构与算法】数据结构与算法初识

1. 学前介绍1.1 学习理由你是不是觉得数据结构和算法,跟操作系统、计算机网络一样,是脱离实际工作的知识?可能除了面试,这辈子也用不着? 数据结构和算法这门课程无论在哪个学校的计算机相关专业,都是一门必修课 。包括我本人在内,在大学所学的数据结构知识都是略知皮毛,工作后才知道这门课程非常重要...

巧用Gitee+PicGo+Typora搭建免费图床

巧用Gitee+PicGo+Typora搭建免费图床

1. 前言最近在用七牛云进行存储文件时,我发现上传图片的会被压缩,图片分辨率压缩后会降低,将图片网络地址引入到博客中,图片内容辨识度也变得很低。 具体的图片被压缩原因是什么,再跟七牛云的客服和工程师进行短暂的沟通,了解到七牛云对象存储的一些限制: 未绑定国内备案域名的对象存储空间,由于测试域...

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

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

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

深入分析HashMap源码

深入分析HashMap源码

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

GC调优基础之必备知识

GC调优基础之必备知识

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

深入分析ArrayList源码

深入分析ArrayList源码

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

Redis持久化机制

Redis持久化机制

1. Redis持久化Redis作为内存数据库,极大的提高了数据的读写效率,这一点毋庸置疑。但是内存作为一个易失存储器,所有的数据在断电后就会丢失,这些在我们看来是不能够接受的。 为了解决以上问题,Redis为我们提供了不同的持久性选项范围: RDB持久性按指定的时间间隔执行数据集的时间点快...

了解常见的Redis集群方式

了解常见的Redis集群方式

1. Redis单节点模式Redis单节点部署架构,即Redis单机版。 1.1 优缺点对比优点: 架构简单,部署与维护方便; 成本低,数据量小的情况下,性价比高 缺点: 单点故障严重,数据可靠性和服务可用性无法保证; 完全基于内存,强依赖于物理硬件,大数量下,性能会达到瓶颈。 ...