8 阿征new

尚未进行身份认证

我要认证

你只看到我在不停的忙碌,却没看到我奋斗的热情。你有朝九晚五,我有通宵达旦。你否定我的现在,我决定我的未来。你可以轻视我的存在,我会用代码证明这是谁的时代!Coding是注定痛苦的旅行,路上少不了Bug和Change,但!那又怎样?哪怕执行不了,也要编译得漂亮!我是屌丝程序猿,我为自己代言.

等级
TA的排名 2w+

redis几种java客户端比较:jedis、redisson、lettuce

jedis、redisson、lettuce概况Jedis是Redis的Java实现的客户端,其API提供了比较全面的Redis命令的支持; Jedis中的方法调用是比较底层的暴露的Redis的API,也即Jedis中的Java方法基本和Redis的API保持着一致,了解Redis的API,也就能熟练的使用Jedis。 Redisson实现了分布式和可扩展的Java数据结构,提供很多分布式相关操作服务,例如,分布式锁,分布式集合,可通过Redis支持延迟队列。和Jedis相比,功能较为简单,.

2020-07-25 17:46:46

整理:Spring相关知识点

本篇文章将重点阐述Spring相关知识点,其他框架请期待下一篇Spring知识点-详解一、spring基本概念Sping中的基本概念本文涉及的流程与实现默认都是基于最新的5.x版本。spring中的几个重要概念如下:▌1.IOCIOC,就是控制反转,如最左边,拿公司招聘岗位来举例:假设一个公司有产品、研发、测试等岗位。如果是公司根据岗位要求,逐个安排人选,如图中向下的箭头,这是正向流程。如果反过来,不用公司来安排候选人,而是由第三方猎头来匹配岗位和候选人,然后进行推荐,如

2020-07-01 00:27:47

Java JVM 参数设置大全

