SpringBoot自动配置实现原理及源码解析 约定优于配置,这是SpringBoot中的一个很重要特性,此特性让可以在几秒中之内完成一个项目的搭建,无需任何配置。 为什么要自动配置 手动配置很麻烦且容易出问题 构建一个一样的项目耗时长且复杂 Overview概括来说,就是借助@Import的支持,收集和注册特定场景相关的bean定义来进行自动配置 eg: @EnableAutoConfiguration 是通过@Import将** 2020-11-01 18_源码分析 #源码分析 #Spring #SpringBoot
Jmeter 完整教程 1. Jmeter简介Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件。相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是每个测试人员都必须要掌握的工具之一。 本文为JMeter性能测试完整入门篇,从Jmeter下载安装到编写一个完整性能测试脚本、最终执行性能测试并分析性能测试结果。 运行环境为Windows 10系统,JDK 2020-10-08 09_调试测试 > 03_压力测试 #Jmeter #压测
Jmeter 基本使用 参考资料:http://www.jmeter.com.cn/category/jmeter-book 一、下载进入官网:http://jmeter.apache.org/download_jmeter.cgi 1.第一步进入官网如下图 2.选择进行下载,下载下来为一个压缩包,解压即可。 3.下载jmeter5.3对应jdk1.8的版本。然后就进行解压。 个人认为要注意3点: 1)解压之后压缩包 2020-10-08 09_调试测试 > 03_压力测试 #Jmeter #压测
Java编程课程 下载资料架构实战案例解析 课程链接:https://time.geekbang.org/column/intro/281 资料链接:https://url81.ctfile.com/f/57345181-1272420925-8cf0b9?p=3899 访问密码:3899 RPC实战与核心原理 课程链接:https://time.geekbang.org/column/intro/10004 2020-10-07 99_个人成长 > 01_书籍资料 #Java #课程
如何构建自己的知识体系 前言当说到“体系化”和“碎片式”这两个词,大家会感到一种矛盾冲突感,因为体系就应该不碎片,碎片的东西它就应该不体系。其实是因为我们的学习过程分为好几个不同的阶段,在这个阶段利用体系化的方式,而在另一个阶段,又用碎片化的方式,这样就可以形成体系化碎片式的学习。 我们的学习分为四阶段:输入、内化、沉淀、输出。碎片化在输入的时候用,因为信息本身是碎片化的,时间也是碎片化的,所以输入信息的时候,要碎片化。 2020-10-07 99_个人成长 > 02_自我认知 #Java #课程
Java编程书籍 设计模式 大话设计模式: 资料链接:https://url81.ctfile.com/f/57345181-1269292981-092c51?p=3899 访问密码:3899 重学Java设计模式: 资料链接:https://url81.ctfile.com/f/57345181-1269292987-4ef5d7?p=3899 访问密码:3899 设计模式之禅(第2版): 资料链接 2020-10-07 99_个人成长 > 01_书籍资料 #Java #书籍
EXPLAIN关键词 1. EXPLAIN简介 使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。 通过explain我们可以获得以下信息: 表的读取顺序 数据读取操作的操作类型 哪些索引可以使用 哪些索引被实际使用 表之间的引用 每张表有多少行被优化器查询 使用方法:EXPLAIN SQL语句; 2. 执行计划各字 2020-09-23 05_数据库 > 01_MySQL #MySQL #explain
Lambda和Stream(42-48) 42. Lambda 优先于匿名类 尽可能不要序列化一个 Lambda或匿名类实例。 千万不要给函数对象使用匿名类,除非必须创建非函数接口的类型的实例。 43. 方法引用优先于 LambdaJava提供了生成比 Lambda 更简介函数对象的方法:方法引用。 格式:类名::方法名 eg: 只要方法引用更加简介、更加清晰,就使用方法引用;反之则使用 Lambda。 44. 坚持使用标准的函数接口 2020-09-16 02_编程语言 > 01_Java > 04_EffectiveJava #Stream #Lambda #EffectiveJava
对所有对象都通用的方法(10-14) 10. 覆盖equals时遵守通用约定 使用 == 操作符检查 参数是否为这个对象的引用 使用 instanceof 操作符检查 参数是否为正确的类型 把参数转换成正确的类型 对于该类中的每个关键域,检查参数中的域是否与该对象中对应域相匹配 11. 覆盖 equals 时总要覆盖 hashCode因为没有覆盖 hashCode 而违反的关键约定:相等的对象必须具有相等的散列码 2020-09-16 02_编程语言 > 01_Java > 04_EffectiveJava #EffectiveJava #对象
并发(78-84) 78. 同步访问共享的可变数据synchronized 可以保证同一时刻,只有一个线程可以执行某一个方法或者代码块。 更灵活的用法可以使用 Lock 接口的实现类 ReentrantLock。 79. 避免过度同步通常,在同步的区域内做尽可能少的工作。 80. executor、task 和 stream 优先于线程如题。 81. 并发工具优先于 wait 和 notify比如 使用 Concur 2020-09-16 02_编程语言 > 01_Java > 04_EffectiveJava #EffectiveJava #并发