Wudashan Blog

Java开发工程师

通用问题分析框架

前言 从2016年本科毕业到现在,已经工作了5年,越来越发现活着就是不断地在解决各种问题:工作方面,是跳槽获得大幅涨薪还是留下来提升能力?生活方面,是买NewBalance鞋还是买Nike鞋?投资方面,是买茅台股票还是买乐视股票?买房方面,是买郊区大户型还是市区小户型? 所以,最近也一直在思考是不是有一套通用的框架,可以普适地有效地解决各种问题,或至少能给解决问题带来指导和思路。如果能找...

《大厂晋升指南》学习笔记

升职加薪,当上总经理,出任CEO,迎娶白富美,走向人生巅峰

学习笔记 课程大纲视图 COMD能力模型 规模复杂度 时间复杂度 环境复杂度 创新复杂度 各职级COMD P5(开发工程师) COMD P6(高级工程师) COMD P7(技术专家) COMD P8(高级技术专家) COMD P9(资深技术专家) COMD STAR的What与Why...

《TestNG》学习笔记

框架介绍 英文原版 TestNG is a testing framework inspired from JUnit and NUnit but introducing some new functionalities that make it more powerful and easier to use, such as: * Annotations. * Run your te...

《徐远的投资课》学习笔记

北大教授以坚实的学术理论基础,丰富的问题研究基础,实战导向,教你如何投资

学习笔记 学习引导 学习之前 1 自己为什么要学这个知识? 答:学会正确的投资。 2 从哪里学习这个知识,这个知识来源是否靠谱? 答:从北京大学徐远教授开设的网络课堂进行学习,靠谱。 3 这个知识的总体视图是怎样的?知识点之间有怎样的关系? 答:第一部分是投资原理,第二到八部分是投资工具,第九部分是投资实务。 4 什么时候学,具体怎么学? 答:一共62节课,每周学习3...

职业生涯相关知识点总结

如何做好个人发展计划 如何做好个人发展计划.xmind(点此下载) 职业生涯的8个重要技能 职业生涯的8个重要技能.xmind(点此下载) 原文:阿里巴巴资深技术专家崮德:8个影响我职业生涯的重要技能 技术人成长七步曲 技术人成长七步曲.xmind(点此下载) 干好工作7法 干好工作7法.xmind(点此下载)

知识学习方法论

找到学习方法,提高学习效率,实现学习目的

方法论导图 方法论导图.xmind(点此下载) 写在前头 学习不是简单地投入时间和精力就可以达到效果,我们需要有一些技巧和方法,去提高我们学习过程中的效率,最终达到自己学习后想要的效果。特别是在我参加工作之后,之前在华为,现在在蚂蚁,都是加班比较多的公司,能学习的时间很少,所以更需要我们用一些方法论,高效地掌握一块知识。 学习路径 这里我把学习分为三个大路径(步骤):学习之前 ...

《重构 · 改善既有代码的设计》读书笔记

在不改软件可观察行为的前提下改善其内部结构

书籍链接:https://book.douban.com/subject/26575459 目录解析 第1章:重构是什么(WHAT)? 第2章:我们为什么要重构(WHY)? 第3章:什么样的代码需要重构(WHERE)? 什么时候需要重构(WHEN)? 第6~12章:怎么去重构(HOW)? 重构列表 第6章 重新组织函数 Extract Method...

调用树,性能问题排查神器

遇到性能瓶颈如何排查?借助调用树帮你事半功倍

调用树源码:https://github.com/wudashan/profiler 序言 性能这个话题,经常令人谈虎色变。因为我们经常会对关键业务进行性能压测,但是业务代码里可能会涉及各种数据库增删改查,第三方系统RPC调用,消息发送等操作,当发现性能瓶颈的时候我们往往无法很快地定位到底是哪个具体的操作耗时高。为了解决这个头疼的问题,调用树这个性能问题排查神器就可以排上用场。 ...

《人月神话》读书笔记

人月是危险和带有欺骗性的神话,因为它暗示人员数量和时间是可以相互替换的

书籍链接:https://book.douban.com/subject/26358448/ 序言 书名《人月神话・40周年中文纪念版》,2015年清华大学出版社出版,但这本书其实是1995年《人月神话・20周年英文纪念版》的一个译本,这种把20年前的书翻译后称作40周年也太标题党了。那么,由上面的描述就可以推算出第一版《人月神话》,是在1975年出版的,掌握这几个时间点,有利于...

Java如何对一个对象进行深拷贝?

深拷贝实现代码:https://github.com/wudashan/java-deep-copy 介绍 在Java语言里,当我们需要拷贝一个对象时,有两种类型的拷贝:浅拷贝与深拷贝。浅拷贝只是拷贝了源对象的地址,所以源对象的值发生变化时,拷贝对象的值也会发生变化。而深拷贝则是拷贝了源对象的所有值,所以即使源对象的值发生变化时,拷贝对象的值也不会改变。如下图描述: 了解了...