JVM参数设置说明参数名称 含义 默认值 -Xms 初始堆大小 物理内存的1/64(<1GB) 默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制. -Xmx 最大堆大小 物理内存的1/4(<1GB) 默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制 -Xmn 年轻代大小(1....

2020-06-29 11:52:17

转:8年经验面试官详解 Java 面试秘诀

作者 |胡书敏责编 | 刘静出品 | CSDN(ID:CSDNnews)本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。Java程序员准备和投递简历的实战技巧1.1 简历中应包含的要素,一个都别落下为了让简历更吸引技术面试官或其它相关筛选简历的人,大家在准备简历应当注意“直接”两字:能让...

2020-06-24 19:04:09

整理:如何估算吞吐量以及线程池大小

原文:https://chanjarster.github.io...估算吞吐量现在有一个task,它的执行时间分为2部分,第一部分做数学运算,第二部分等待IO。这两部分就是所谓的计算操作与等待操作。那么现在要求估算在CPU火力全开的情况下,执行这个task能够达到的吞吐量峰值是多少?那么我们要先知道执行这个task总共需要多少时间,计算部分花费多少时间,等待部分花费多少时间。假设这个task的计算部分花费1秒,等待部分花费9秒,并且开了10个线程执行10个task,在单核CPU的情况下

2020-06-23 18:31:05

系统吞吐量、QPS、并发数、响应时间,以及提高吞吐量的思路

一.系统吞度量要素:吞吐量是指系统在单位时间内处理请求的数量系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间QPS(TPS):每秒钟request/事务数量并发数:系统同时处理的request/事务数响应时间:一般取平均响应时间(很多人经常会把并发数和TPS理解混淆)理解了上面三个要素的意义之后,就能推算出它们之间的关系:QPS(TPS)= 并发数/平均响应时间 并发数 = QPS*平均响应时间...

2020-06-23 17:12:16

整理:redis一主多从+Sentinel哨兵高可用配置

Redis一主多从+Sentinel哨兵高可用方案一、简介Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案。实际上这意味着你可以使用Sentinel模式创建一个可以不用人为干预而应对各种故障的Redis部署。二、主要功能监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。提醒(Notification): 当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送

2020-06-16 23:11:32

整理:数据结构与算法之归并排序(递归的虚拟机栈帧的演示)

目录1、基本思想2、归并的实例:A-B两个有序数组归并3、递归:分解一个无需数组,然后归并3.1 递归分析3.2 虚拟机栈:演示递归的执行过程(重点)4、算法分析1、基本思想分析归并排序之前,我们先来了解一下分治算法。分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。分治算法的一般步骤:分解,将要解决的问题划分成若干规模较小的同类问题; 求解,当子问题划分得足够小时,用较

2020-06-06 12:20:56

转:dubbo新增最短响应时间-负载均衡策略分析

2020 年 5 月 15 日,Dubbo 发布 2.7.7 release 版本。其中有这么一个 Features新增一个负载均衡策略。先看一下提交记录:https://github.com/chickenlj/incubator-dubbo/commit/6d2ba7ec7b5a1cb7971143d4262d0a1bfc826d45负载均衡是基于 SPI 实现的,我们看到对应的文件中多了一个名为 shortestresponse 的 key。这个,就是新增的负载均衡策略了。

2020-06-05 19:44:03

整理:Spring IOC 实现原理

Spring IOC 实现原理IOC: Inversion of Control ,即 "控制反转" , 不是什么技术,而是一种思想。原先需要自行实例化的对象, 交给IOC容器去实现。那么控制反转,谁被控制? 谁被反转 ?在传统的JavaSE程序中,直接在类的内部通过new关键字来创建对象的实例,是程序主动去创建依赖对象,而IOC有一个专门的容器,来创建这些对象,由IOC容器来控制对象的创建,依赖对象也是容器帮忙查找创建并进行注入,对象只是被动的接受,依赖对象的获取被反转了。它还有一个更加形象的名字

2020-06-04 14:51:50

整理:spring注解 @Autowired @Qualifier @Resource

spring注解 @Autowired @Qualifier @Resourcespringspringautowiredqualifierbytypebyname 在使用Spring框架中@Autowired标签时默认情况下使用Java代码@Autowired @Autowired注释进行自动注入时,Spring 容器中匹配的候选 Bean 数目必须有且仅有一个。当找不到一个匹配的 Bean 时,Spring 容器将抛出 BeanCreationException 异常...

2020-06-04 10:52:25

整理:Java 线上问题排查思路与工具使用

一、前言Java 语言是当前互联网应用最为广泛的语言,作为一名 Java 程序猿,当业务相对比较稳定之后平常工作除了 coding 之外,大部分时间(70%~80%)是会用来排查突发或者周期性的线上问题。由于业务应用 bug(本身或引入第三方库)、环境原因、硬件问题等原因,Java 线上服务出现故障 / 问题几乎不可避免。例如,常见的现象包括部分请求超时、用户明显感受到系统发生卡顿等等。尽快线上问题从系统表象来看非常明显,但排查深究其发生的原因还是比较困难的,因此对开发测试或者是运维的同学产生了许

2020-06-02 23:02:42

整理:数据结构与算法之二叉树

1、概述通过前面的学习,我们知道,有序数组可以利用二分查找法快速的查找特定的值,时间复杂度为O(log2N),但是插入数据时很慢,时间复杂度为O(N);链表的插入和删除速度都很快,时间复杂度为O(1),但是查找特定值很慢,时间复杂度为O(N)。那么,有没有一种数据结构既能像有序数组那样快速的查找数据,又能像链表那样快速的插入数据呢?树就能满足这种要求,不过依然是以算法的复杂度为代价。在编程的世界里,有一个真理叫“复杂度守恒定律”(当然,这是我杜撰的),一个程序当它降低了一个方面的复杂

2020-06-02 11:36:23

整理:Redis中的lru算法实现

Redis中的lru算法实现redis发布于 2019-02-18首发于https://segmentfault.com/a/11...lru是什么lru(least recently used)是一种缓存置换算法。即在缓存有限的情况下,如果有新的数据需要加载进缓存,则需要将最不可能被继续访问的缓存剔除掉。因为缓存是否可能被访问到没法做预测,所以基于如下假设实现该算法:如果一个key经常被访问,那么该key的idle time应该是最小的。(但这个假设也是基于概率,并不是充.

2020-05-31 14:13:22

整理:ES索引存储原理

ES索引存储原理不变性写到磁盘的倒序索引是不变的:自从写到磁盘就再也不变。 这会有很多好处:不需要添加锁。不存在写操作,因此不存在多线程更改数据。提高读性能。一旦索引被内核的文件系统做了Cache,绝大多数的读操作会直接从内存而不需要经过磁盘。提升其他缓存(例如fiter cache)的性能。其他的缓存在该索引的生命周期内保持有效,减少磁盘I/O和计算消耗。当然,索引的不变性也有缺点。如果你想让新修改过的文档可以被搜索到,你必须重新构建整个索引。这在一个index可以容纳的数据量

2020-05-25 22:46:04

整理:ElasticSearch 2 (10) - 在ElasticSearch之下(深入理解Shard和Lucene Index)

ElasticSearch 2 (10) - 在ElasticSearch之下(深入理解Shard和Lucene Index)摘要从底层介绍ElasticSearch Shard的内部原理,以及回答为什么使用ElasticSearch有必要了解Lucene的内部工作方式? 了解ElasticSearch API的代价 构建快速的搜索应用 不要任何时候都commit 何时使用Stored Fields和Document Values Lucene可能不是一个合适的工具

2020-05-25 21:44:17

整理:Elasticsearch 三种分页方式

1、from + size 浅分页"浅"分页可以理解为简单意义上的分页。它的原理很简单,就是查询前20条数据,然后截断前10条,只返回10-20的数据。这样其实白白浪费了前10条的查询。GET test_dev/_search{ "query": { "bool": { "filter": [ { "term": { "age": 28 } } ] }

2020-05-22 23:42:56

Elasticsearch为什么要移除type?

目录ES - es为什么要移除type?1、index、type的初衷2、为什么现在要移除type?3、替换策略4、迁移方案5、参考Elasticsearch 移除 type 之后的新姿势相关链接:ES - es为什么要移除type?1、index、type的初衷之前es将index、type类比于关系型数据库(例如mysql)中database、table,这么考虑的目的是“方便管理数据之间的关系”。2、为什么现在要移除type?2.1 在关系型数.

2020-05-22 15:47:47

参考整理:网络基础之网络协议

参考整理:网络基础之网络协议https://www.cnblogs.com/bypp/p/8252992.html网络基础之网络协议阅读目录一.操作系统基础 二.网络通信原理 三.网络通信实现 四.网络通信流程回到顶部一.操作系统基础 操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。注:计算机(硬件)-&g...

2020-05-18 21:37:07

Maven 多项目依赖版本管理(Maven Multi Project version management) 涉及自己的parent与spring-boot-starter-parent如何兼容

背景博主工作负责的微服务已经达到了十几个,每个微服务相互直接都是独立的,有独立的project,于是maven的依赖管理就很头疼了。每一个项目都需要添加自己的版本,还要互相比对,每次升级一些第三方依赖需要修改所有文件,于是产生了自己写parent的想法。maven多继承和继承链:https://blog.csdn.net/bingo_liu/article/details/73609381...

2020-04-01 12:07:52

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。