逍遥飞鹤的专栏

Java,Android技术类分享

如何使用thread dump?你将如何分析Thread dump?

      新建状态(New)  用new语句创建的线程处于新建状态,此时它和其他Java对象一样,仅仅在堆区中被分配了内存。 就绪状态(Runnable)  当一个线程对象创建后,其他线程调用它的start()方法,该线程就进入就绪状态,Java虚拟机会为它创建方...

2019-01-04 17:55:42

阅读数 70

评论数 0

SpringBoot与异步任务、定时任务、邮件任务

异步任务 在需要开启异步的服务加上注解:@Async @Service public class AsyncService { //告诉SpringBoot这是一个异步任务,SpringBoot会自动开启一个线程去执行 @Async public void testA...

2018-12-20 09:56:46

阅读数 116

评论数 1

AQS与JUC中的锁实现原理

摘要 提到JAVA加锁,我们通常会想到synchronized关键字或者是Java Concurrent Util(后面简称JCU)包下面的Lock,今天就来扒一扒Lock是如何实现的,比如我们可以先提出一些问题:当我们通实例化一个ReentrantLock并且调用它的lock或unlock的时...

2018-08-31 16:54:43

阅读数 135

评论数 0

JDK1.8源码分析之AbstractQueuedSynchronizer

一、前言   在锁框架中,AbstractQueuedSynchronizer抽象类可以毫不夸张的说,占据着核心地位,它提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架。所以很有必要好好分析。 二、AbstractQueuedSynchronizer数据结构   分析...

2018-08-31 14:34:19

阅读数 116

评论数 1

基于Docker实现MySQL的主从复制和SpringBoot2+MyBatis的动态切换数据源的读写分离

1)从Docker官方下拉MySQL的image docker search mysql docker pull mysql 2)设置目录   ---  将MySQL数据保存到当前主机上建立MySQL数据存储目录 mkdir -pv /Users/pintec/jay/db_test 建...

2018-05-31 16:40:32

阅读数 424

评论数 0

LinkedBlockingQueue原理分析---基于JDK8

1.常用的阻塞队列  1)ArrayBlockingQueue:规定大小的BlockingQueue,其构造函数必须带一个int参数来指明其大小.其所含的对象是以FIFO(先入先出)顺序排序的. 2)LinkedBlockingQueue:大小不定的BlockingQueue,若其...

2018-01-26 16:06:02

阅读数 602

评论数 0

MongoDB数据导入与导出

-------------------MongoDB数据导入与导出------------------- 1、导出工具:mongoexport     1、概念:         mongoDB中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。...

2018-01-01 20:59:34

阅读数 507

评论数 1

深入理解Redis的持久化机制和原理

Redis是一种面向“key-value”类型数据的分布式NoSQL数据库系统,具有高性能、持久存储、适应高并发应用场景等优势。它虽然起步较晚,但发展却十分迅速。  近日,Redis的作者在博客中写到,他看到的所有针对Redis的讨论中,对Redis持久化的误解是最大的,于是他写了一篇长文来...

2017-11-24 10:13:30

阅读数 1079

评论数 1

数据库持久化中的读写性能原理分析---基于存储引擎和索引原理

1.存储引擎的类型 类型 功能 应用 hash 增删改、随机读、顺序扫描 Key-Value存储系统  redis、memcached B-Tree 增删改、随机读、顺序扫描 关系型数据库,MongoDB采用了B-Tree+lock-free, LSM ...

2017-11-23 10:35:22

阅读数 698

评论数 1

分布式网站架构学习资源

1.大型分布式网站架构设计与实践 2.Java程序性能调优

2017-11-21 18:06:59

阅读数 486

评论数 0

我必须得告诉大家的MySQL优化原理

转自:http://www.jianshu.com/p/d7665192aaaf 说起MySQL的查询优化,相信大家收藏了一堆奇技淫巧:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的...

2017-09-29 09:48:34

阅读数 709

评论数 0

Java中集合与数组互转总结

1.集合之间,以及集合与数组互转 1.List转换为Array List list = new ArrayList(); list.add(“1”); list.add(“2”); list.add(“3”); list.add(“4”); String [] countries = list...

2017-09-27 18:07:24

阅读数 355

评论数 0

解决Spring中ResponseBody返回中文乱码问题

使用HttpMessageConverter接口的相关实现类。我们先看配置文件中的配置信息。 ...

2017-09-25 15:14:07

阅读数 433

评论数 0

写代码怎能不会这些 Linux 命令?

转自: https://juejin.im/entry/599b9e07f265da246d6af09f?utm_source=gold_browser_extension 这篇文章翻译自www.thegeekstuff.com/2010/11/50-…这些都是一些很常用的命令,这...

2017-09-15 12:54:19

阅读数 490

评论数 0

架构设计的立方体扩展

转自:http://blog.csdn.net/houjixin/article/details/53675741 本文是对《架构即未来》一书第20章的总结;  1. 立方体扩展是指X、Y、Z轴三个方向的扩展方式;  2. X轴扩展,指水平扩展,这种方式简单易于实现,它要求服务必须是...

2017-09-14 10:21:39

阅读数 270

评论数 0

提高系统性能的2个常用手段---缓存和异步

缓存 缓存  1.1 缓存刷新机制,缓存刷新是指什么时候把数据库中的数据加载到缓存  (1) 定期刷新;  (2) 缓存命中失败时刷新;  1.2 在有缓存时的数据写入方式:  (1) 同步写入,即缓存和数据库同时被写入,即在应用层进行双写操作,这种方式可以有效保证缓存和DB中数据的一致性,由...

2017-09-14 09:48:34

阅读数 2270

评论数 0

秒杀系统总结

挑战与解决策略 压力挑战: 短暂的高流量,对现有网站业务造成冲击 秒杀是一个网站营销的一个附加活动,时间短,并发量大。 如果和网站原有应用部署在一起,必然会对现有业务造成冲击,稍有不慎可能导致整个网站瘫痪。 高并发,数据库高负载 ...

2017-09-11 13:56:50

阅读数 4243

评论数 0

高可用+高并发+负载均衡架构设计

转自:架构师之路 前篇: 《无限容量数据库架构设计》 《MQ消息可达性+幂等性+延时性架构设计》 都收到网友好评: 系统性,全局性看问题体会更深刻 简单易懂 本文再做总结,体系化介绍高可用,高并发,负载均衡的一些...

2017-09-09 14:26:07

阅读数 1608

评论数 0

CountDownLatch和CyclicBarrier的简单使用

转自:http://www.kissyu.org/2016/07/18/%E5%AD%A6%E4%B9%A0%E4%BD%BF%E7%94%A8CountDownLatch%E5%92%8CCyclicBarrier/ 简介 CountDownLatch和CyclicBarri...

2017-08-30 09:44:18

阅读数 283

评论数 0

解析RocketMQ的client客户端

1.解析RocketMQ的client客户端 参考:http://www.cnblogs.com/atliwen/p/5216849.html 1.2个核心接口,3个默认实现 interface MQProducer --- DefaultMQProducer...

2017-08-28 16:14:38

阅读数 3091

评论数 0

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