自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 浅析Google File System(GFS)分布式文件系统

GFS目的及预期GFS是一个可扩展的分布式文件系统,用于大规模数据密集型应用的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,并提供容错功能。它可以给大量的用户提供总体性能较高的服务。是一个面向、可伸缩的分布式文件系统。设计预期:1、系统由大量的廉价普通组件组成,所以对于这些硬件的失效应具有对应的一些列策略2、系统对于大内存和小内存文件都应该有效的存储和管理3、系统对于大内存和小内存的读取操作不应相同,大规模使用流式读取,小规模使用随即读取4、存储的文件尽量不要修改,更多应该是追

2021-08-08 13:27:57 965

原创 深入浅出hashmap底层原理 && 制作一个简单的散列表

HashMap是什么HashMap是通过键值对存储数据的一种数据类型。底层的基本单元是一个节点类,节点类中包含着键(key)和值(value)两种类型。存储的方式是无序的。是一种数组+链表存储方式。那相对于单纯的数组和链表,HashMap又有那些优势呢?数组:采用一段连续的存储单元来存储数据。对于指定下标的查找,时间复杂度为O(1),查找效率高,通过下标可以直接获取到数据。但是对于数组的增删效率就要低很多,向数组中插入一个数,需要就后面的每一个数进行位移,当标定数组超标是还需要新建一个更大的数组将原数

2021-07-27 13:38:02 114

原创 深入理解线程池 && 制作一个线程池

1线程池是什么?线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。对于一个队列的任务,如果将每个任务都创建一个进行任务处理,那有多少个任务就会创建多少个线程,每个线程在其生命周期只能执行一次对应的任务,并且重复的创建销毁线程会有额外的资源消耗,进而影响缓存局部性和整体性能。而线程池中维护着多个线程,这些线程等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,还能防止过分调度。2线程池构造函数

2021-07-17 21:48:07 110

原创 多线程并发的好处、问题以及synchronized关键字的使用方法

多线程并发的好处、问题以及synchronized关键字的使用方法一、线程简介什么线程呢?简单来说线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一个进程中可以并发多个线程,每条线程并行执行不同的任务。二、多线程的好处那我们为什么要使用多线程呢?这里有个例子能很好地说明 Scanner s = new Scanner(System.in); for (int i = 0; i < 100; i++) { Syst

2021-07-03 18:15:16 372

原创 java的图像处理【滤镜,卷积,简单二维码制作】

java的图像处理在java的学习中有一块非常重要的知识点,就是图像的处理。本篇主要介绍几种滤镜,卷积的是使用以及简单的二维码制作过程。1滤镜1.1素描读取图片的rgb值放在二维数组中,分别获取红绿蓝的值将其平均所展示出来的图像即为灰度图像 BufferedImage buffimgs = new BufferedImage(imgdata.length,imgdata[0].length, BufferedImage.TYPE_INT_ARGB); Graphics bgs = buff

2021-06-07 16:30:20 431 4

原创 【java】模拟ArrayList实现相关功能

【java】模拟ArrayList实现相关功能ArrayList集合底层是一个Object类型的数组,默认容量是10,扩容时变为原来的1.5倍。有增加、删除、修改、查找等方法。所以我们可以建立一个集合类模拟实现一个集合的各种方法。新建一个ArrayListClass类,创建Object类数组和int类型的指针用来表示集合长度。在该类中添加增加add()、删除remove()、修改change()、根据值获取第一次出现该值得下标getValue()、根据下标获取值getKey(),查询集合数量size()

2021-05-21 09:44:57 237

原创 继承总结

继承总结继承是类与类之间的一种关系,分为父类和子类两种(在Java中只支持但继承关系)子类使用关键字extends+父类方法名来实现。如:public class 子类 extends 父类{}子类继承了父类的所有内容,但是对于不同访问修饰父类修饰的属性方法,子类所调用的权限也不相同。对于public关键词修饰的属性和方法,子类同一个项目下都可以继承和调用。protected关键词修饰的属性和方法,可以在同包下和子类继承关系下继承和调用。对于缺省关键词的方法和属性,只能在同包下继承的调用,但是对于pr

2021-05-13 16:14:57 84

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除