weixin_40805079的博客

私信 关注
说的就是你吧
码龄3年

脚踏实地 逐步执行下一个三年计划

  • 238,709
    被访问量
  • 37
    原创文章
  • 43,725
    作者排名
  • 41
    粉丝数量
  • 于 2017-10-26 加入CSDN
获得成就
  • 获得113次点赞
  • 内容获得36次评论
  • 获得270次收藏
荣誉勋章
TA的专栏
  • 生活
  • IDEA工具
    2篇
  • bat文件
    1篇
  • 代码片段
    29篇
  • MySql
    13篇
  • SVN
  • 日志管理
    4篇
  • kafka
    1篇
  • redis
    4篇
  • 算法
    26篇
  • Log4j
    1篇
  • 并发系列
    2篇
  • 杂谈
    3篇
  • Java核心技术36讲
    17篇
  • RabbitMQ
    10篇
  • JDBC
    5篇
  • NIO
    2篇
  • XML
    2篇
  • 数据库
    2篇
  • java8
  • Tomcat
    1篇
  • Git
    3篇
  • Bloom Filter
    10篇
  • Spring
    2篇
  • 面试
    1篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

System.gc() 导致CPU飙升

1. 前言 昨天服务器的CPU又飙升了,导致应用几乎卡死,页面切换都很卡,之前遇到我这种情况我就赶紧top,top -H -p,然后打印16进制,然后再jstack pid | grep 16进制 -A90,然后并没有获取到什么有用的信息,这次稍微换了下查找思路。 使用arthas 查看了下最占用CPU的程序(thread -n 5)发现全都是GC操作,然后我直接 jstack pid >> test.txt,查看了堆栈信息,直接搜和本项目相关的类的包名,然后搜到一个...
原创
17阅读
0评论
0点赞
发布博客于 25 天前

MySQL-普通索引和唯一索引

这两种索引对查询语句和更新语句的性能影响。查询过程假设,执行查询的语句是 select id from T where k=5。这个查询语句在索引树上查找的过程,先是通过B+树从树根开始,按层搜索到叶子节点,然后可以认为数据页内部通过二分法来定位记录。对于普通索引来说,查找到满足条件的第一个记录(5,500)后,需要查找下一个记录,直到碰到第一个不满足k=5条件的记录。对于唯一索引来说,由于索引定义了唯一性,查找到第一个满足条件的记录后,就会停止继续检索。那么,这个不同带来的性能差距会有多少呢
转载
11阅读
0评论
0点赞
发布博客于 2 月前

MySQL-事务隔离

事务隔离级别如果是可重复读隔离级别,事务T启动的时候会创建一个视图read-view,之后事务T执行期间,即使有其他事务修改了数据,事务T看到的仍然跟在启动时看到的一样。也就是说,一个在可重复读隔离级别下执行的事务,好像与世无争,不受外界影响。但是,一个事务要更新一行,如果刚好有另外一个事务拥有这一行的行锁,它又不能这么超然了,会被锁住,进入等待状态。问题是,既然进入了等待状态,那么等到这个事务自己获取到行锁要更新数据的时候,它读到的值又是什么呢?我给你举一个例子吧。下面是一个只有两行的表的初始化语句
转载
16阅读
0评论
0点赞
发布博客于 2 月前

MySQL-关于对联合主键索引和InnoDB索引组织表的理解

CREATE TABLE `geek` ( `a` int(11) NOT NULL, `b` int(11) NOT NULL, `c` int(11) NOT NULL, `d` int(11) NOT NULL, PRIMARY KEY (`a`,`b`), KEY `c` (`c`), KEY `ca` (`c`,`a`), KEY `cb` (`c`,`b`)) ENGINE=InnoDB;select * from geek where c=N order
转载
26阅读
0评论
0点赞
发布博客于 2 月前

MySQL-索引

