【读书笔记】Java 工程师修炼之道

日期:2018年10月19日 13:09

地点:玉泉慧谷

图书:《Java 工程师修炼之道》2018年3月出版

 

一、记录

前天晚上睡前无聊,在多看app里搜了下 Java 相关的电子书。有 3 本成功吸引了我的注意力,其中一本就是上面提到的这个。看到的时候,已经很晚了,简单看了下目录,觉得内容对自己的需要。

昨天一天简单看了下内容,算是 Java 后端开发技术索引,省得挨个去网上搜索了。

二、目录概览

因为是索引性质的书,简单翻翻就够了。

第1章 后端技术导言

1.1 后端基础设施(比较简明介绍了后端的业务场景)

1.2 Java后端技术概览(基于“基础设置”,引出需要的技术点)

1.3 如何学习后端技术(如何学习 1.2 提到的技术点,有点戳中。我经常是到“动手实践”那一步就停止了。所以导致现在做了一堆的 Hello World,然后过不了多久就差不多忘光了,徒留一点点错略的印象。)

第2章 Java项目与工程化

2.1 项目构建

(Ant 在上学时听说过,从来没用过。Maven 公司的项目在用,自己写 Hello World 的时候都是用 Gradle,最早写 Android Hello World 项目也是用的 Gradle。

当然,对构建工具的引用,用到的是依赖管理、用已有的插件、用已有的 task。还没有写过自定义任务,持续继承之类也是没有用过的。

除了常用的依赖管理、插件、偶尔用到的几个插件内置 task,其他东西用起来并不熟练。)

2.2 代码版本控制

(SVN 公司在用,但是我写的是单独的小型程序,并没有提交到公司代码库。Git,偶尔写一些 Hello World 和小程序,会提交到 Github。会用一点 Git。)

2.3 代码质量保证

(听说过,但是除了控制一下格式,没用过代码质量保证措施。

单元测试,听说过,但是自己写的小型程序,很少写单元测试。)

第3章 开发框架

(从框架来说,接触比较多的是 Spring、Spring MVC。

Spring,用到的是依赖注入,也就是 DI 相关的几个注解。Spring MVC 基本也是用注解,偶尔用到 AOP,也是用框架现有的几个注解,并不会自己手写 AOP 应用。)

3.1 依赖注入

3.2 对象关系映射

(MyBatis、Java Persistence API、Hibernate。这三个多少接触过一点,MyBatis 是公司项目在用,Hibernate 是当作 JPA 的实现用的。JdbcTemplate 写 Hello World 的时候用过。)

3.3 日志

(日志只在 Hello World 的时候用过。平时写的小型程序,都是 System.out.println 直接打印到控制台。)

3.4 WebMVC

(Spring MVC 用得最多。上学的时候,还流行 SSH,现在也已被 SSM 替换了。

数据库操作写一下,Action 写一下,View 写一下,然后就是堆业务逻辑了。)

第4章 Spring

(因为 Spring 有《Spring 实战》《Spring Boot 实战》等专门的书,这一章我是直接跳过的。)

第5章 数据存储

(因为是索引性质的书,简略的叙述反而很适合我。)

5.1 关系型数据库——MySQL

(MySQL 是我最常用的数据库了,基本也是唯一在用的数据库了。)

5.2 非关系型数据库

(对数据库发展的概述,很受用。之前看的书、教程中这部分内容很少,或者比较分散。)

5.3 缓存

(Redis,写过 Hello World。在 Spring 中加缓存的时候,用过。

不过,Windows 下 微软支持的 Redis 版本有些老。当然对我写 Hello World 是完全足够了。)

5.4 搜索引擎——Elasticsearch

(这个词是第一次听说。不过它基于的底层库,在微博上看到过。还下载过相关的电子书,不过感觉一时想不起来哪里用得到,就没有深入理解。

这次同样,想不起来用在哪里,就先跳过了。)

第6章 数据通信

(RESTful、RPC 都在《Spring 实战(第4版)》中接触过,写过 Hello World。)

6.1 RESTful 架构风格

(写过 Hello World,不过对架构层面还是缺乏理解。)

6.2 远程过程调用——RPC

(同样,在《Spring 实战》的”集成“部分,看到过相关内容,印象中没有写代码,只是看了两遍书。)

6.3 消息中间件

(完全陌生的技术。只是在招聘的职位要求里看到过,比如 RabbitMQ。日常没有用到过。)

第7章 Java 编程进阶

7.1 Java 内存管理

(买过一本《Java 虚拟机 ***》的书,不过内容有点超脱了我现在的阶段,看了 JVM 的简介,没有进一步阅读。)——

7.2 Java 网络编程

(Socket,看《Java网络编程(第4版)》的时候,了解过一点。之前学 Java 的时候也写过一点 Hello World。

不过很少用,平时都是直接用 HTTP,很少在 TCP 协议层面写东西。)

7.3 Java 并发编程

(《Java 编程思想》《Jva 核心技术 卷I》都有相关内容,不过是从最基础开始讲的,看过几次都没完整看完。

就日常用途来说,用过 Executor 相关的几个 JDK 中的类。用现有的线程池管理,基本足够了。)

7.4 Java 开发利器

(FastJson、Apache Commons 用过一点点,不过因为自己写程序还是少,遇到的问题少,这几个库还是用得少。)

7.5 Java 新版本的特性

(Java 7 的 Objects、Paths、Files、try-with-resource、范型类型推断(钻石操作符),多少用过一点。比如《Java 核心技术 卷II 原书第10版》里边第一章就有 Paths、Files 的介绍。

Java 8 的函数式编程、Stream API,写过一点 Hello World,还是因为代码写的少,不熟练。

Java 9、Java 10、Java 11,用过 jshell。其他的特性,比如局部变量 var,很少用。)

第8章 性能调优

(完全陌生的领域了,在基础、中级还没熟练的情况下,我总是对性能调优提不起兴趣。)

第9章 安全技术

(有一次来到知识的荒原,术语未开垦的荒地。有待将来进一步发掘。)

9.1 加密

(看过一点对称加密、非对称加密、数字指纹、数字证书相关的概念介绍,用得少。)

9.2 安全HTTP——HTTPS

(Google Chrome 一直在推 HTTPS,听过,看过,自己很少用到。除了访问 HTTPS 站点有时候需要加证书,比如访问台北故宫博物院的 OPEN DATA,改用 HTTPS 之后,自己的地址抓取小程序也需要对应修改。)

9.3 Web 安全

(自己的小型程序,不涉及。公司的已经搭好的项目框架,自己直接写业务代码即可,接触不到这个。

认证、授权,用的是 Apache Shiro,配置一下网址权限,数据库配一下角色、资源权限也就足够了。

更深的东西,没接触过。)

----13:53----

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值