阿里《Java手册》做一个有技术情怀的人

导读

最近重温了阿里的《码出高效Java开发手册》,感觉最后一页“聊聊成长”这一小块的内容写的很棒,特意把它复制出来,送给每一个技术人,愿你做一个有技术情怀的人。

正文

成长并没有直线式的捷径,“不走弯路就是捷径”这个观点未必正确。弯路是成长的必经之路,我们在成长的路上需要注意的是保证弯路的前进大方向与直线的行进方向基本一致。南辗北辙消耗的是时间成本、精力成本、机会成本,尤其机会成本往往是可遇不可求的。弯路上的泥泞、徘徊、痛苦等都是成长的养分,一昧地想速成某种能力,反而适得其反。穷实基础,方能建万丈高楼。浮沙筑高台,那只是极少数天才的专利而已。

代码能力的提升就是不断磨炼、不断尝试、不断纠锚的成长过程。编程实战能力是开发工程师的核心能力,现在越来越多的企业会进行线编程能力测试,甚至在计算机类博士的相关招聘中,也会有此类要求。优秀的代码能力应该体现在运行效率和架构设计上。运行效率取决于对语言的合理运用和算法设计的合理性上。要尽量避免手册 中提到很多关于 Java 语言 些低效的处理方式。在算法设计上,可以参考本书的数据结构与集合川章节,尽可能写出高质量的算法代码,而架构设计,需要融会贯通,使代码优雅、具有扩展性。

孔子曰。“学而不思则罔,思而不学则殆。”如果只是把书架上的书的数量来衡量自己的技术功底,那真错了,真正的书架应在心中,反复地学习、实践,再穷实理论。如果缺乏思考,就会因为不能深刻理解书本的意义而不能有效地在实际中运用好这些知识,甚至陷入更深的迷茫中。我们只有把学习和思考结合起来,才能把知识转为己用。笔者很喜欢在学习的同时作深度总结,至今沉淀了超过 2000 页的笔记,分为四个文档搜集、整理、专题、哲学。知识快速进入搜集区,包括书上的、听到的、看到的、疑惑的;不断地去思考、复核并总结之后,沉淀在整理区。这是点维度的总结,把这些点的知识串成个专题是线维度的总结;而最后的知识上升到哲学方法论级别,是面维度的总结。

我们考完驾照的时候,总想找机会显示一下自己的驾驶技术。同理,学习和体会计算机技术,也要敢于到班门去弄斧。提倡把自己丑陋的代码在比自己更优秀的人面前晒出来。含蓄的结果就是以为自己是宇宙中心,别人写的代码都不如我,自己的风格总是正道。在一度火爆的“向代码致敬,寻找你的第 83行”活动中,最后的获奖者感言,在这个过程中收获了成长,正因为大神们的指导,打开了自己知识的广度,找到了自己的不足之处。

最后,做个有技术情怀的人。技术情怀总结成两个关键词,热爱、卓越。热爱是一种源动力,卓越是一种境界。兴趣是最好的老师,也是最好的动力。而热爱是种信念,即使痛苦,也不会让你背离这份事业和内心的执着。对技术的热爱,让人勇于追根究底,勇于坐冷板凳,勇于回馈别人。极致与卓越,似乎是 个意思,即出类拔萃,超出期望。技术情怀提倡我们追求极致式的卓越,把卓越再往前提升。不管一个人如何卓越与优秀,都要学会自我驱动,持续进步,追求个人内心的极致。因为卓越,所以经典,只有这样百尺竿头,才能更进一步。仰望星空的同时,是脚踏实地,这样才能不断地学习和打磨自己。

特殊说明:正文部分都来自《码出高效Java开发手册》。

最后,为大家准备一篇「Java最常见200+面试题全解析」,助力大家找到合适的工作,这份面试题包含的模块有:

  • Java、Jvm 最常见面试题解析;

  • Spring、Spring MVC、MyBatis、Hibernate 面试题解析;

  • MySQL、Redis 面试题解析;

  • RabbitMQ、Kafka、Zookeeper 面试解析;

  • 微服务 Spring Boot、Spring Cloud 面试解析。

扫描下面二维码付费阅读

【End】

关注下方二维码,订阅更多精彩内容。

转发朋友圈,是对我最大的支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/546684.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安卓应用在各大应用市场上架方法整理

安卓应用在各大应用市场上架方法整理 正在上传…重新上传取消​ ASO优化师-酱紫 酱紫ASO、ASA推广运营研究 ​关注她 1 人赞同了该文章 想要把APP上架到应用市场都要先注册开发者账号才可以。这里的方法包括注册帐号和后期上架及一些需要注意的问题。注意:首次…

关于NSIS脚本的Demo

这个NSIS脚本是打包公司的整个Release项目工程。 用NSIS编译器编译下就可以了。 ; Script generated by the HM NIS Edit Script Wizard.!include "StrFunc.nsh" ; HM NIS Edit Wizard helper defines !define PRODUCT_NAME "dlf_setup_v2.0" !define PROD…

Linux Shell编程之脚本执行方式

1.新建bash脚本文件 打开命令终端 touch hello.sh vim hello.sh2.编辑bash文件 #!/bin/bash # this is a test programerecho "hello word"3.脚本执行 赋予执行权限,直接运行 chmod 755 hello.sh ./hello.sh输出结果:

经典面试题|讲一讲JVM的组成

