• 一封来自BAT架构师的信
    孤尽老师亲自为我签名《阿里巴巴码出高效:Java开发手册》20本所以,此次我准备将我这15年来的一线开发经验、亿级用户平台架构方法、团队项目管理经验包括像阿里巴巴这样大流量平台架构设计用到的技术栈等来打造一个3天强化训练的2019阿里巴巴《日均亿级访问系统架构设计训练营》此课程全程免费。
  • 图解 MySQL 索引:B-树、B+树 【建议收藏】
    本文中有关存储引擎请查看MySQL存储引擎-InnoDB和MyISAM索引是什么?索引是帮助MySQL高效获取数据的数据结构。具体细节取决于不同的实现,InnoDB的聚簇索引其实就是在同一个结构中保存了B-Tree索引和数据行。imgB-Tree索引B-Tree能加快数据的访问速度,因为存储引擎不再需要进行全表扫描来获取数据,数据分布在各个节点之中。imgB+Tree索引是B-Tree的改进版本,同时也是数据库索引索引所采用的存储结构。相比B-Tree来说,进行范围查找时只需要查找两个节点,进行遍历即可。Redis使用不当真的可能会导致应用卡死2.面试问烂的 Spring AOP 原理、SpringMVC 过程3.SpringBoot 注解大全,收藏一波!!!
  • 面试官问:StringBuilder 为什么线程不安全?
    (哑巴了)在这之前我只记住了StringBuilder不是线程安全的,StringBuffer是线程安全的这个结论,至于StringBuilder为什么不安全从来没有去想过。分析在分析设个问题之前我们要知道StringBuilder和StringBuffer的内部实现跟String类一样,都是通过一个char数组存储字符串的,不同的是String类里面的char数组是final修饰的,是不可变的,而StringBuilder和StringBuffer的char数组是可变的。我们看回AbstractStringBuilder的append()方法源码的第五行,ensureCapacityInternal()方法是检查StringBuilder对象的原char数组的容量能不能盛下新的字符串,如果盛不下就调用expandCapacity()方法对char数组进行扩容。
  • 最全阿里P6+的Java高级架构资料免费领(限三天)
    有段时间没跟各位粉丝分享编程资源福利了,看了下自己的百度网盘,就剩下这个我认为是比较好的Java架构师学习资料了。相信这套资料可以对你进阶高级工程师有帮助!Java架构师技术进阶路线图架构技术进阶资料架构技术进阶书籍领取方式以上资源进群免费获取扫码加QQ群号:710373545可以点击阅读原文直接获取资料
  • JDK 13 的 12 个新特性,赶紧学习一波 !
    应用程序在执行期间可能具有非常不同的堆空间要求。例如,启动期间所需的堆可能大于稳态执行期间稍后所需的堆。将此功能添加到ZGC将受到同一组用户的欢迎。新的实 现很容易适应用户模式线程,也就是光纤,目前正在Project Loom中进行探索。动机:在java.net.Socket和java.net.ServerSocketAPI,以及它们的底层实现,可以追溯到JDK 1.0。实现是遗留Java和C代 码的混合,维护和调试很痛苦。该实现使用本机数据 结构来支持异步关闭,这是多年来微妙可靠性和移植问题的根源。>, ClassLoader)添加为newFileSystem(Path, Map<String, ?
  • 除了不要 SELECT * ,这 11 个数据库调优技巧,必须知道!
    img程序中嵌入的一行行的SQL语句,如果使用了一些优化小技巧,定能达到事半功倍的效果。技巧6 为获得相同结果集的多次执行,请保持SQL语句前后一致这样做的目的是为了充分利用查询缓冲。技巧7 尽量避免使用 “SELECT *”如果不查询表中所有的列,尽量避免使用 SELECT *,因为它会进行全表扫描,不能有效利用索引,增大了数据库服务器的负担,以及它与应用程序客户端之间的网络IO开销。其他SQL调优方法有很多种,同样的查询结果可以有很多种不同的查询方式。
  • 写给工程师的 MySQL 面试高频 100 问!建议收藏!
    索引的数据结构和具体存储引擎的实现有关, 在MySQL中使用较多的索引有Hash索引,B+树索引等,而我们经常使用的InnoDB存储引擎的默认索引实现为:B+树索引.3. Hash索引和B+树所有有什么区别或者说优劣呢?不一定,这涉及到查询语句所要求的字段是否全部命中了索引,如果全部命中了索引,那么就不必再进行回表查询.举个简单的例子,假设我们在员工表的年龄上建立了索引,那么当进行select age from employee where age < 20的查询时,在索引的叶子节点上,已经包含了age信息,不会再次进行回表查询.6. 在建立索引的时候,都有哪些需要考虑的因素呢?
  • JVM 配置常用参数和常用 GC 调优策略, 必须知道!
    并行和并发 GC 的策略通过 UseParallelGC 和 UseConcMarkSweepGC 来指定,还有一些细节的配置参数用来配置策略的执行方式。策略 1:将新对象预留在新生代,由于 Full GC 的成本远高于 Minor GC,因此尽可能将对象分配在新生代是明智的做法,实际项目中根据 GC 日志分析新生代空间大小分配是否合理,适当通过“-Xmn”命令调节新生代大小,最大限度降低新对象直接进入老年代的情况。策略5:注意:如果满足下面的指标,则一般不需要进行 GC 优化:MinorGC 执行时间不到50ms;Minor GC 执行不频繁,约10秒一次;Full GC 执行时间不到1s;Full GC 执行频率不算频繁,不低于10分钟1次。
  • 原创 | 一文带您快速入门可视化分析平台 Kibana
    位置分析通过 Elastic Maps, 可以对位置数据进行可视化分析。安装步骤可参考小哈的这篇文章《原创 | 手摸手带您学会 Elasticsearch 单机、集群、插件安装》。关于 Kibana 的页面的功能,这里就简单介绍一些仪表盘,后续文章中,小哈会对 Kibana 的其他功能做一个详细深入的了解。Kibana DevTools接下来介绍一下 Kibana 中一个非常有用的工具 DevTools。kibana 安装插件类似于 Elasticsearch,Kibana 同样提供了插件功能,通过安装一些外部插件,可以增强 Kibana 自身的功能,比如:增强图表展示等。
  • 求求你,能好好写 SQL 吗?【SQL 优化指南,建议收藏】
    MySQL没有限制单表最大记录数,它取决于操作系统对文件大小的限制。性能由综合因素决定,抛开业务复杂度,影响程度依次是硬件配置、MySQL配置、数据表设计、索引优化。MySQL会为每个连接提供缓冲区,意味着消耗更多的内存。实施原则相比NoSQL数据库,MySQL是个娇气脆弱的家伙。避免空值MySQL中字段为NULL时依然占用空间,会使索引、索引统计更加复杂。索引优化分页查询很重要,如果查询数据量超过30%,MYSQL不会使用索引。SQL优化分批处理博主小时候看到鱼塘挖开小口子放水,水面有各种漂浮物。MySQL就是鱼塘,最大并发数和网络带宽就是出水口,用户SQL就是漂浮物。
个人资料

专注于 Java 领域干货分享,不限于 BAT 面试, Spring Boot, 微服务, 高并发, 数据库,JVM, Docker 容器,ELK 相关知识,期待与您一同进步。