自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天黑了

进阶的码农

  • 博客(56)
  • 收藏
  • 关注

原创 文件内容处理

今天去一个公司面试的一道面试题,觉的挺有意思的,写下来做一个分享。题目的内容如下: 有一个文本文件,统计着学生的不同时间段的成绩,现在我们需要统计出2018的所有学生的平均成绩。用你最熟悉的语言完成。 文本文件的格式如下: 首先我们看到以后,明白肯定是需要用流来,处理。但是有个问题。有很多种流,我们需要使用哪种流。 1.使用FileInputStream...

2018-04-12 23:52:58 303

原创 zookeeper集群搭建--问题解决

zookeeper集群搭建非常简单: 首先我们需要准备奇数台服务器,zookeeper需要Java配置环境,所以我们需要安装jdk,然后安装zookeeper,自行解决。 我们来分析,一切安装,环境都配置好以后出现的问题。 1。当我们启动的时候没有报任何的错误。 如图所示 但是当我们查看zookeeper的状态的时候就会出现如下的问题。 一个错误的联络服务,可能是没有运行。...

2018-02-27 15:55:32 378

原创 LinkedBlockingQueue源码分析

在很久前我们分析了ArrayBlockingQueue,今天我们来分析分析LinkedBlockingQueue. 看看他们之间有什么区别,在什么时候我们用什么那个阻塞队列。 我们先来看看LinkedBlockingQueue的一些属性。定义了一个内部类,相当于一个结点,用来对元素进行操作的结构。static class NodeE> { E item;

2018-01-30 15:38:14 305

原创 execl表格导出问题

前几天在公司做了一个财务报表的导出,导出的表格模板已经做好了,自己测试的时候也是好的,能正常的通过浏览器直接下载出来。但是移植到项目中的时候,出现了问题,代码没有任何的问题,但是就是不下载模板。经过分析终于把问题给解决了,现在把问题写出来,防止大家有一样的问题。 表格的导出使用的是: //创建一个HSSFWorkbook对象 HSSFWorkbook wb=new HSSF

2018-01-10 18:27:26 366

原创 ArrayBlockingQueue源码分析

在Java1.5以后增加了阻塞队列BlockingQueue,主要提供了如下的常用方法。 boolean add(E e);往队列里面添加元素,如果可以添加进去,返回true,不能则抛出异常。IllegalStateException boolean offer(E e, long timeout, TimeUnit unit)往队列里面添加元素,如果可以添加返回true,不能则等待一定

2018-01-08 16:12:57 223

原创 NULLIF ISNULL IFNULL

今天突然用到了这个语法,所以写出来大家有需要的参考参考。IFNULL(per1,per2) 如果per1的值为null,则返回per2,反之返回per1 NULLIF(per1,per2) 如果per1=per2 ,则返回null,反之返回per1 ISNULL(per) 如果per为null,1/0则返回1,反之返回0

2018-01-04 16:28:38 433

原创 Timer TimerTask

Timer和TimerTask就是我们在Java中常常会提起的定时任务。我们来看看他们中的方法。TimerTask的类结构public abstract class TimerTask implements Runnable 我们实现定时任务的时候,其实需要自己实现逻辑。例如 Timer time=new Timer(); time.schedule(new TimerTask() {

2018-01-02 17:34:20 177

原创 LinkedList源码分析

我们都知道,ArrayList是动态的数组,HashMap是数组加链表的结构,LinkedList是双向链表结构,什么时候链表结构,顾名思义就跟链条一样,一个个接着一个。所以我们在对数据进行操作的时候,只需要找到这个链条就行,很方便。 我们先来看看数据结构 大概就是这个样子,是一个双向的链表。类的结构public class LinkedList<E> extends Abstra

2018-01-02 13:30:27 202

原创 ConcurrentHashMap源码分析

首先我们先对并发容器做一个简单的介绍: ConcurrentHashMap代替同步的Map(Collections.synchronized(new HashMap())),众所周知,HashMap是根据散列值分段存储的,同步Map在同步的时候锁住了所有的段,而ConcurrentHashMap加锁的时候根据散列值锁住了散列值锁对应的那段,因此提高了并发性能。ConcurrentHashMap也增

2017-12-29 15:12:43 163

原创 CopyOnWriteArrayList源码分析

在实际的编程的时候我们肯定会遇到并发编程的时候,那我们就要考虑并发编程的时候,可能出现的问题。所以我们就要用到Java的并发包的类,去完成我们的工作。今天我们就来分析CopyOnWriteArrayList这个并发容器,他是怎么做到的并发编程的。我们不跟原来一样,直接贴代码,然后给大家一行一行的讲代码的意思。我们分析思路 1。为什么他能做到,多个线程访问的时候,数据不会出错。 2。他是怎么做的,

2017-12-29 11:45:16 184

原创 json的反序列化

在开发的过程中,我们避免不了去访问别人的接口,那么就意味着我们需要处理数据返回给前端。一般调用接口以后我们得到的数据是一个json的格式,那么这个时候我们就需要,自己反序列化这个数据。 首先我们先来看看json数据返回的格式。 { “status”:200, “error”:null, “pageInfo”: { “totelRecord”:98, “pageIndex”:1, “

2017-12-28 17:45:43 1209

原创 HashMap源码分析

1、 HashMap概述: HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 大家都知道hashmap基于数组+链表的形式实现的,并且允许key,value都是null。接下来我们就来看看,hashmap的实现,为什么可以都为null.类结构 这个是Ha

2017-12-21 18:23:57 188

原创 location配置介绍

官方文档解释 句法: location [ = | ~ | ~* | ^~ ] uri { … } location @name { … } 默认: - 语境: server, location 如果最长匹配的前缀位置具有“ ^~”修饰符,则不检查正则表达式。 另外,使用“ =”修饰符可以定义URI和位置的精确匹配。如果找到完全匹配,则搜索结束。例如,如果一个“ /”请求经常发生,定义“

2017-12-21 16:38:35 570

原创 ArrayList源码分析

我这个是jdk1.7的版本,但是我看了下跟1.8有点相似,可能有点不一样。 首先我们先来看看这个的继承和实现关系。 这个类继承了AbstractList,并且实现了集合重要的接口List。 AbstractList类对List集合中的方法进行了一些重写。 我们直接从ArrayList的一些方法直接入手,有需要了解的地方在回来看看前面的东西。list.add(E e); 我们可以

2017-12-21 10:56:46 226

原创 nginx日志切割

由于nginx没有自动的日志切割,所以我们要自己手动的写一个shell脚本,能够自动的一定时间自动的切割日志,不然一个日志记录太大了,不方便出错的时候查看。 首先我们需要知道,日志放在什么地方。在上一篇博客,已经讲过了,这里不做讲解了。为了方便能够演示,日志切割,我们一分钟就切割一次,方便我们自己做实验,自己可以根据自己的想法,自己调整切割的时间。shell脚本 脚本的基础语法,不做说明。

2017-12-19 14:59:51 352

原创 nginx日志管理

今天讲讲nginx的日志管理。 首先还是打开nginx的配置文件,我们可以发现里面有这么一段注解。 logs/access.log 代表日志存在的位置。 main代表日志的格式。 接下来的我们分析,这些参数的含义。remoteaddr客户端的ip地址(代理服务器,显示代理服务ip)remote_addr 客户端的ip地址(代理服务器,显示代理服务ip) remote_user 用

2017-12-19 13:34:50 215

原创 nginx虚拟主机配置

首先进入nginx的安装目录,打开nginx.conf worker_processes 1代表有一个工作进程。一般为CPU数*核数 error_log logs/error.log 错误日志的存放位置 pid logs/nginx.pid 获得pid的目录events{ worker_connections 1024 每一个工作进程连接的数目 } 1。基于

2017-12-19 11:19:05 965

原创 nginx信号量

nginx信号控制:kill -TERM ,INT 直接杀死进程(一般不用)kill -QUIT pid 优雅的关闭进程(如果有正在进行的认为,先关闭在杀死)kill -HUP pid 改变配置文件以后不用重启,平滑的进行重启。kill -USER1 pid 重读日志,在日志按月/日分割时有用kill -USER2 pid 平滑的升级WINCH 优雅关闭旧的进程(配合USR2来进行升级)这个

2017-12-18 16:35:59 289

转载 Eureka 源码解析 —— StringCache

摘要: 原创出处 http://www.iocoder.cn/Eureka/string-cache/ 「芋道源码」欢迎转载,保留摘要,谢谢!1. 概述2. StringCache3. 使用场景666. 彩蛋 1. 概述本文主要分享 Eureka 自己实现的 StringCache。先一起来看下美团点评技术团队对 String#intern(...) 的分享:FROM 《深入解析Str

2017-12-15 10:24:43 627

转载 Eureka 源码解析 —— 基于令牌桶算法的 RateLimiter

摘要: 原创出处 http://www.iocoder.cn/Eureka/rate-limiter/ 「芋道源码」欢迎转载,保留摘要,谢谢!本文主要基于 Eureka 1.8.X 版本1. 概述2. RateLimiter2.1 refillToken2.2 consumeToken3. RateLimitingFilter4. InstanceInfoReplicator666. 彩

2017-12-15 10:23:09 1288

转载 Eureka 源码解析 —— Eureka-Server 集群同步

摘要: 原创出处 http://www.iocoder.cn/Eureka/server-cluster/ 「芋道源码」欢迎转载,保留摘要,谢谢!本文主要基于 Eureka 1.8.X 版本1. 概述2. 集群节点初始化与更新2.1 集群节点启动2.2 更新集群节点信息2.3 集群节点3. 获取初始注册信息4. 同步注册信息 4.1 同步操作类型4.2 发起 Eureka-Serve

2017-12-15 10:22:00 6173

转载 Eureka 源码解析 —— 网络通信

摘要: 原创出处 http://www.iocoder.cn/Eureka/transport/ 「芋道源码」欢迎转载,保留摘要,谢谢!本文主要基于 Eureka 1.8.X 版本1. 概述2. EurekaHttpClient2.1 EurekaJerseyClientImpl2.2 EurekaJerseyClientBuilder3. EurekaHttpClient 3.1 Eur

2017-12-15 10:20:03 1036

转载 Eureka 源码解析 —— EndPoint 与 解析器

摘要: 原创出处 http://www.iocoder.cn/Eureka/end-point-and-resolver/ 「芋道源码」欢迎转载,保留摘要,谢谢!本文主要基于 Eureka 1.8.X 版本1. 概述2. EndPoint2.1 EurekaEndpoint2.2 DefaultEndpoint2.3 AwsEndpoint3. 解析器 3.1 ClusterResolv

2017-12-14 17:44:36 1239

转载 Eureka 源码解析 —— 任务批处理

摘要: 原创出处 http://www.iocoder.cn/Eureka/batch-tasks/ 「芋道源码」欢迎转载,保留摘要,谢谢!本文主要基于 Eureka 1.8.X 版本1. 概述2. 整体流程3. 任务处理器4. 创建任务分发器4.1 批量任务执行分发器4.2 单任务执行分发器5. 创建任务接收执行器6. 创建任务执行器 6.1 创建批量任务执行器6.2 创建单任务

2017-12-14 17:43:28 521

转载 Eureka 源码解析 —— Eureka源码解析 —— 应用实例注册发现 (九)之岁月是把萌萌的读写锁

摘要: 原创出处 http://www.iocoder.cn/Eureka/instance-registry-read-write-lock/ 「芋道源码」欢迎转载,保留摘要,谢谢!1. 概述2. 读写锁666. 彩蛋 1. 概述本文主要分享 Eureka 注册中心的那把读写锁,让我瘙痒难耐,却不得其解。在某次意外的抠脚的一刻( 笔者不抽烟,如果抽烟的话,此处应该就不是抠脚了 ),突然顿

2017-12-14 17:42:09 548 3

转载 Eureka 源码解析 —— 应用实例注册发现(八)之覆盖状态

摘要: 原创出处 http://www.iocoder.cn/Eureka/instance-registry-override-status/ 「芋道源码」欢迎转载,保留摘要,谢谢!本文主要基于 Eureka 1.8.X 版本 1. 概述2. 应用实例覆盖状态变更接口2.1 更新应用实例覆盖状态3. 应用实例覆盖状态删除接口 3.1 删除应用实例覆盖状态 4. 应用实例覆盖状态映射 4

2017-12-14 17:40:52 710

转载 Eureka 源码解析 —— 应用实例注册发现(七)之增量获取

摘要: 原创出处 http://www.iocoder.cn/Eureka/instance-registry-fetch-delta/ 「芋道源码」欢迎转载,保留摘要,谢谢!本文主要基于 Eureka 1.8.X 版本 1. 概述2. 应用集合一致性哈希码2.1 计算公式2.2 合理性3. Eureka-Client 发起增量获取 3.1 合并应用集合 4. Eureka-Server

2017-12-14 17:39:04 992

转载 Eureka 源码解析 —— 应用实例注册发现(六)之全量获取

摘要: 原创出处 http://www.iocoder.cn/Eureka/instance-registry-fetch-all/ 「芋道源码」欢迎转载,保留摘要,谢谢!本文主要基于 Eureka 1.8.X 版本 1. 概述2. Eureka-Client 发起全量获取2.1 初始化全量获取2.2 定时获取2.3 刷新注册信息缓存2.4 发起获取注册信息3. Eureka-Serve

2017-12-14 17:37:07 3357

转载 Eureka 源码解析 —— 应用实例注册发现(五)之过期

摘要: 原创出处 http://www.iocoder.cn/Eureka/instance-registry-evict/ 「芋道源码」欢迎转载,保留摘要,谢谢!本文主要基于 Eureka 1.8.X 版本 1. 概述2. 为什么需要过期3. EvictionTask4. 过期逻辑1. 概述本文主要分享 Eureka-Server 过期超时续租的租约。FROM 《深度剖

2017-12-14 17:35:23 5472

转载 Eureka 源码解析 —— 应用实例注册发现(四)之自我保护机制

摘要: 原创出处 http://www.iocoder.cn/Eureka/instance-registry-self-preservation/ 「芋道源码」欢迎转载,保留摘要,谢谢!本文主要基于 Eureka 1.8.X 版本 1. 概述2. 定义3. 实现3.1 触发条件3.2 计算公式3.3 计算时机 1. 概述本文主要分享 自我保护机制,为应用实例过期下线做铺垫。推荐 Sp

2017-12-14 17:28:21 3260

转载 Eureka 源码解析 —— 应用实例注册发现(三)之下线

摘要: 原创出处 http://www.iocoder.cn/Eureka/instance-registry-cancel/ 「芋道源码」欢迎转载,保留摘要,谢谢!本文主要基于 Eureka 1.8.X 版本 1. 概述2. Eureka-Client 发起下线3. Eureka-Server 接收下线3.1 接收下线请求3.2 下线应用实例信息 1. 概述本文主要

2017-12-14 17:27:09 1360

转载 Eureka 源码解析 —— 应用实例注册发现(二)之续租

摘要: 原创出处 http://www.iocoder.cn/Eureka/instance-registry-renew/ 「芋道源码」欢迎转载,保留摘要,谢谢!本文主要基于 Eureka 1.8.X 版本 1. 概述2. Eureka-Client 发起续租2.1 初始化定时任务2.2 HeartbeatThread2.3 TimedSupervisorTask3. Eureka-Se

2017-12-14 17:25:11 3102 2

转载 Eureka 源码解析 —— 应用实例注册发现(一)之注册

摘要: 原创出处 http://www.iocoder.cn/Eureka/instance-registry-register/ 「芋道源码」欢迎转载,保留摘要,谢谢!本文主要基于 Eureka 1.8.X 版本 1. 概述2. Eureka-Client 发起注册2.1 应用实例信息复制器2.2 刷新应用实例信息2.3 发起注册应用实例3. Eureka-Server 接收注册 3.

2017-12-13 14:18:51 1645

转载 Eureka 源码解析 —— 注册表 InstanceRegistry 类关系

摘要: 原创出处 http://www.iocoder.cn/Eureka/instance-registry-class-diagram/ 「芋道源码」欢迎转载,保留摘要,谢谢!本文主要基于 Eureka 1.8.X 版本 1. 概述2. 类图3. LookupService4. LeaseManager5. InstanceRegistry6. AbstractInstanceReg

2017-12-13 14:17:36 1951

转载 Eureka 源码解析 —— Eureka-Server 启动(二)之 EurekaBootStrap

摘要: 原创出处 http://www.iocoder.cn/Eureka/eureka-server-init-second/ 「芋道源码」欢迎转载,保留摘要,谢谢!本文主要基于 Eureka 1.8.X 版本 1. 概述2. EurekaBootStrap2.1 初始化 Eureka-Server 配置环境2.2 初始化 Eureka-Server 上下文3. Filter 3.1 S

2017-12-13 14:16:15 1535

转载 Eureka 源码解析 —— Eureka-Server 启动(一)之 ServerConfig

摘要: 原创出处 http://www.iocoder.cn/Eureka/eureka-server-init-first/ 「芋道源码」欢迎转载,保留摘要,谢谢!本文主要基于 Eureka 1.8.X 版本 1. 概述2. EurekaServerConfig2.1 类关系图2.2 配置属性2.3 DefaultEurekaServerConfig1. 概述本文主要分享 Eureka-

2017-12-13 14:15:03 685

转载 Eureka 源码解析 —— Eureka-Client 初始化(三)之 EurekaClient

摘要: 原创出处 http://www.iocoder.cn/Eureka/eureka-client-init-third/ 「芋道源码」欢迎转载,保留摘要,谢谢!本文主要基于 Eureka 1.8.X 版本 1. 概述2. EurekaClient2.1 LookupService3. DiscoveryClient 3.1 构造方法参数3.2 构造方法 1. 概述本文接《Eurek

2017-12-13 14:14:05 2849

转载 Eureka 源码解析 —— Eureka-Client 初始化(二)之 EurekaClientConfig

摘要: 原创出处 http://www.iocoder.cn/Eureka/eureka-client-init-second/ 「芋道源码」欢迎转载,保留摘要,谢谢!本文主要基于 Eureka 1.8.X 版本 1. 概述2. EurekaClientConfig2.1 类关系图2.2 配置属性2.3 DefaultEurekaClientConfig2.4 DefaultEureka

2017-12-13 14:12:38 727

转载 Eureka 源码解析 —— Eureka-Client 初始化(一)之 EurekaInstanceConfig

摘要: 原创出处 http://www.iocoder.cn/Eureka/eureka-client-init-first/ 「芋道源码」欢迎转载,保留摘要,谢谢!本文主要基于 Eureka 1.8.X 版本 1. 概述2. EurekaInstanceConfig2.1 类关系图2.2 配置属性2.3 AbstractInstanceConfig2.4 PropertiesInsta

2017-12-13 14:10:12 2779

转载 Eureka 源码解析 —— 调试环境搭建

摘要: 原创出处 http://www.iocoder.cn/Eureka/build-debugging-environment/ 「芋道源码」欢迎转载,保留摘要,谢谢!本文主要基于 Eureka 1.8.X 版本 1. 依赖工具2. 源码拉取3. Eureka-Server 启动3.1 MockRemoteEurekaServer3.2 Eureka-Server war 包3.3

2017-12-13 14:08:09 2348

空空如也

空空如也

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

TA关注的人

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