JVM(Java 虚拟机)算是面试必问的问题的了,而但凡问 JVM 一定会问的第一个问题就是:讲一讲 JVM 的组成?那本文就注重讲一下 JVM 的组成。 首先来说 JVM 的组成分为,整体组成部分和运行时数据区组成部分&…

ST-GCN训练自建数据集

参考了许多博文,慢慢地也就把st-gcn跑出来了,参考的文章一会附在文章里面,实测有用。 1.安装st-gcn 复现STGCN CPU版 (ubuntu16.04pytorch0.4.0openposecaffe)_Significance的博客-程序员秘密​​​​​​复现旧版STG…

[翻译] Haneke(处理图片缓存问题)

Haneke https://github.com/hpique/Haneke A lightweight zero-config image cache for iOS. 轻量级0配置图片缓存。 Haneke resizes images and caches the result on memory and disk. Everything is done in background, allowing for fast, responsive scrolling. Asking H…

Linux Shell编程之别名和常用快捷键

1.给命令起得别名,就是小名 例:给vim命令起个别名vi alias vivim2.取消别名 unalias vi常用快捷键: ctrl C 强制终止当前命令 ctrl L 清屏 ctrl U 删除或剪切光标之前内容的命令 ctrl K 删除或剪切光标之后内容的命令 ctrl Y 粘贴ctr…

面试题:为什么Java中的字符串对象是不可变的

阅读本文大概需要 4分钟。所谓不可变对象,是指一个对象在创建后,它的内部状态不会被改变的对象。这意味着当我们将一个不可变对象的引用赋值给某个变量后,我们就不能改变该对象的内部状态。 James Gosling也说过——Java开发者应该尽量使用不…

复现STGCN CPU版 (ubuntu16.04+pytorch0.4.0+openpose+caffe)

前提:ubuntu下将python3.5.2设为默认(百度) 一.下载stgcn (gitbub上fork后导入到gitee快些): st-gcn: Spatial Temporal Graph Convolutional Networks (ST-GCN) for Skeleton-Based Action Recognition in PyTorch…

arm-hisiv100nptl-linux-gcc编译boa和移植

工作需要,移植web服务器到摄像头中,查找资料,借鉴了几位前辈的文章自己弄了一下,还挺顺利的呦~系统:centos 6.4 64bit工具:arm-hisiv100nptl-linux-gcc1、交叉编译1)从www.boa.org下载Boa源码&a…

Linux Shell编程之输入输出重定向

一、.输出重定向: 1.以覆盖方式把正确输入和错误输入都保存在同一个文件中 命令 &> 文件 2.以追加方式把正确输入和错误输入都保存在同一个文件中 命令 &>> 文件 3.以追加方式把正确输入保存在文件1中,把错误输入保存在文件2中 命令 …

不止JDK7的HashMap,JDK8的ConcurrentHashMap也会造成CPU 100%

大家可能都听过JDK7中的HashMap在多线程环境下可能造成CPU 100%的现象,这个由于在扩容的时候put时产生了死链,由此会在get时造成了CPU 100%。这个问题在JDK8中的HashMap获得了解决。其实JDK7中的HashMap在多线程环境下不止只有CPU 100%这一共怪异现象&am…

关于发布DIPS的MVC项目的IIS 7.0环境配置的方法

本人技术笨拙,今天在发布DIPS的MVC4.0项目,并部署到IIS上,遇到各种问题。在查询相关资料后,最终得以解决,所以想把这个过程记录下来。 注:DIPS为一种非关系型数据库 首先,需要安装和注册DIPS。注…

Veket PuppyLinux系统装在U盘中

在碎片化或移动式办公的需求前,怎样才能做到只借助别人的硬件,而使用的是自己的操作系统以及保存数据呢?此时你可能会想到将某个Linux的桌面版本推送并存放在U盘中,便于按需进行启动与使用。 Veket是基于Puppy的一个Linux简体中文…

Java调优:Mybaitis的缓存优化

作者:肥朝,来自肥朝(ID:feichao_java)我们先来看代码这段代码中, Mybatis一共发了两条SQL,这就好像说, Mybatis中没有缓存,然后我们打开Mybatis的文档一看,顿时震惊这难道是骗人的,说好的默认开启缓存呢…..其实不是的…

扩充swap空间的两种方法

扩充swap空间的两种方法:方法一:分区的形式#fdisk /dev/sdb ---> t ---> 82--->w#mkswap /dev/sdb1 (格式化swap分区) mkswap-c检查是否有坏损块check#swapon /dev/sdb1 (启用swap分区) -L指定swap的卷标名称…

Shell编程之多命令顺序执行和管道符

1.多命令顺序执行: 打开!命令终端: 2.管道符 打开命令终端:

PowerShell3.0入门视频(由Jeffrey Snover和Jason Helmick主讲)

视频是在微软虚拟学院上,可注册观看:http://www.microsoftvirtualacademy.com/training-courses/796?o5590视频分10章:1.克服对shell的恐惧2.帮助系统3.使用管道连接和扩展shell4.用于管理的对象5.深入探讨管道6.在shell中使用powershell&am…

阿里一面 缓存穿透、缓存击穿、缓存雪崩和热点数据失效问题的解决方案

作者:乔二爷,来自:乔二爷(ID:hellozhouq)1 前言昨天晚上接到阿里的电面电话,过程中就问到了关于缓存相关的问题。虽然以前接触过,多多少少了解了一些。但是之前自己并没有好好记录这…