自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

悠忧南士

把所有奉献给热爱的事业

原创 打 Hadoop-HDFS 基础回顾

我们每学完一样东西,最好能用笔记记起来,不要太相信自己的记忆力,我在这方面吃过亏。 回顾一下,HDFS 全称Hadoop Distribute File System,顾名思义,分布式文件系统。 大家想想分布式本身有什么优点:高可用。对,三个字总结一切。 首先我们放一下 HDFS...

2020-05-15 23:14:00 28 0

原创 线程池 核心线程数设定公式

1.先看下机器的CPU核数,然后在设定具体参数: System.out.println(Runtime.getRuntime().availableProcessors()); 即CPU核数 =Runtime.getRuntime().availableProcessors() 2.分析下线...

2020-03-22 17:21:18 64 0

原创 RabbitMQ 简单入门 通俗理解

一.RabbitMQ什么语言编写的? 我们这边为什么要重点说这个能,就是因为他的编写语言,才让他能在MQ这个大家庭里脱颖而出。 rabbitmq是Erlang编程语言编写的: Erlang编程语言最初目的是进行大型电信交换设备的软件开发,是一种适用于大规模并行处理环境的高可靠性编程语言。随着...

2019-08-17 19:27:56 109 0

原创 关于部署项目到tomcat,报FAIL - Application at context path [/imageDownloader_war] could not be started

参考:https://blog.csdn.net/yasi_xi/article/details/49642661 最近用tomcat部署一个javaweb项目遇到了一个问题。 就是 打开tomcat服务器首页,然后点击进入Manager App,手动打开项目。 结果发现,项目Running...

2019-03-26 10:59:33 1228 0

原创 java内存模型---happens-before粗浅的理解

happens-before的规则对于程序员来说是很好理解的 它避免程序员为了理解JMM提供的内存可见性保证而去学习复杂的重排序规则以及这些规则的具体实现 我们先来说happens-before具体的规则以及个人的解读: 两个操作既可以是在一个线程之内,也可以是在不同线程之间。 1.程序次...

2019-03-25 20:51:26 56 0

原创 java并发编程----synchronized 实现原理(偏向锁,轻量级锁,自旋锁)

参考文章:http://blog.sina.com.cn/s/blog_c038e9930102v2hu.html http://blog.sina.com.cn/s/blog_c038e9930102v2hu.html 参考书籍:Java并发编程的艺术 synchronized锁信息存在Ma...

2019-03-19 17:31:32 143 0

原创 org.apache.hadoop.io.nativeio.NativeIOWindows.createDirectoryWithMode0(Ljava/lang/StringI)V

遇到这个错误,对于我这种新手来说真的是摸不着头脑,莫名奇妙。后面搜了很多网上的版本都不行。 最终下载了别人的一个bin,覆盖了我的bin,后面就可以了。 把我们环境变量的hadoop(我的版本是这个hadoop-2.6.0-cdh5.15.1,不是相同版本慎用)的bin 覆盖成某位大佬的就...

2020-05-17 23:51:06 32 0

转载 hdfs读写机制及其checkpoint机制

https://blog.csdn.net/u014253445/article/details/77574319

2020-05-15 22:22:00 25 0

原创 分析 HADOOP-HDFS文件储存机制

大家看到hadoop-2.6.0-cdh5.15.1.tar.gz 压缩包 是400M有余 我们直接用hadoop fs -put 命令,把包存进HDFS文件系统。 我这边的版本block size的默认大小 是128M 所以,就是这个文件会分为4个block. 用视图工具看了下,...

2020-05-10 12:26:08 24 0

原创 HDFS伪分布式单节点版安装(cdh版本)

我这边用的是hadoop-2.60-cdh5.15.1版本 下载Hadoop地址:https://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.15.1.tar.gz 下载下来后: 我们把它解压一下 常用的命令是 tar -...

2020-05-08 23:52:20 14 0

