自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

猿来好吧的博客

技术改变生活

  • 博客(23)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java设计模式系列——组合模式

文章目录1、什么是组合模式(Composite Pattern)2、组合模式详解2.1、组合模式解决的问题2.2、组合模式设计类图2.3、组合模式角色构成3、组合模式实现步骤3.1、定义抽象组件接口3.2、实现叶子节点3.3、定义实现组件集合类4、组合模式解决的问题1、什么是组合模式(Composite Pattern)组合模式是一种对象结构型模式,将对象组合成树形结果以表示“部分-整体”的层次结构。Composite使得用户对单个和组合对象的使用具有一致性。 以上是《设计模式》中文译版的一书中的定义,

2021-03-23 14:29:55 491

原创 Java设计模式系列——适配器模式

文章目录1、适配器模式应用场景2、适配器模式详解2.1、适配器模式角色构成2.2、适配器模式分类3、适配器模式的实现步骤及案例3.1、确定适配目标接口3.2、确定被适配者3.3、创建适配器1、适配器模式应用场景适配器模式(Adapter Pattern)是指将一个类的接口转换成用户期望的另一个接口,使原本接口不兼容的类可以一起工作,属于结构型设计模式。适配器模式适用于以下集中业务场景:已经存在的类的方法和需求不匹配(方法结果相同或者相似)的情况。适配器模式不是软件设计初始阶段考虑的设计模式,是随着

2021-03-10 16:43:06 214

原创 Java设计模式系列——观察者模式

文章目录1、观察者模式应用场景2、观察者模式案例3、观察者模式的优缺点1、观察者模式应用场景观察者模式(Observer Pattern)定义了对象之间的一对多依赖,让多个观察者同时监听一个主体对象,当主体对象发生变化时,他的所有依赖者(观察者)都会收到通知并更新,属于行为型模式。观察者模式有时候也叫做发布订阅模式。观察者模式主要用于在关联行为之间建立一套触发机制的场景。2、观察者模式案例假设现在有如下场景,网课在线问答系统,当学生在这个系统上提交问题之后,所有注册到这个系统的老师都可以收到问题提交

2021-03-04 15:34:26 110

原创 Java设计模式系列——策略模式

