摘要: jdk安装后会自带一些小工具,jmap命令(Java Memory Map)是其中之一。主要用于打印指定Java进程(或核心文件、远程调试服务器)的共享对象内存映射或堆内存细节。 jmap命令可以获得运行中的jvm的堆的快照,从而可以离线分析堆,以检查内存泄漏,检查一些严重影响性能的大对象的创建,检 阅读全文
posted @ 2019-01-22 11:36 大师兄i 阅读(14638) 评论(0) 推荐(0) 编辑
摘要: JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外, 还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,每一种工具都有其自身的特点, 用户可以根据你需要检测的应用或者程序片段的状况,适当的选择相应的工具进行检测, 先通过 阅读全文
posted @ 2019-01-15 10:48 大师兄i 阅读(2698) 评论(0) 推荐(0) 编辑
摘要: 为什么选择跳表 目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。 想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树 出来吗? 很难吧,这需要时间,要考虑很多细节,要参考一堆算法与数据结构之类的树, 还要参考网上的代码,相当 阅读全文
posted @ 2019-01-14 11:42 大师兄i 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 前言 Java NIO 由以下几个核心部分组成: 1 、Buffer 2、Channel 3、Selector 传统的IO操作面向数据流,意味着每次从流中读一个或多个字节,直至完成,数据没有被缓存在任何地方。 NIO操作面向缓冲区,数据从Channel读取到Buffer缓冲区,随后在Buffer中处 阅读全文
posted @ 2019-01-11 16:01 大师兄i 阅读(293) 评论(0) 推荐(0) 编辑
摘要: UML简要类图关系: 下面详细看一下三者的区别: Executor vs ExecutorService vs Executors 正如上面所说,这三者均是 Executor 框架中的一部分。Java 开发者很有必要学习和理解他们,以便更高效的使用 Java 提供的不同类型的线程池。总结一下这三者间 阅读全文
posted @ 2018-10-09 18:38 大师兄i 阅读(384) 评论(0) 推荐(0) 编辑
摘要: ElasticSearch是现在技术前沿的大数据引擎,常见的组合有ES+Logstash+Kibana作为一套成熟的日志系统,其中Logstash是ETL工具,Kibana是数据分析展示平台。ES让人惊艳的是他强大的搜索相关能力和灾备策略,ES开放了一些接口供开发者研发自己的插件,ES结合中文分词的 阅读全文
posted @ 2018-05-10 18:27 大师兄i 阅读(14939) 评论(0) 推荐(0) 编辑
摘要: 前言:相信大家都会使用Executors工具类创建线程池来使用线程,为什么并发编程会使得程序更快?那它的难点又在哪里?本文首先介绍何为并发编程。 1、并发编程 并发编程的目的是为了让程序运行得更快,但是,并不是启动更多的线程就能让程序最大限度地并发执行。在进行并发编程时,如果希望通过多线程执行任务让 阅读全文
posted @ 2018-04-23 11:24 大师兄i 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 一、springboot配置文件 核心配置文件和自定义配置文件。核心配置文件是指在resources根目录下的application.properties或application.yml配置文 件。为了不破坏核心文件的原生态,但又需要有自定义的配置信息存在,一般情况下会选择自定义配置文件来放这些自定 阅读全文
posted @ 2018-04-10 17:36 大师兄i 阅读(503) 评论(0) 推荐(0) 编辑
摘要: 之前面试时被面试官问了一个问题,Redis是多线程还是单线程的?依稀记得Redis为单线程,其更深层次的技术原理完全懵逼。所以此篇文章旨在解读Redis为什么为单线程。 1、基本原理 采用多路 I/O 复用技术可以让单个线程高效的处理多个连接请求(尽量减少网络IO的时间消耗) (1)为什么不采用多进 阅读全文
posted @ 2018-02-19 17:04 大师兄i 阅读(5639) 评论(1) 推荐(0) 编辑
摘要: 为方便开发人员进行程序开发,JDK提供了一组主要的数据结构实现,如List,Map,Set。网上有许多优秀的源码解析,就不再做多余分析。本节主要讨论List结构的使用方法和优化技巧。 List是最重要的数据结构之一。常见又是最重要的三种List实现:ArrayList,Vector,LinkedLi 阅读全文
posted @ 2018-02-14 00:09 大师兄i 阅读(1592) 评论(0) 推荐(0) 编辑