原创 kafka入门到精通(二) 生产者

先上段简单的代码: public static final String brokerList = "121.199.24.162:9092"; public static final String topic = "demo"; pu...

2020-03-25 13:34:37 50 0

原创 kafka入门到精通(一) 基本概念

kafka 的作用分为三个: · 消息系统:Kafka 和传统的消息系统(也称作消息中间件)都具备系统解耦、冗余存储、流量削峰、缓冲、异步通信、扩展性、可恢复性等功能。与此同时,Kafka 还提供了大多数消息系统难以实现的消息顺序性保障及回溯消费的功能。 · 存储系统:Kafka 把消息持久化...

2020-03-24 22:56:47 23 0

原创 String 一些理解

先上点题吧 String str1 = "计算机"; String str2 = "计算机"; System.out.println("str1==str2:" + (str1 == s...

2020-03-23 18:32:50 13 0

原创 对象的访问定位

创建对象自然是为了后续使用该对象,我们的Java程序会通过栈上的reference数据来操作堆上的具体对象。由于reference类型在《Java虚拟机规范》里面只规定了它是一个指向对象的引用,并没有定义这个引用应该通过什么方式去定位、访问到堆中对象的具体位置,所以对象访问方式也是由虚拟机实现而定...

2020-03-22 17:20:04 27 0

原创 对象的内存布局

在HotSpot虚拟机里,对象在堆内存中的存储布局可以划分为三个部分:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding)。 一. 对象头: HotSpot虚拟机对象的对象头部分包括两类信息。第一类是用于存储对象自身的运行时数据,如哈希码(HashCode)...

2020-03-22 17:18:05 19 0

原创 本地方法栈和虚拟机栈溢出

1)如果线程请求的栈深度大于虚拟机所允许的最大深度,将抛出StackOverflowError异常。 2)如果虚拟机的栈内存允许动态扩展,当扩展栈容量无法申请到足够的内存时,将抛出OutOfMemoryError异常。 《Java虚拟机规范》明确允许Java虚拟机实现自行选择是否支持栈的动态扩...

2020-03-22 16:53:38 33 0

原创 虚拟机运行时数据区

#####1.程序计数器 程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。在Java虚拟机的概念模型里[插图],字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,它是程序控制流的指示器,...

2020-03-22 16:52:06 25 0

原创 多线程之间通讯学习笔记

wait、notify方法 1.因为涉及到对象锁,他们必须都放在synchronized中来使用.Wait、Notify一定要在synchronized里面进行使用。 2.Wait必须暂定当前正在执行的线程,并释放资源锁,让其他线程可以有机会运行 3. notify/notifyall:...

2020-01-06 21:40:34 18 0

原创 多线程安全和内存模型

同步方法使用的是什么锁? synchronized 修饰方法使用锁是当前this锁。 synchronized 修饰静态方法使用锁是当前类的字节码文件 Threadlocal 什么是Threadlocal ThreadLocal提高一个线程的局部变量,访问某个线程拥有自己局部变量。 当...

2020-01-05 23:48:22 23 0

原创 多线程基础学习笔记

多线程应用场景? 答:主要能体现到多线程提高程序效率。 举例: 迅雷多线程下载、数据库连接池、分批发送短信,图片上传等。 启动线程是使用调用start方法还是run方法? 开始执行线程 注意 开启线程不是调用run方法,而是start方法 多线程运行状态 线程从创建、运...

2020-01-05 19:58:37 19 0

原创 分布式事务

事务概念 事务特性(ACID) 原子性(A) 所谓的原子性就是说,在整个事务中的所有操作,要么全部完成,要么全部失败,没有中间状态。对于事务在执行中发生错误,所有的操作都会被回滚,整个事务就像从没被执行过一样。 一致性(C) 事务的执行必须保证系统的一致性,就拿转账为例,A有500元,B...

2020-01-03 00:20:39 12 0