在下面这个表T中,如果我执行 select * from T where k between 3 and 5,需要执行几次树的搜索操作,会扫描多少行?下面是这个表的初始化语句。mysql> create table T (ID int primary key,k int NOT NULL DEFAULT 0, s varchar(16) NOT NULL DEFAULT '',index k(k))engine=InnoDB;insert into T values(100,1, '
转载
10阅读
0评论
0点赞
发布博客于 2 月前

MySQL-如何避免长事务对业务的影响?

首先,从应用开发端来看:确认是否使用了set autocommit=0。这个确认工作可以在测试环境中开展,把MySQL的general_log开起来,然后随便跑一个业务逻辑,通过general_log的日志来确认。一般框架如果会设置这个值,也就会提供参数来控制行为,你的目标就是把它改成1。确认是否有不必要的只读事务。有些框架会习惯不管什么语句先用begin/commit框起来。我见过有些是业务并没有这个需要,但是也把好几个select语句放到了事务中。这种只读事务可以去掉。业务连接数据库的时候,根据
转载
36阅读
0评论
0点赞
发布博客于 2 月前

MySQL中的redo log和binlog

前言年前的一次操作数据库的时候,更新数据时候少加了条件,导致其他项目的数据库连接信息被更新错了,然后找DBA要了更新操作的binlog日志,重点是后面的来了,恢复数据需要手动根据binlog日志来自己组织数据,再更新回来。当时我就觉得这不应该吧,我这几十条数据的还行,如果更新了几万条数据,难道要手动组织几万次???后来问了一个朋友,说是有个binlog2sql的工具可以使用,然后我在虚拟机上整了下,没整成功,先不管了。(以下内容来自MySQL实战45讲)一、重要的日志模块:redo log在MySQ
转载
22阅读
0评论
0点赞
发布博客于 2 月前

arthas热修复线上代码

前几天撸了华为云的服务器羊毛,可以白嫖三个月的云服务器,于是部署了一个spring boot的项目,本来在服务器上装了MySQL8,但是因为是最低的配置,导致MySQL服务经常挂掉,后来又在华为云里找到个新用户云数据库前两个月低价的活动,又白嫖了两个月的MySQL数据库,这样云服务器跑项目就不影响了。今天想试下arthas的线上热修复功能,线上改代码。参考了下别的文章,https://www...
原创
277阅读
0评论
0点赞
发布博客于 1 年前

不可变对象的设计模式

在多线程操作共享资源的情况下,大多数情况下都需要对资源进行加锁操作,多线程设计模式中的一个方法,可以不依赖加锁操作,直接将资源的状态设置为不可变,一个不可变的对象,无论任何时候都是线程安全的,就像java.lang.String一样。 那么String类是如何保证线程安全的呢?做过String s1 = “hello”;s1 = s1+”world”;的就会知道,对s...
原创
93阅读
0评论
0点赞
发布博客于 2 年前

自定义ClassLoader案例

首先说明,本文是参考《Java高并发编程详解》一书总结的。所有自定义的类加载器都是ClassLoader的直接或间接子类,此类中并没有抽象方法,但是有findClass方法,这个一定要实现,不然会抛异常:protected Class<?> findClass(String name) throws ClassNotFoundException { throw...
原创
105阅读
0评论
0点赞
发布博客于 2 年前

city_picker改造-------五级城市联动控件

这几天做项目,需要用到城市控件,网上找了个样式不错的控件,基于bootstrap的,具体用法可以参照https://blog.csdn.net/bsw451926392/article/details/78886965。但是我这边需要精确到村级别,而控件是省市区,而且数据是写死的,因为也不太懂js代码,就没改造,整了五个联动的下拉框,先把功能实现了,后来不咋忙的时候,决定还是改造下这个控件。...
原创
450阅读
0评论
1点赞
发布博客于 2 年前

JS对象数组根据属性分组方法

最近看到了个简单明了的分组方法,因为别人也是转的,没有标注原地址,我这也就不给转载地址了。function test() { var list = [ {"name": "John", "Average": 15, "High": 10, "DtmStamp": 1358226000000}, {"name": "Jane", ...
转载
9440阅读
0评论
7点赞
发布博客于 2 年前

打印菱形杨辉三角数字图形

中午时候,群里突然有群友发了个面试的上机测试题,看着挺有意思的,其实就是个杨辉三角的变异类型。下午上班后,开始着手写这个题,连百度带自己测,耗费了两个半小时,也是怪丢人的。话不多说,先看题,题目很简单,就是输入一个数字,打印出对应的类型:9:15:相信懂的人都能看出来规律了,我刚开始找错方向了,想了有一会儿,后来把效果图拆为两个直角三角形之后就明了了,就是两个杨辉三角合...
原创
350阅读
1评论
2点赞
发布博客于 2 年前

极客时间——数据结构与算法(46) 概率统计:如何利用朴素贝叶斯算法过滤垃圾短信?

转载地址:https://time.geekbang.org/column/article/77142上一节我们讲到,如何用位图、布隆过滤器,来过滤重复的数据。今天,我们再讲一个跟过滤相关的问题,如何过滤垃圾短信?垃圾短信和骚扰电话,我想每个人都收到过吧?买房、贷款、投资理财、开发票,各种垃圾短信和骚扰电话,不胜其扰。如果你是一名手机应用开发工程师,让你实现一个简单的垃圾短信过滤功能以及骚...
转载
184阅读
0评论
1点赞
发布博客于 2 年前

极客时间——数据结构与算法(45) 位图:如何实现网页爬虫中的URL去重功能?

转载地址:https://time.geekbang.org/column/article/76827网页爬虫是搜索引擎中的非常重要的系统,负责爬取几十亿、上百亿的网页。爬虫的工作原理是,通过解析已经爬取页面中的网页链接,然后再爬取这些链接对应的网页。而同一个网页链接有可能被包含在多个页面中,这就会导致爬虫在爬取的过程中,重复爬取相同的网页。如果你是一名负责爬虫的工程师,你会如何避免这些重复的...
转载
325阅读
0评论
0点赞
发布博客于 2 年前

Spring 中将service 注入到普通的类中

在spring管理的web项目里,譬如Struts和spring的项目,配置好后,Struts里就可以直接使用定义好的service。但是如果要在普通的工具类里,使用service或dao,就会报空指针,因为这个普通的Java类并不在spring管理下,不能使用spring注入的service。方法一:(亲测可用,直接在方法上注入)方法二:(测试不可用)最后,记得在applic...
转载
430阅读
0评论
0点赞
发布博客于 2 年前

为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作

转载地址:https://mp.weixin.qq.com/s/e9ITxUmsMFhfjeHhOgTtfA为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作在阿里巴巴Java开发手册中,有这样一条规定:但是手册中并没有给出具体原因,本文就来深入分析一下该规定背后的思考。1.foreach循环foreach循环(Foreach loop)是计...
转载
49阅读
0评论
0点赞
发布博客于 2 年前

MySQL的查询优化——背后原理

转载地址:https://www.jianshu.com/p/d7665192aaaf说起MySQL的查询优化,相信大家积累一堆技巧:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型….. 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就尤为重要,希望本文能让你重新审视这些优化建议,...
转载
106阅读
0评论
0点赞
发布博客于 2 年前

极客时间——数据结构与算法(43) 拓扑排序:如何确定代码源文件的编译依赖关系?

从今天开始,我们就进入了专栏的高级篇。相对基础篇,高级篇涉及的知识点,都比较零散,不是太系统。所以,我会围绕一个实际软件开发的问题,在阐述具体解决方法的过程中,将涉及的知识点给你详细讲解出来。所以,相较于基础篇“开篇问题 - 知识讲解 - 回答开篇 - 总结 - 课后思考”这样的文章结构,高级篇我稍作了些改变,大致分为这样几个部分:“问题阐述 - 算法解析 - 总结引申 - 课后思考”。好...
转载
220阅读
0评论
0点赞
发布博客于 2 年前

极客时间——数据结构与算法(44) 最短路径:地图软件是如何计算出最优出行路径的?

基础篇的时候,我们学习了图的两种搜索算法,深度优先搜索和广度优先搜索。这两种算法主要是针对无权图的搜索算法。针对有权图,也就是图中的每条边都有一个权重,我们该如何计算两点之间的最短路径(经过的边的权重和最小)呢?今天,我就从地图软件的路线规划问题讲起,带你看看常用的最短路径算法(Shortest Path Algorithm)。像 Google 地图、百度地图、高德地图这样的地图软件,我想你应...
转载
1068阅读
0评论
1点赞
发布博客于 2 年前

不安全的SimpleDateFormat

转载地址: https://mp.weixin.qq.com/s/YmmM1KdGX_g46Sn_vFQraA问题场景复现 多线程不安全原因 解决方案 只在需要的时候创建新实例,不用static修饰 synchronized大法好 ThreadLocal 基于JDK1.8的DateTimeFormatter 日常开发中,我们经常需要使用时间相关类,说到时间相关类,想必大家...
转载
51阅读
0评论
0点赞
发布博客于 2 年前

使用springcloud gateway搭建网关(分流,限流,熔断)

转载地址:https://mp.weixin.qq.com/s/zFE-xyjhQMtIloqyIfRvkwSpringCloudGateway作为SpringCloud生态系统中的网关,目标是替代NetflixZuul,其不仅提供统一的路由方式,并且基于Filter链的方式提供了网关基本的功能,例如:安全,监控/指标,和限流。相关概念:Route(路由):这是网...
转载
2306阅读
2评论
3点赞
发布博客于 2 年前

极客时间——数据结构与算法(42) 动态规划实战:如何实现搜索引擎中的拼写纠错功能?

转载地址:https://time.geekbang.org/column/article/75794在Trie 树那节我们讲过,利用 Trie 树,可以实现搜索引擎的关键词提示功能,这样可以节省用户输入搜索关键词的时间。实际上,搜索引擎在用户体验方面的优化还有很多,比如你可能经常会用的拼写纠错功能。当你在搜索框中,一不小心输错单词时,搜索引擎会非常智能地检测出你的拼写错误,并且用对应的正...
转载
315阅读
0评论
0点赞
发布博客于 2 年前

极客时间——数据结构与算法(41) 动态规划理论:一篇文章带你彻底搞懂最优子结构、无后效性和重复子问题

转载地址:https://time.geekbang.org/column/article/75702上一节,我通过两个非常经典的问题,向你展示了用动态规划解决问题的过程。现在你对动态规划应该有了一个初步的认识。今天,我主要讲动态规划的一些理论知识。学完这节内容,可以帮你解决这样几个问题:什么样的问题可以用动态规划解决?解决动态规划问题的一般思考过程是什么样的?贪心、分治、回溯、动态规划这...
转载
229阅读
0评论
3点赞
发布博客于 2 年前

极客时间——数据结构与算法(40) 初识动态规划:如何巧妙解决“双十一”购物时的凑单问题?

转载地址:https://time.geekbang.org/column/article/74788淘宝的“双十一”购物节有各种促销活动,比如“满 200 元减 50 元”。假设你女朋友的购物车中有 n 个(n>100)想买的商品,她希望从里面选几个,在凑够满减条件的前提下,让选出来的商品价格总和最大程度地接近满减条件(200 元),这样就可以极大限度地“薅羊毛”。作为程序员的你,能不...
转载
180阅读
0评论
1点赞
发布博客于 2 年前

极客时间——数据结构与算法(39) 回溯算法:从电影《蝴蝶效应》中学习回溯算法的核心思想

转载地址:https://time.geekbang.org/column/article/74287我们在第 31 节提到,深度优先搜索算法利用的是回溯算法思想。这个算法思想非常简单,但是应用却非常广泛。它除了用来指导像深度优先搜索这种经典的算法设计之外,还可以用在很多实际的软件开发场景中,比如正则表达式匹配、编译原理中的语法分析等。除此之外,很多经典的数学问题都可以用回溯算法解决,比如...
转载
208阅读
0评论
0点赞
发布博客于 2 年前

Dynamic Count Filter

转载地址:https://blog.csdn.net/jiaomeng/article/details/1543751Spectral bloom filter(SBF)在counting bloom filter(CBF)的基础上提出了元素出现频率查询的概念,将CBF的应用扩展到了multi-set的领域。但是,SBF为解决动态counter的存储问题,引入了复杂的索引结构,这让每个coun...
转载
142阅读
0评论
0点赞
发布博客于 2 年前

Spectral Bloom Filter

转载地址:https://blog.csdn.net/jiaomeng/article/details/1540322Bloom filter将集合中的元素映射到位数组中,用k(k为哈希函数个数)个映射位是否全1表示元素在不在这个集合中。Counting bloom filter(CBF)将位数组中的每一位扩展为一个counter,从而支持了元素的删除操作。一旦位扩展成了counter,每一个...
转载
265阅读
0评论
0点赞
发布博客于 2 年前

Bloom Filter应用之Web Cache Sharing

转载地址:https://blog.csdn.net/jiaomeng/article/details/1531423从这篇文章开始,我会陆续介绍一些bloom filter的应用。Bloom filter于1970年由Burton Bloom在一篇名为Space/Time Tradeoffs in Hash Coding with Allowable Errors的论文中提出。这篇论文同时将...
转载
69阅读
0评论
0点赞
发布博客于 2 年前

评价d-Left Counting Bloom Filter

转载地址:https://blog.csdn.net/jiaomeng/article/details/1529345Bloom Filter是一个简洁精致的数据结构,要对它进行本质上的提高并不容易。多少年来,针对Bloom Filter的变种很多,但实质性的突破并不多,无非Counting Bloom Filter、Compressed Bloom Filter等几种。很多变种都针对某一特定...
转载
124阅读
0评论
0点赞
发布博客于 2 年前

Perfect Hashing VS. Bloom Filter

转载地址:https://blog.csdn.net/jiaomeng/article/details/1519383Perfect Hashing VS. Bloom Filter在Network Applications of Bloom Filters: A Survey一文中,作者提到了一种基于Perfect hashing的方法,它在维持同样错误率的情况下比Bloom Filte...
转载
69阅读
0评论
0点赞
发布博客于 2 年前

Compressed Bloom Filter

转载地址:https://blog.csdn.net/jiaomeng/article/details/1505299Compressed Bloom Filter在前面的讨论中,我们都只将Bloom Filter作为一种表示集合的数据结构。但在网络应用中,Bloom Filter经常被当作节点之间交换信息时传递的消息。从这个角度考虑,我们自然希望消息在传递之前能够被压缩。那么Bloo...
转载
68阅读
0评论
0点赞
发布博客于 2 年前

Partial Bloom Filter

转载地址:https://blog.csdn.net/jiaomeng/article/details/1502910Partial Bloom Filter在标准的Bloom Filter中,我们用k个相互独立的哈希函数将一个集合映射到长度为m的位数组中,其中每个哈希函数的映射范围都为{0, … , m-1}。除了这种标准的实现方式之外,还有一种实现被广泛采用,就是所谓的Partial ...
转载
59阅读
0评论
0点赞
发布博客于 2 年前

Counting Bloom Filter

转载地址:https://blog.csdn.net/jiaomeng/article/details/1498283Counting Bloom Filter从前面几篇对Bloom Filter的介绍可以看出,标准的Bloom Filter是一种很简单的数据结构,它只支持插入和查找两种操作。在所要表达的集合是静态集合的时候,标准Bloom Filter可以很好地工作,但是如果要表达的集合...
转载
113阅读
0评论
0点赞
发布博客于 2 年前

Bloom Filter 对比哈希存储

转载地址:https://blog.csdn.net/jiaomeng/article/details/1496329从哈希存储到Bloom Filter先解释一下什么是哈希函数。哈希函数简单来说就是一种映射,它可取值的范围(定义域)通常很大,但值域相对较小。哈希函数所作的工作就是将一个很大定义域内的值映射到一个相对较小的值域内。传统的哈希存储假设要哈希的集合为S,它有n个元素。传...
转载
194阅读
0评论
0点赞
发布博客于 2 年前

Bloom Filter概念和原理

转载地址:https://blog.csdn.net/jiaomeng/article/details/1495500Bloom Filter概念和原理Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素...
转载
66阅读
0评论
0点赞
发布博客于 2 年前

关于 缓存穿透、缓存击穿、缓存雪崩和热点数据失效问题的解决方案

转载地址:https://mp.weixin.qq.com/s/kllwx6mRNIScChGhGkwbgA1 前言昨天晚上接到阿里的电面电话,过程中就问到了关于缓存相关的问题。虽然以前接触过,多多少少了解了一些。但是之前自己并没有好好记录这些内容,在真正面试的时候,并没有回答得出来。今天记录一下,长长记性。在我们的平常的项目中多多少少都会使用到缓存,因为一些数据我们没有必要每次查询的...
转载
228阅读
0评论
0点赞
发布博客于 2 年前

Idea中Git的使用(一)

刚来公司的时候,一直用的svn,操作也是简单无脑,现在要使用git了,结果发现差别还是很大的,就总结了下在idea中使用git的注意事项,以作备用。Git配置: 下载和安装就不说了,主要说一下配置name和邮箱以及SSH的配置。 git config user.name git config user.email git co...
原创
657阅读
0评论
0点赞
发布博客于 2 年前

Git cherry-pick 操作整理

转载地址:https://blog.csdn.net/FightFightFight/article/details/81039050概述git cherry-pick可以理解为”挑拣”提交,它会获取某一个分支的单笔提交,并作为一个新的提交引入到你当前分支上。 当我们需要在本地合入其他分支的提交时,如果我们不想对整个分支进行合并,而是只想将某一次提交合入到本地当前分支上,那么就要使用git...
转载
2542阅读
0评论
2点赞
发布博客于 2 年前

IDEA Git Cherry-pick 实现其他分支的部分提交合并到当前分支

转载地址:https://blog.csdn.net/collonn/article/details/52959436这篇文章主要是介绍了对冲突的解决,我要用的主要是cherry-pick,具体介绍在另一篇。本文演示一下,如何用intellij idea 合并 merge git 冲突 conflict, sourcetree使用,直接看图吧cherry pick, merge...
转载
1569阅读
0评论
0点赞
发布博客于 2 年前

LeetCode03:寻找给定字符串最长子串(不含重复字符)

转载地址:https://www.cnblogs.com/ariel-dreamland/p/8668286.html题目描述:给定一个字符串,找出不含有重复字符的最长子串的长度。示例:给定"abcabcbb",没有重复字符的最长子串是"abc",那么长度就是3。给定"bbbbb",最长的子串就是"b",长度是1。给定"pwwkew",最长子串是"...
转载
1150阅读
0评论
1点赞
发布博客于 2 年前

手写代码实现迷你版Tomcat

转载地址:https://www.jianshu.com/p/dce1ee01fb90Tomcat,这只3脚猫,大学的时候就认识了,直到现在工作中,也常会和它打交道。这是一只神奇的猫,今天让我来抽象你,实现你!Write MyTomcatTomcat是非常流行的Web Server,它还是一个满足Servlet规范的容器。那么想一想,Tomcat和我们的Web应用是什么关系?从...
转载
84阅读
0评论
0点赞
发布博客于 2 年前

Java8——流式数据处理

转载地址:https://www.cnblogs.com/shenlanzhizun/p/6027042.html一. 流式处理简介在我接触到java8流式处理的时候,我的第一感觉是流式处理让集合操作变得简洁了许多,通常我们需要多行代码才能完成的操作,借助于流式处理可以在一行中实现。比如我们希望对一个包含整数的集合中筛选出所有的偶数,并将其封装成为一个新的List返回,那么在java8之前...
转载
91阅读
0评论
0点赞
发布博客于 2 年前

一份非常完整的 MySQL 规范

转载地址:https://mp.weixin.qq.com/s/IG_4XQwCzR0nJoqpZ7N25Q一、数据库命令规范·所有数据库对象名称必须使用小写字母并用下划线分割·所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)·数据库对象的命名要能做到见名识意,并且最后不要超过32个字符·临时库表必须以tmp_为前缀并...
转载
54阅读
0评论
0点赞
发布博客于 2 年前

Class.forName()和ClassLoader区别

转载地址:https://www.cnblogs.com/jimoer/p/9185662.html前言最近在面试过程中有被问到,在Java反射中Class.forName()加载类和使用ClassLoader加载类的区别。当时没有想出来后来自己研究了一下就写下来记录一下。解释在java中Class.forName()和ClassLoader都可以对类进行加载。ClassLoade...
转载
83阅读
0评论
0点赞
发布博客于 2 年前

spring 事务详解

转载地址:https://www.2cto.com/kf/201611/562582.html前言spring目前已是java开发的一个事实标准,这得益于它的便利、功能齐全、容易上手等特性。在开发过程当中,操作DB是非常常见的操作,而涉及到db,就会涉及到事务。事务在平时的开发过程当中,就算没有注意到,程序正常执行不会有副作用,但如果出现了异常,而又没有处理好事务的话,可能就会出现意想不到...
转载
52阅读
0评论
0点赞
发布博客于 2 年前

极客时间——数据结构与算法(37):贪心算法:如何用贪心算法实现Huffman压缩编码?

转载地址:https://time.geekbang.org/column/article/73188基础的数据结构和算法我们基本上学完了,接下来几节,我会讲几种更加基本的算法。它们分别是贪心算法、分治算法、回溯算法、动态规划。更加确切地说,它们应该是算法思想,并不是具体的算法,常用来指导我们设计具体的算法和编码等。贪心、分治、回溯、动态规划这 4 个算法思想,原理解释起来都很简单,但是要...
转载
253阅读
0评论
0点赞
发布博客于 2 年前

极客时间——数据结构与算法(36):AC自动机:如何用多模式串匹配实现敏感词过滤功能?

转载地址:https://time.geekbang.org/column/article/72810很多支持用户发表文本内容的网站,比如 BBS,大都会有敏感词过滤功能,用来过滤掉用户输入的一些淫秽、反动、谩骂等内容。你有没有想过,这个功能是怎么实现的呢?实际上,这些功能最基本的原理就是字符串匹配算法,也就是通过维护一个敏感词的字典,当用户输入一段文字内容之后,通过字符串匹配算法,来查找...
转载
137阅读
0评论
0点赞
发布博客于 2 年前

极客时间——数据结构与算法(35):Trie树:如何实现搜索引擎的搜索关键词提示功能?

转载地址:https://time.geekbang.org/column/article/72414搜索引擎的搜索关键词提示功能,我想你应该不陌生吧?为了方便快速输入,当你在搜索引擎的搜索框中,输入要搜索的文字的某一部分的时候,搜索引擎就会自动弹出下拉框,里面是各种关键词提示。你可以直接从下拉框中选择你要搜索的东西,而不用把所有内容都输入进去,一定程度上节省了我们的搜索时间。尽管这个...
转载
361阅读
0评论
0点赞
发布博客于 2 年前

极客时间——数据结构与算法(34):字符串匹配基础(下):如何借助BM算法轻松理解KMP算法?

转载地址:https://time.geekbang.org/column/article/71845上一节我们讲了 BM 算法,尽管它很复杂,也不好理解,但却是工程中非常常用的一种高效字符串匹配算法。有统计说,它是最高效、最常用的字符串匹配算法。不过,在所有的字符串匹配算法里,要说最知名的一种的话,那就非 KMP 算法莫属。很多时候,提到字符串匹配,我们首先想到的就是 KMP 算法。尽管...
转载
111阅读
0评论
0点赞
发布博客于 2 年前

极客时间——数据结构与算法(33):字符串匹配基础(中):如何实现文本编辑器中的查找功能?

转载地址:https://time.geekbang.org/column/article/71525文本编辑器中的查找替换功能,我想你应该不陌生吧?比如,我们在 Word 中把一个单词统一替换成另一个,用的就是这个功能。你有没有想过,它是怎么实现的呢?当然,你用上一节讲的 BF 算法和 RK 算法,也可以实现这个功能,但是在某些极端情况下,BF 算法性能会退化的比较严重,而 RK 算法需...
转载
201阅读
0评论
0点赞
发布博客于 2 年前

Java核心技术36讲(17)—— 一个线程两次调用start()方法会出现什么情况?

转载地址:https://time.geekbang.org/column/article/9103典型回答Java 的线程是不允许启动两次的,第二次调用必然会抛出 IllegalThreadStateException,这是一种运行时异常,多次调用 start 被认为是编程错误。关于线程生命周期的不同状态,在 Java 5 以后,线程状态被明确定义在其公共内部枚举类型 java.la...
转载
94阅读
0评论
0点赞
发布博客于 2 年前

Java核心技术36讲(16)—— synchronized底层如何实现?什么是锁的升级、降级?

转载地址:https://time.geekbang.org/column/article/9042典型回答在回答这个问题前,先简单复习一下上一讲的知识点。synchronized 代码块是由一对儿 monitorenter/monitorexit 指令实现的,Monitor 对象是同步的基本实现单元。在 Java 6 之前,Monitor 的实现完全是依靠操作系统内部的互斥锁,因为需...
转载
240阅读
0评论
0点赞
发布博客于 2 年前

Java核心技术36讲(15)—— synchronized和ReentrantLock有什么区别呢?

转载地址:https://time.geekbang.org/column/article/8799典型回答synchronized 是 Java 内建的同步机制,所以也有人称其为 Intrinsic Locking,它提供了互斥的语义和可见性,当一个线程已经获取当前锁时,其他试图获取的线程只能等待或者阻塞在那里。在 Java 5 以前,synchronized 是仅有的同步手段,在代...
转载
76阅读
0评论
0点赞
发布博客于 2 年前

聚集索引简介

本文为转载文章,主要介绍聚集索引的概念,以便于更清楚的理解。转载地址:https://www.cnblogs.com/aspwebchh/p/6652855.html前段时间,公司一个新上线的网站出现页面响应速度缓慢的问题, 一位负责这个项目的但并不是搞技术的妹子找到我,让我想办法提升网站的访问速度 ,因为已经有很多用户来投诉了。我第一反应觉的是数据库上的问题,假装思索了一下,摆着一副深沉...
转载
11683阅读
6评论
26点赞
发布博客于 2 年前

冒泡排序优化

话不多说,直接上代码,最基本的冒泡: public static void bubbleSort1(int[] arr){ for (int i = 0; i &lt; arr.length - 1; i++) {//外层循环控制排序趟数 for (int j = 0; j &lt; arr.length - 1 - i; j++) {//内层循环控制...
原创
89阅读
2评论
0点赞
发布博客于 2 年前

使用JAXB相关注意问题

最近在调快递接口的时候,因为大多数请求及返回值都是以xml格式进行的,所以需要用到工具来对xml和bean两者进行相互转化,这里用到了JAXB技术。这里有对应的utils可以使用,点击查看。我在调用的时候并没有用这个工具类,因为之前代码里有别人写好的工具类,用的也是JAXB,但是封装形式不一样,而且打在了jar包里,和其他类还有依赖,就不贴代码了,同事用了上面的代码也是可以实现的。这里...
原创
151阅读
0评论
1点赞
发布博客于 2 年前

JAXB工具类实现xml和bean相互转化

转载的,同事已经测试过,可以实现。转载地址:https://blog.csdn.net/5iasp/article/details/38492825测试类:package com.yanek.test; import java.util.ArrayList;import java.util.List; import com.yanek.test.JaxbUtil.C...
转载
285阅读
0评论
0点赞
发布博客于 2 年前

Java核心技术36讲(13)—— 谈谈接口和抽象类有什么区别?

转载地址:https://time.geekbang.org/column/article/8471典型回答接口和抽象类是 Java 面向对象设计的两个基础机制。接口是对行为的抽象,它是抽象方法的集合,利用接口可以达到 API 定义和实现分离的目的。接口,不能实例化;不能包含任何非常量成员,任何 field 都是隐含着 public static final 的意义;同时,没有非静态方...
转载
88阅读
0评论
0点赞
发布博客于 2 年前

Zero-Copy在kafka中的应用

转载地址:https://blog.csdn.net/allwefantasy/article/details/50663533前言Kafka 我个人感觉是性能优化的典范。而且使用Scala开发,代码写的也很漂亮的。重点我觉得有四个    NIO     Zero Copy     磁盘顺序读写     Queue数据结构的极致使用Zero-Copy 实际的原理,大家还是去Go...
转载
193阅读
0评论
0点赞
发布博客于 2 年前

Zero-copy原理理解(英文--据说讲的很清楚)

转载地址:https://www.linuxjournal.com/article/6345?page=0,2                                                                   Zero Copy I: User-Mode PerspectiveSysAdminby Dragan Stancevicon Januar...
转载
222阅读
0评论
0点赞
发布博客于 2 年前

Zero-Copy原理解析

转载地址:https://blog.csdn.net/u013256816/article/details/52589524首先需要知道应用场景:适用于静态资源从磁盘到网络的发送(中间不对资源进行改变),这在web server提供的功能中很常见,一个例子是:保存在磁盘上的一张图片应某个网络请求被从磁盘中取出并通过socket发送至请求方。考虑这样一种常用的情形:你需要将静态内容(类似图...
转载
163阅读
0评论
0点赞
发布博客于 2 年前

Java核心技术36讲(12)—— Java有几种文件拷贝方式?哪一种最高效?

转载地址:https://time.geekbang.org/column/article/8393  友情提示,这一节都是理论知识,没实践过的估计看着费劲我在专栏上一讲提到,NIO 不止是多路复用,NIO 2 也不只是异步 IO,今天我们来看看 Java IO 体系中,其他不可忽略的部分。今天我要问你的问题是,Java 有几种文件拷贝方式?哪一种最高效?典型回答Java 有多种比...
转载
239阅读
0评论
0点赞
发布博客于 2 年前

Java核心技术36讲(11)—— Java提供了哪些IO方式? NIO如何实现多路复用?

转载地址:https://time.geekbang.org/column/article/8369 IO 一直是软件开发中的核心部分之一,伴随着海量数据增长和分布式系统的发展,IO 扩展能力愈发重要。幸运的是,Java 平台 IO 机制经过不断完善,虽然在某些方面仍有不足,但已经在实践中证明了其构建高扩展性应用的能力。今天我要问你的问题是,Java 提供了哪些 IO 方式? NIO ...
转载
363阅读
0评论
0点赞
发布博客于 2 年前

JDBC 驱动程序类型

转载地址:https://www.jianshu.com/p/fce9ac03a250什么是 JDBC 驱动说白了 JDBC 驱动就是一组实现了 JDBC API 接口的 Java 类的集合,该接口用于与数据库服务器进行交互。例如,使用 JDBC 驱动程序可以让你打开数据库连接,并通过发送 SQL 或数据库命令,然后通过 Java 接收结果。JDK 中的 java.sql 包中定义了各...
转载
406阅读
0评论
1点赞
发布博客于 2 年前

Understanding JDBC Internals & Timeout Configuration

Understanding JDBC Internals &amp; Timeout ConfigurationWRITTEN BY Woon Duk Kang ON 06/07/2017An application with a proper JDBC timeout can cut down the failure time. In this article we would like...
转载
71阅读
0评论
0点赞
发布博客于 2 年前

深入理解 JDBC 的超时

转载地址:https://www.jianshu.com/p/2deaf51bf715深入理解 JDBC 的超时这是最近读到的讲关于 JDBC 的超时问题最透彻的文章,原文是http://www.cubrid.org/blog/understanding-jdbc-internals-and-timeout-configuration ,网址需要翻墙才能打开,已转载到另外一篇文章。网上现有...
转载
337阅读
0评论
0点赞
发布博客于 2 年前

JS对象数组去重(单个数组 新方法)

转载地址:https://www.cnblogs.com/le220/p/9130656.html  亲测可用方法一:采用对象访问属性的方法,判断属性值是否存在,如果不存在就添加。方法二:采用数组中的reduce方法,遍历数组,也是通过对象访问属性的方法var arr = [{ key: '01', value: '乐乐' }, { ...
转载
279阅读
0评论
0点赞
发布博客于 2 年前

JS几种数组遍历方式以及性能分析对比

转载地址:https://dailc.github.io/2016/11/25/baseKnowlenge_javascript_jsarrayGoThroughJS数组遍历的几种方式JS数组遍历,基本就是for,forin,foreach,forof,map等等一些方法,以下介绍几种本文分析用到的数组遍历方式以及进行性能分析对比第一种:普通for循环代码如下:for(j =...
转载
58阅读
0评论
0点赞
发布博客于 2 年前

MiniUI grid改变行背景颜色

在使用miniUI开发中,时常会遇到需要改变gird的符合条件的某一行的颜色,下面就说两种方法:一:使用renderer=”theRenderer” 渲染的方式,也是最简单的一种方式在gird的某一列上加上这个renderer="theRenderer"然后在你的js中写上theRenderer()方法function changeColor(e){ if(e.row.con...
转载
2200阅读
0评论
0点赞
发布博客于 2 年前

极客时间——数据结构与算法(12):排序(下):如何用快排思想在O(n)内查找第K大元素?

转载地址:https://time.geekbang.org/column/article/41913 归并排序和快速排序都用到了分治思想,非常巧妙。我们可以借鉴这个思想,来解决非排序的问题,比如:如何在 O(n) 的时间复杂度内查找一个无序数组中的第 K 大元素?归并排序的原理我们先来看归并排序(Merge Sort)。归并排序的核心思想还是蛮简单的。如果要排序一个数组,...
转载
137阅读
0评论
0点赞
发布博客于 2 年前

Java并发系列[11]----ReentrantLock源码分析

原文出处:http://cmsblogs.com/ 『chenssy』我们知道线程Thread可以调用setPriority(int newPriority)来设置优先级的,线程优先级高的线程先执行,优先级低的后执行。而前面介绍的ArrayBlockingQueue、LinkedBlockingQueue都是采用FIFO原则来确定线程执行的先后顺序,那么有没有一个队列可以支持优先级呢? Pri...
转载
42阅读
0评论
0点赞
发布博客于 2 年前

Java核心技术36讲(10)—— ConcurrentHashMap如何实现高效地线程安全?

转载地址:https://time.geekbang.org/column/article/8137典型回答Java 提供了不同层面的线程安全支持。在传统集合框架内部,除了 Hashtable 等同步容器,还提供了所谓的同步包装器(Synchronized Wrapper),我们可以调用 Collections 工具类提供的包装方法,来获取一个同步的包装容器(如 Collections.s...
转载
79阅读
0评论
0点赞
发布博客于 2 年前

Java核心技术36讲(9)—— 对比Hashtable、HashMap、TreeMap有什么不同?

转载地址:https://time.geekbang.org/column/article/8053典型回答Hashtable、HashMap、TreeMap 都是最常见的一些 Map 实现,是以键值对的形式存储和操作数据的容器类型。Hashtable 是早期 Java 类库提供的一个哈希表实现,本身是同步的,不支持 null 键和值,由于同步导致的性能开销,所以已经很少被推荐使用。...
转载
70阅读
0评论
1点赞
发布博客于 2 年前

Java核心技术36讲(8)—— 对比Vector、ArrayList、LinkedList有何区别?

转载地址:https://time.geekbang.org/column/article/7810典型回答这三者都是实现集合框架中的 List,也就是所谓的有序集合,因此具体功能也比较近似,比如都提供按照位置进行定位、添加或者删除的操作,都提供迭代器以遍历其内容等。但因为具体的设计区别,在行为、性能、线程安全等方面,表现又有很大不同。Vector 是 Java 早期提供的线程安全的动...
转载
67阅读
0评论
0点赞
发布博客于 2 年前

Java核心技术36讲(7)—— int和Integer有什么区别?

转载地址:https://time.geekbang.org/column/article/7514Java 虽然号称是面向对象的语言,但是原始数据类型仍然是重要的组成元素,所以在面试中,经常考察原始数据类型和包装类等 Java 语言特性。典型回答:int 是我们常说的整形数字,是 Java 的 8 个原始数据类型(Primitive Types,boolean、byte 、short...
转载
205阅读
0评论
1点赞
发布博客于 2 年前

Java核心技术36讲(6)—— 动态代理是基于什么原理?

转载地址:https://time.geekbang.org/column/article/7489编程语言通常有各种不同的分类角度,动态类型和静态类型就是其中一种分类角度,简单区分就是语言类型信息是在运行时检查,还是编译期检查。与其近似的还有一个对比,就是所谓强类型和弱类型,就是不同类型变量赋值时,是否需要显式地(强制)进行类型转换。那么,如何分类 Java 语言呢?通常认为,Jav...
转载
99阅读
0评论
0点赞
发布博客于 2 年前

Java核心技术36讲(5)—— String、StringBuffer、StringBuilder有什么区别?

转载地址:https://time.geekbang.org/column/article/7349典型回答String 是 Java 语言非常基础和重要的类,提供了构造和管理字符串的各种基本逻辑。它是典型的 Immutable 类,被声明成为 final class,所有属性也都是 final 的。也由于它的不可变性,类似拼接、裁剪字符串等动作,都会产生新的 String 对象。由于字符...
转载
52阅读
0评论
0点赞
发布博客于 2 年前

Java核心技术36讲(3)—— 谈谈final、finally、 finalize有什么不同?

转载地址:https://time.geekbang.org/column/article/6906典型回答final 可以用来修饰类、方法、变量,分别有不同的意义,final 修饰的 class 代表不可以继承扩展,final 的变量是不可以修改的,而 final 的方法也是不可以重写的(override)。finally 则是 Java 保证重点代码一定要被执行的一种机制。我们可以...
转载
52阅读
0评论
0点赞
发布博客于 2 年前

Java核心技术36讲(2)—— Exception和Error有什么区别?

转载地址:https://time.geekbang.org/column/article/6849Java 语言在设计之初就提供了相对完善的异常处理机制,这也是 Java 得以大行其道的原因之一,因为这种机制大大降低了编写和维护可靠程序的门槛。如今,异常处理机制已经成为现代编程语言的标配。问题,请对比 Exception 和 Error,另外,运行时异常与一般异常有什么区别?典型回答...
转载
123阅读
0评论
1点赞
发布博客于 2 年前

两边横线 中间汉字 js效果实现

话不多说,直接上css 样式代码:CSS text-decoration 属性 文本修饰:可以控制一条线从不同的位置以不同的状态、姿势来通过一段文字。&lt;html&gt;&lt;head&gt;&lt;style type="text/css"&gt;h1 {text-decoration: overline}h2 {text-decoration: line-throu...
原创
312阅读
0评论
0点赞
发布博客于 2 年前

Java 快递平台接口调用问题 base64 加密(jdk与Apache)

近来调EMS的下单接口,总是不成功,还有调韵达的接口,总是报签名错误,弄了两天也没找出来啥原因,后来老司机不造咋地就找到了原因,原来是在对参数进行base64加密的时候使用了jdk自带的base64进行编码(sun.misc.BASE64Encoder),编码结果会在最后面多加换行,导致参数不正确,换成Apache包下的base64就可以了(1.8中的java.util.Base64也可以)。...
原创
466阅读
2评论
0点赞
发布博客于 2 年前

极客时间——数据结构与算法(11):排序(上):为什么插入排序比冒泡排序更受欢迎?

 转载地址:https://time.geekbang.org/column/article/41802排序对于任何一个程序员来说,可能都不会陌生。你学的第一个算法,可能就是排序。大部分编程语言中,也都提供了排序函数。在平常的项目中,我们也经常会用到排序。排序非常重要,所以我会花多一点时间来详细讲一讲经典的排序算法。排序算法太多了,有很多可能你连名字都没听说过,比如猴子排序、睡眠排序、...
转载
79阅读
0评论
0点赞
发布博客于 2 年前

极客时间——数据结构与算法(10):递归:如何用三行代码找到“最终推荐人”?

转载地址:https://time.geekbang.org/column/article/41440  推荐注册返佣金的这个功能我想你应该不陌生吧?现在很多 App 都有这个功能。这个功能中,用户 A 推荐用户 B 来注册,用户 B 又推荐了用户 C 来注册。我们可以说,用户 C 的“最终推荐人”为用户 A,用户 B 的“最终推荐人”也为用户 A,而用户 A 没有“最终推荐人”。  ...
转载
167阅读
0评论
0点赞
发布博客于 2 年前

极客时间——数据结构与算法(9):队列:队列在线程池等有限资源池中的应用

转载地址:https://time.geekbang.org/column/article/41330  我们知道,CPU 资源是有限的,任务的处理速度与线程个数并不是线性正相关。相反,过多的线程反而会导致 CPU 频繁切换,处理性能下降。所以,线程池的大小一般都是综合考虑要处理任务的特点和硬件环境,来事先设置的。 当我们向固定大小的线程池中请求一个线程时,如果线程池中没有空闲资源了,...
转载
138阅读
0评论
0点赞
发布博客于 2 年前

极客时间——数据结构与算法(8):栈:如何实现浏览器的前进和后退功能??

转载地址:https://time.geekbang.org/column/article/41222浏览器的前进、后退功能,我想你肯定很熟悉吧?  当你依次访问完一串页面 a-b-c 之后,点击浏览器的后退按钮,就可以查看之前浏览过的页面 b 和 a。当你后退到页面 a,点击前进按钮,就可以重新查看页面 b 和 c。但是,如果你后退到页面 b 后,点击了新的页面 d,那就无法再通过前...
转载
116阅读
0评论
1点赞
发布博客于 2 年前

极客时间——数据结构与算法(7):如何轻松写出正确的链表代码?

链表的基础知识很简单,但是 想要写好链表代码并不是容易的事儿,尤其是那些复杂的链表操作,比如链表反转、有序链表合并等。下面推荐几个写链表代码的技巧:技巧一:理解指针或引用的含义事实上,看懂链表的结构并不是很难,但是一旦把它和指针混在一起,就很容易让人摸不着头脑。所以,要想写对链表代码,首先就要理解好指针。  我们知道,有些语言有“指针”的概念,比如 C 语言;有些语言没有指针,取而代之...
转载
48阅读
0评论
0点赞
发布博客于 2 年前

RabbitMQ(十一):RabbitMQ最大连接数

RabbitMQ自带了显示能够接受的最大连接数,有2种比较直观的方式:1. rabbitmqctl命令n$ rabbitmqctl status Status of node 'rabbit@10-101-17-13' ... [{pid,23658}, ...... {file_descriptors, [{total_limit,924}, {total_u...
转载
6082阅读
0评论
0点赞
发布博客于 2 年前

js date 月份、日期加一天等

转载地址:http://www.cnblogs.com/gmq-sh/p/5194706.html以在某个日期上加减天数来说,其实只要调用Date对象的setDate()函数就可以了,具体方法如下:      function addDate(date,days){        var d=new Date(date);        d.setDate(d.getDate()+day...
转载
1206阅读
0评论
0点赞
发布博客于 2 年前

RabbitMQ(九):AMQP协议

转载地址:https://kb.cnblogs.com/page/73759/当前各种应用大量使用异步消息模型,并随之产生众多消息中间件产品及协议,标准的不一致使应用与中间件之间的耦合限制产品的选择,并增加维护成本。AMQP是一个提供统一消息服务的应用层标准协议,基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同开发语言等条件的限制。   当然这种降低耦合的机制是...
转载
55阅读
0评论
0点赞
发布博客于 2 年前

RabbitMQ(八):Rabbitmq集群高可用(未测试,待定)

转载地址:http://www.cnblogs.com/flat_peach/archive/2013/04/07/3004008.htmlRabbitMQ是用erlang开发的,集群非常方便,因为erlang天生就是一门分布式语言,但其本身并不支持负载均衡。Rabbit模式大概分为以下三种:单一模式、普通模式、镜像模式单一模式:最简单的情况,非集群模式。没什么好说的。普通模式...
转载
48阅读
0评论
0点赞
发布博客于 2 年前

RabbitMQ(七):RabbitMQ-queueBind-exchangeBind

转载地址:https://www.jianshu.com/p/67922a4439dc使用queueBindpackage com.ghg.mq01.producer;import java.io.IOException;import java.util.concurrent.TimeoutException;import com.rabbitmq.client.Channel...
转载
287阅读
0评论
0点赞
发布博客于 2 年前

RabbitMQ(六):RabbitMQ-消费消息-basicConsume

转载地址: https://www.jianshu.com/p/df231c152754RabbitMQ-消费消息 Address[] addresses = new Address[] {new Address(IP_ADDRESS, PORT)}; /** * 1.建立连接工厂 */ Connecti...
转载
5535阅读
0评论
0点赞
发布博客于 2 年前

RabbitMQ(六):RabbitMQ-消费消息-basicConsume

转载地址: https://www.jianshu.com/p/df231c152754RabbitMQ-消费消息 Address[] addresses = new Address[] {new Address(IP_ADDRESS, PORT)}; /** * 1.建立连接工厂 */ Connecti...
转载
5535阅读
0评论
0点赞
发布博客于 2 年前

RabbitMQ(五):RabbitMQ-发送消息basicPublish

内容比较少,有待补充……props里的expiration过期时间可以控制消息生命周期(后来用的到)转载地址:https://www.jianshu.com/p/b8e97606e309basicPublish channel.basicPublish(EXCHANGE_NAME, ROUTING_KEY,MessageProperties.PERSISTENT_TEXT_PLAIN...
转载
7829阅读
0评论
0点赞
发布博客于 2 年前

RabbitMQ(四):RabbitMQ-queueDeclare

转载地址:https://www.jianshu.com/p/5634a9c71559声明创建队列 ConnectionFactory connectionFactory = new ConnectionFactory(); /** * 设置ip * port * 用户名 * 密码 ...
转载
402阅读
0评论
0点赞
发布博客于 2 年前

RabbitMQ(三):RabbitMQ-exchangeDeclare

主要介绍exchangeDeclare方法的一些参数及重载,可以参考下。转载地址:https://www.jianshu.com/p/73c142b120f7创建一个交换器 : ConnectionFactory connectionFactory = new ConnectionFactory(); /** * 设置ip ...
转载
1687阅读
0评论
0点赞
发布博客于 2 年前

RabbitMQ(二):Rabbitmq本地案例

之前用的kafka做消息中间件,后来说要改为rabbitmq,老司机给找的参考案例。文章是转载的,用到了场景2(与spring结合的),其他的本地也试了下,5好像有问题,其他都可以。作者:阿凡卢出处:http://www.cnblogs.com/luxiaoxun/场景1:单发送单接收使用场景:简单的发送与接收,没有特别的处理。Producer:import co...
转载
107阅读
0评论
0点赞
发布博客于 2 年前

RabbitMQ(一):Rabbitmq基本概念

RabbitMQ 即一个消息队列,_主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。RabbitMQ使用的是AMQP协议,它是一种二进制协议。默认启动端口 5672。左侧 P 代表 生产者,也就是往 RabbitMQ 发消息的程序。中间即是 RabbitMQ,_其中包括了 交换机 和 队列。_右侧 C 代表 消费者,也就是往 RabbitMQ 拿消息的程序...
转载
127阅读
0评论
0点赞
发布博客于 2 年前

Java核心技术36讲(4)——引用类型

之前转载了一篇英文的引用类型的介绍文章,之所以转那个就是因为在36讲中看到了别人的推荐,今天就看下Java中的引用类型问题。转载地址:https://time.geekbang.org/column/article/6970问题:强引用、软引用、弱引用、幻象引用有什么区别?具体使用场景是什么... ...
转载
177阅读
0评论
0点赞
发布博客于 3 年前