1、什么是策略模式(Strategy Pattern)策略模式(Strategy Pattern)是指定义了算法家族并分别封装起来,让它们之间可以相互替换,此模式使得算法的变化不会 影响使用算法的用户。2、策略模式的应用场景策略模式的应用场景如下:系统中有很多类,而它们的区别仅仅在于其行为不同。一个系统需要动态的在几种算法之间选择一种。3、策略模式的成员结构策略模式有以下三种角色构成抽象策略类:定义所有支持的算法公共接口。具体策略实现类:实现抽象策略接口实现具体的算法策略。环境类(

2021-03-01 13:51:09 266 2

原创 Java设计模式系列——单例模式

1、单例模式的应用场景单例模式(Singleton Pattern)是指确保一个类在任何情况下都绝对只有一个实例,并且提供一个全局访问点。单例模式是创建型模式,在实际的开发过程中应用广泛,例如J2EE中的ServletContext、ServletContextConfig等,Spring框架中ApplicationContext、数据库连接池等都是单例形式。2、饿汉式单例模式饿汉式单例模式在类加载的时候就立即初始化,并且创建单例对象 。因此这种单例模式是天然的线程安全的,在线程还没有出现之前就已经实

2021-02-04 15:02:16 116

原创 Git一次性设置用户名密码

git config --global credential.helper storegit config --global user.email “你的邮箱”git config --global user.name “你的github/gitLab用户名”git push / git pull 这里的主要目的是唤醒用户名、密码输入窗口输入你的用户名、密码,这时候已经系统已经将你的用户名密码全局保存,以后就不必再输入了。...

2021-01-19 14:57:08 753

原创 Spring中文文档

1、Spring全家桶中文文档Spring全家桶

2021-01-12 11:09:46 288

转载 一个关于AQS的博文

https://mp.weixin.qq.com/s/trsjgUFRrz40Simq2VKxTA

2021-01-11 15:18:02 50

原创 用@ControllerAdvice优雅的处理异常

@ControllerAdvice是Spring3.2中新增的注解,可以用于定义@ExceptionHandler、@InitBinder、@ModelAttribute,并应用到所有@RequestMapping、@PostMapping, @GetMapping注解中。下面主要演示与@ExceptionHandler自定义全局异常捕捉处理。自定义异常类@Datapublic MyException extends RuntimeException { // 自定义异常code private

2020-12-15 15:18:56 130

原创 Java内存模型与线程

1、计算机硬件的缓存一致性由于计算机存储设备与处理器的运算速度有着几个数量级的差距,所以现代计算机不得不加入一层或者多层读写速度尽可能接近处理器运算速度的高速缓存(Cache)来作为处理器与内存之间的缓冲:将运算需要的数据复制到缓存中,让运算能够快速进行,当运算结束后再从缓存中同步回内存中,这样处理器就无需等待缓慢的内存读写了。基于高速缓存的存储交互很好的解决了处理器与内存速度之间的矛盾,但它却引入了一个新的问题:缓存一致性(Cache Coherence)。在一个多路处理器系统中,每一个处理器都有自己

2020-07-22 16:12:02 91

原创 大厂面试必问——虚拟机类加载机制

1、概述***Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制。***与那些在编译时需要进行连接的语言不同,在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略让Java语言进行提前的编译会面临额外的困难,也会让类加载时稍微增加一些性能开销,但是却为Java应用提供了极高的扩展性和灵活性,Java天生可以动态扩展的语言特性就是依赖运行期动态加载和动态连接这个

2020-07-13 16:09:49 221

原创 JVM垃圾收集器与内存分配策略(四)—— Garbage First

Garbage First 收集器Garbage First(简称G1)收集器时垃圾收集器技术发展史上的里程碑式的成果,它开创了收集器面向局部收集的设计思路和基于Region的内存布局形式。G1是一款主要面向服务端应用的垃圾收集器。HotSpot开发团队最初赋予它的期望是(在比较长期的)未来可以替换掉JDK5中发布的CMS收集器。作为CMS收集器的替代者和继承人,设计者们希望做出一款能够建立起“停顿时间模型”(Pause Prediction Model)的收集器,停顿时间模型的意思是能够支持指定在一

2020-07-01 17:02:33 189

原创 JVM垃圾收集器与内存分配策略(三)—— 垃圾收集器

1、Serial收集器Serial收集器时最基础、历史最悠久的收集器,JDK1.3.1之前是HotSpot虚拟机新生代收集器的唯一选择。这个收集器是一个单线程工作收集器,这里的“单线程”的意义并不仅仅是说明它只会使用一个处理器或者一条收集线程去完成垃圾收集工作,更重要的是强调在它进行垃圾收集时,必须暂停其他所有工作线程,直到它收集结束(Stop The World)。Serial/Serial Old收集器运行过程示意图:2、ParNew收集器ParNew收集器实质上时Serial收集器的多线程并

2020-06-30 16:37:28 135

原创 JVM垃圾收集器与内存分配策略(二)—— 垃圾收集算法

1、垃圾收集算法从如何判定对象消亡的角度出发,垃圾收集算法可划分为 “引用计数式垃圾收集”(Reference Counting GC)和 “追踪式垃圾收集”(Tracing GC)两大类,这两类也常被称作 “直接垃圾收集” 和 “间接垃圾收集”。1.1、分代收集理论当前商业虚拟机的垃圾收集器,大多数遵循了 “分代收集”(Generational Collection)的理论进行设计,它建立在两个粉黛假说之上:弱分代假说(Weak Generational Hypothesis):绝大数对象都是朝

2020-06-28 16:15:55 132

原创 JVM垃圾收集器与内存分配策略(一)

1、对象已死?在堆里存放着Java世界几乎所有的对象实例,垃圾收集器在堆进行回收前,第一件事情就是要确定这些对象之中哪些还 “存活” 着,哪些已经 “死去” (即不可能再被任何途径使用了)。1.1、引用计数法...

2020-06-24 16:19:45 91

原创 Java虚拟机内存模型

一、JVM内存区域1.运行时数据区域根据《Java虚拟机规范》的规定,Java虚拟机所管理的内存主要包括以下几个运行时数据区域:1.1 程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码指令的行号指示器。每条线程都有一个独立的程序计数器,各条线程之间计数互不影响,独立存储,这类内存区域为 ‘线程私有’ 的内存。如果线程执行的是一个Java方法,这个计数器记录的时正在执行的虚拟机字节码指令的地址;如果执行的是本地(Nati

2020-06-23 17:14:07 1028

原创 centos7 安装mysql5.7

一,下载MySQL源安装包(采用wget的方式,如果没有安装一下)wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm(直接复制命令即可)二,安装MySQL源yum localinstall mysql57-community-release-el7-8.noarch.rpm检查MySQL源是否安装成功三,...

2018-06-08 15:42:35 109

原创 centos7安装nginx

一,环境准备(新环境需要安装)1.安装gcc gcc-c++2.安装PCRE库3.安装openssl4.安装zlib二,nginx下载安装(可以直接在官网下载,这里采用wget安装)点击打开链接1.安装wget2.利用wget下载nginx3.解压配置安装预编译nginx...

2018-05-25 14:59:46 120

原创 Git关联码云仓库

第一步:下载安装Git下载地址:点击打开链接安装完成后,右键桌面会看到下面两个选项:点击GitBash打开git命令窗口第二步:生成git账号ssh公钥首先添加git账号和邮箱地址输入命令 git config --global user.name "码云的账号" 回车,没什么提示接着输入:git config --global user.email "注册码云的邮箱" 回车最后生成公钥:输入命令...

2018-03-08 14:22:32 2776

原创 Windows环境下调试hadoop程序笔记

环境准备1.系统:windows102.java环境:jdk1.83.添加环境变量:JAVA_HOME4.下载hadoop 我这里下载的是hadoop2.7.4 5.添加环境变量:HADOOP_HOME=解压hadoop的路径 我的是:D:\hadoop2.7.4\6.将D:\hadoop2.7.4\bin和D:\hadoop2.7.4\sbin添加到系统环境变量path中7.这里还需要下载一个重...

2018-03-07 16:18:36 516

原创 关于Windows环境下hadoop的nodemanager无法启动的问题

在本地测试hadoop发现windows环境下hadoop nodemanager无法启动 报错:NodeManager from DESKTOP-M067I4E doesn't satisfy minimum allocations最后发现是配置文件 yarn-site.xml 的配置问题 ,默认是没有这些配置的:第一个是nodemanager运行时要求的最低内存第二个是nodemanager运...

2018-03-07 14:46:25 2126 1

原创 hadoop分布式集群搭建

1.软件准备VMware workstation 下载地址:点击打开链接;linux镜像文件,这里我选择的是centos7。2.虚拟机安装 具体安装过程百度上有很多 这里我们先新建三个虚拟机,分别取名 hdp01,hdp02,hdp03(最快的方法就是先建一个虚拟机,配置环境完成后再克隆两个),如下图:3. linux环境准备(以下所有命令操作均已centos7为例,不同版本命令操作可能有区别)修...

2018-02-28 16:58:44 218

原创 利用OpenOffice实现word文档在线预览

项目中遇到的word文档在线预览需求,查阅很多资料决定利用openoffice转换word文档为pdf/html进行预览实现。1.下载openoffice4安装 www.openoffice.org;2.导入相关jar包<dependency> <groupId>org.artofsolving.jodconverter</groupId> ...

2018-02-26 10:58:35 17952 7

Java虚拟机脑图.pdf

无意间发现的某大神对于Java虚拟机的脑图,里面几乎涵盖了JVM所有的知识点,在这里非常感谢大神的无私奉献,如发现该资源侵权,请及时与我联系。

2019-12-25

Hadoop权威指南(中文版)

2017-04-12

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

TA关注的人

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