原创 String,StringBuffer,StringBuilder有什么区别

1 String (1) String的创建机理 由于String在Java世界中使用过于频繁,Java为了避免在一个系统中产生大量的String对象,引入了字符串常量池。其运行机制是:创建一个字符串时,首先检查池中是否有值相同的字符串对 象,如果有则不需要创建直接从池中刚查找到的对象...

2019-12-30 21:26:38 13 0

原创 强引用、软引用、弱引用、幻象引用有什么区别?

1 强引用 特点:我们平常典型编码Object obj = new Object()中的obj就是强引用。通过关键字new创建的对象所关联的引用就是强引用。 当JVM内存空间不足,JVM宁愿抛出OutOfMemoryError运 行时错误(OOM),使程序异常终止,也不会靠随意回收具有强引...

2019-12-30 20:28:30 16 0

转载 谈谈fnal、fnally、 fnalize有什么不同?

final可以用来修饰类、方法、变量,分别有不同的意义, final修饰的class代表不可以继承扩展, final的变量是不可以修改的, final的方法也是不可以重写的(override)。 fnally则是Java保证重点代码一定要被执行的一种机制。我们可以使用try-fnally或者try...

2019-12-29 23:46:24 42 0

原创 Java解释执行和编译执行

首先,我们先解释一下在Java中解释执行和编译执行的区别。  解释执行:将编译好的字节码一行一行地翻译为机器码执行。 编译执行:以方法为单位,将字节码一次性翻译为机器码后执行。      在编译示时期,我们通过将源代码编译成.class ,配合JVM这种跨平台的抽象,屏蔽了底层计算机操作...

2019-12-28 22:09:21 18 0

原创 Exception和Error 区别

Exception和Error都是继承了Throwable类,在Java中只有Throwable类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。 Exception和Error体现了Java平台设计者对不同异常情况的分类。Exception是程序正常...

2019-12-28 22:09:07 14 0

原创 redis 缓存优化

一. 缓存穿透 常见的解决方案有两个 1.数据库不存在的值,在缓存存进一个空值,并添加过期时间。这样的缺点就是会浪费比较多的空间。 2.用布隆过滤器,在访问缓存层和存储层之前,将存在的key用布隆过滤 器提前保存起来,做第一层拦截。如果布隆过滤器判断该key不存在,就不会访问持久层,从而保护...

2019-12-20 10:43:59 13 0

原创 mysql 学习笔记

一.检索数据 1. DISTINCT 检索不同的行 SELECTDISTINCTXX FROM XX 使用DISTINCT关键字,只返回不同的值 2.LIMIT 限制结果 SELECT XX FROM XX LIMIT 5 此语句使用SELECT语句检索单个列。LIMIT 5指示...

2019-12-19 23:14:08 10 0

原创 单线程的redis如何实现阻塞队列

从redis的API可以了解到lpop,rpop可以实现一个阻塞式队列。那疑问就来了,redis不是单线程的吗,如果阻塞了,那其他操作就执行不了呀。事实不是这样的 redis的线程模型,是接收客户端命令的线程时 I/O 多路复用的,再通过文件事件分配器单线程执行的。如下图,程序总是会将所有产...

2019-12-16 12:02:48 88 0

原创 单线程的redis为什么还能那么快

通常来讲,单线程处理能力要比多线程差,例如有10000斤货物,每辆 车的运载能力是每次200斤,那么要50次才能完成,但是如果有50辆车,只 要安排合理,只需要一次就可以完成任务。那么为什么Redis使用单线程模 型会达到每秒万级别的处理能力呢?可以将其归结为三点: 第一,纯内存访问,Redi...

2019-12-14 11:47:50 13 0

原创 redis简单限流

需求: 如果要保证一个用户一分钟内只能访问5次接口,超过就拒绝范围。 学习老钱的简单限流,这边重复阐述一下,以便更多人能借鉴。 这个限流需求中存在一个滑动时间窗口,想想 zset 数据结构的 score 值,是不是可以通过 score 来圈出这个时间窗口来。而且我们只需要保留这个时...

2019-12-12 14:50:46 13 0

原创 mongodb连接出现 connect@src/mongo/shell/mongo.js:229:14 @(connect):1:6 错误

当我们在cmd窗口输入 mongo时会发现连接失败 这时候可能是我们没有启动 Mongodb 的服务,那我们就来启动Mongodb服务 第一步:管理员的权限打开CMD 第二步:切到mongodb目录下,输入net start MongoDB 命令 这样就启动成功了 但是有...

2019-10-08 15:57:37 1855 0

原创 RabbitMQ 实现分布式事务 通俗理解 简单易学(思想)

一. 什么是分布式事务 有两个服务,一个订单服务,一个商品服务。当我们下单成功后,订单服务会调用商品服务的扣库存方法,如果这时候商品服务出现异常,扣库存失败,那就会导致事务的问题,以后有可能出现超卖。所以我们在微服务架构开发的时候,一定要处理好分布式事务 二. 分布式事务理论 比较流行的就是...

2019-08-18 11:15:58 337 3

原创 SpringCloud学习笔记 -----Hystrix 服务降级、熔断机制、服务隔离

一.什么是服务雪崩效应 服务雪崩效应产生与服务堆积在同一个线程池中,因为所有的请求都是同一个线程池进行处理,这时候如果在高并发情况下,所有的请求全部访问同一个接口, 这时候可能会导致其他服务没有线程进行接受请求,这就是服务雪崩效应效应。 二.怎么解决雪崩效应? 解决雪崩的方案就是 服务降级+...

2019-08-16 19:05:03 145 0

原创 kafka详解

kafka为什么吞吐量大? 1.数据读取方式 kafka一个topic分成多个分区,每个消费者对应一个或者多个分区,一个分区只对应一个消费者。这样就保证了线程安全性,不用设锁去防止多个消费者同事消费同一个数据源,我们都知道锁是很耗性能的一个东西,这样就省去了这个步骤,性能也有显著的提升。 2...

2019-08-11 00:00:56 29 0

原创 S3 上传图片访问不了问题

<Error> <Code>AccessDenied</Code> <Message>Access Denied</Message> <RequestId>80f43537yh6tjcrd3252D03883E</...

2019-06-13 20:29:44 847 1

原创 服务治理,服务发现,服务注册

什么是服务治理? 那就谈谈为什么要服务治理,是哪方面的需要才出现这个操作的。当我们服务于服务之间通讯调用的时候,我们前期的话就是简单粗暴的用httpclient去请求,没经过第三方的组件管理,然后访问路径写死(据说有些公司的服务访问路径是写在数据库上的,这样每次调用其它服务的时候就要访问一次数据...

2019-06-09 18:07:37 649 0

转载 SpringCloud学习笔记------Feign自定义日志

自定Spring Cloud Feign日志输出 参考DefaultFeignLoggerFactory类实现自己的日志工厂实现类。 场景说明:将原有的debug级别,修改成info级别 第一步:实现FeignLoggerFactory工厂接口,InfoFeignLoggerFactory 是...

2019-05-22 18:12:39 218 0

原创 SpringCloud学习笔记------Feign

feign有假装的意思 为什么要叫假装? Feign可以把Rest的请求进行隐藏,伪装成类似SpringMVC的Controller一样。你不用再自己拼接url,拼接参数等等操作,一切都交给Feign去做。 快速入门 先用起来,我们在使用的时候揭开它神秘的面纱吧 导入依赖 po...

2019-05-22 17:52:45 56 0

原创 Spring Boot配置接口 WebMvcConfigurer API详解(持续更新)

configureMessageConverters(List<HttpMessageConverter<?>>converters) 配置HttpMessageConverters用于读取或写入请求或响应的正文。

2019-05-05 12:24:42 158 0

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