搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
笔触狂放9
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
【LINUX】Centos6系统的安装_按q显示global和local
2
vue项目通过宝塔部署之后,页面刷新后浏览器404页面_宝塔部署vue项目后 访问子页面会404
3
Writing Bazel rules: simple binary rule
4
Datawhale AI夏令营第四期的学习活动—AIGC Task01笔记
5
Spark MLlib 特征工程系列—特征转换N-Gram
6
ollama部署本地大模型_springai ollama
7
深入探讨:Node.js、Vue、SSH服务与SSH免密登录_node-ssh
8
SQL Alchemy连接数据库_sqlalchemy连接数据库
9
java操作mysql导表_mysql的数据导出几种方法
10
ubuntu开启SSH服务
当前位置:
article
> 正文
学习 JAVA,有什么书籍推荐?学习的方法和过程是怎样的?
作者:笔触狂放9 | 2024-08-03 21:17:08
赞
踩
学习 JAVA,有什么书籍推荐?学习的方法和过程是怎样的?
现在互联网上资源丰富,Java 学习并不难。贴个 Java 服务端入门和进阶指南,是给我们组新人入门用的,包括了学习目标、需要掌握的技能和参考资料,并规划了学习阶段和时间,希望帮助到题主。
前言
欢迎加入我们。这是一份针对实习生/毕业生的服务端开发入门与进阶指南。遇到问题及时问你的 mentor 或者直接问我。 建议:
尽量用 google 查找技术资料。
有问题在 stackoverflow 找找,大部分都已经有人回答。
多看官方的技术文档。
ibm developerworkers 的文章质量整体上有保障。
平时花一些时间在 github 上阅读优秀项目源码。
入门(1-2 个月)
目标:参与简单的项目开发。
技能:
掌握 Java。经典的《Java 核心技术:卷1 基础知识》(或者《Java 编程思想》)必看,跳过其中的图形和 applet 章节。习惯查阅 Java API Doc。为了保证代码的质量,《Effective Java》、《Clean Code》和《重构》也需要至少通读一遍。
熟悉 Linux 开发环境和 bash shell。Linux 是我们的开发和部署环境,你最好尽快熟练它。Linux 的基本使用可以通过《鸟哥的Linux私房菜:基础学习篇(第三版)》学习,开发 bash shell 脚本可以参考《Linux Shell脚本攻略》。
掌握开发工具
熟练使用一种 IDE。Intellij IDEA或者 Eclipse 都可以,推荐使用前者。至少熟悉常用的快捷键,会 debug(包括远程 debug)项目。
熟悉一种编辑器。比如 Vim/Emacs/Sublime Text,至少学会搜索/替换/代码补全。
掌握 JDK 以外的常用类库和工具包。JDK 原生 API 在很多场景下使用并不方便。你需要掌握社区贡献的优秀类库和工具包,比如 apache commons、google guava 等,具体可以翻阅《技术选型手册》的Utility 篇。
掌握 Web 开发框架。我们使用 Spring(或Rose) + Ibatis(或Jade) 开发 web 服务,你需要熟练掌握它们。
学习代码规范。我们大致上遵循 oracle 的 Java 语言编码规范,你可以先阅读并熟悉它。Code Formatting 文件在 git@xxx/coding-standard.git,在编写代码之前,请把它导入到 IDE 中。另外,确认 IDE 已经安装 Findbugs 和 CheckStyle 插件。
熟悉开发流程。我们的开发流程大致如下:功能开发->单元测试->功能测试->Code Review->集成测试->发布。确保你熟悉其中的每个环节。
其他。需要熟练使用版本控制工具 Git(阅读:《Git 权威指南》),以及项目构建工具 Maven(阅读:《Maven 实战》)。另外,在这个阶段可以尝试 TDD 开发。
进阶(2-6 个月)
目标:独立负责某个服务端项目。
技能:
掌握 web 开发最佳实践,掌握 Restful API 设计,理解 Spring 原理。推荐阅读《Spring揭秘》。掌握项目分层、子模块划分。推荐阅读:《J2EE 核心模式》。
掌握 web 架构设计。包括 Http 反向代理,数据缓存,负载均衡,水平扩展和垂直扩展。推荐阅读:《分布式 Java 应用:基础与实践》。
掌握关系型数据库。包括设计 MySQL 表结构,根据业务特点分表分库,基于执行计划的 SQL 分析优化,以及数据库容量规划。推荐阅读:《MySQL 必知必会》、《高性能 MySQL》。
了解 NoSQL。我们大规模使用 Hadoop、HBase、Hive,同时部分项目使用 Redis、Storm。你需要学会这些工具最基本的使用。
学习 web 安全知识。了解 web 前端安全问题。设计安全 web 服务,包括加解密、防伪造、防重放攻击等。
掌握 Http (推荐阅读:《图解Http》、《http权威指南》)、Thrift 等协议。
掌握服务容量规划,性能调优,可靠性保证,以及故障处理。学习容量规划和性能调优知识,梳理业务监控点,熟练使用我们的监控报警系统。推荐阅读:《深入理解 Java 虚拟机》。
其他。设计模式:从项目中学习,有时间可以看看《深入浅出设计模式》、《JDK 里的设计模式》。学习Java Socket 编程与多线程知识,可以看看《Java 并发编程实战》,并翻翻并发编程网的文章。
深入(6 个月-)
目标:分布式系统和中间件开发。
构建知识体系:《大型网站系统与 Java 中间件实践》、《大型网站技术架构:核心原理与案例分析》。
原理与设计:《大规模存储式系统》、《UNIX 网络编程 卷1:套接字联网 API》、《How Tomcat Works》。
学习开源项目:Apache Thrift、Zipkin、Netty、Rose、Jade、淘宝 RPC 系统 Dubbo 等。分析项目中的设计思路。比如,同样是RPC框架,Finagle 和 Dubbo 有什么异同。
其他。根据参与的项目加深学习吧。比如,如果需要写 DSL,可以读一下《领域特定语言》,对 Redis 感兴趣推荐读一下:《Redis 设计与实现》。有两本书,无论做什么项目,都推荐读:《Unix 编程艺术》、《UNIX 环境高级编程(第3版)》。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/笔触狂放9/article/detail/924867
推荐阅读
article
Milvus
使用
java
方式_
milvus
java
...
需要跟
milvus
交互都需要调用
Milvus
ServiceClient,我这里的做法是把它定义成一个Bean,需要用到的...
赞
踩
article
智慧
城管
综合执法
办案
系统
源码,基于微服务+
java
+
springboot
+vue+
element
+u...
智慧
城管
源码,
智慧
城管
综合执法
办案
系统
源码,
智慧
城管
综合执法
办案
系统
,
提供
了案件在线办理、
当事人
信用
管理
、文书电子送达...
赞
踩
article
ssm
/
java
/
node
/
python
/php老人养老社区
服务平台
【2024年毕设】...
采用了结构化开发的方法。这种开发方法的优点是控制性比较强,开发过程中采用了结构化和模块化的设计思想,自顶向下,从总体到部...
赞
踩
article
java
ad 账号
所属
组
_如何使用输入
列表
列出
AD
用户
的
AD
组
成员资格?...
我是相当新的PS
用户
...寻找PowerShell脚本的一些帮助,以获取
用户
所属
的安全
组
列表
.描述我需要的东西:我有许...
赞
踩
article
Java
-根据
前缀
-
日期
-数字-
生成
流水号
(不重复)...
可以采用"
前缀
+
日期
+数字"的方式(ps:此方式是需要用到缓存的):为了更好的标识这个
流水号
是属于哪种类型;小伙伴们在日...
赞
踩
article
0
基础
Java
自学
之路(2
0
21年最新版)_
java
学习
java
零
基础
自学
mashibin
...
屌丝逆袭之路
java
学习
java
零
基础
自学
mashibin
.cn 微信搜索【程序员...
赞
踩
article
kafka
详解(
JAVA
API
操作
kafka
、
kafka
原理、
kafka
监控)-
step2
_
指定
监...
1、
JAVA
API
操作
kafka
修改Windows
的
Host文件:目录:C:\Windows\System32\dri...
赞
踩
article
kafka
消费
者
监听
(
java
)_
kafka
监听
topic
消费
java
写法...
【代码】
kafka
消费
者(
java
)_
kafka
监听
topic
消费
java
写法
kafka
监听
topic
消费
java
写法 ...
赞
踩
article
java
kafka
监听
,
使用非注解形式的
java
Config
配置
进行
kafka
消息
监听
...
最近在做平台的
kafka
消息
监听
的改造,以前用的是平台自己封装jar,现在统一改用spring-
kafka
.jar
,
这样...
赞
踩
article
Java POI
excel
设置
单元格
格式
,
自定义
设置
_
poi
向
excel
中写入
数据
设置
格式
...
在formats
数据
格式
不能完全支持的时候,如下图情况:可能会使用
自定义
的
数据
格式
来在
单元格
展示
数据
。如下图,部分
自定义
...
赞
踩
article
Java
SDK部署和调用FISCO BCOS区块链智能
合约
_
fisco
bcos
java
sdk...
Table
合约
:该
合约
负责维护候选人的信息。每个候选人都有一个唯一的标识符sign_key,以及与之相关联的其他属性,...
赞
踩
article
Java
----
队列
(
Queue
)...
使用两个
队列
,
队列
一用来存储数据,
队列
二始终保持空,当入栈时,将数据入队到
队列
二,然后将
队列
一的数据出队后入队到
队列
二,...
赞
踩
article
RabbitMQ
-Java-01-简单
队列
_
rabbitmq
java
简单
队列
...
说明
RabbitMQ
-Java-01-简单
队列
本案例是一个Maven项目官方文档已包含绝大多数本案例内容。请移步:htt...
赞
踩
article
Java--
Queue
和
Deque
_
java
queue
deque...
Queue
以及
Deque
都是继承于Collection,
Deque
是
Queue
的子接口。
Queue
是FIFO的单向队...
赞
踩
article
Java
-
队列
的
基本操作_
java
队列
的
使用...
队列
是数据结构中比较重要
的
一种类型(是一种数据结构),它支持 FIFO,尾部添加、头部删除(先进
队列
的
元素先出
队列
),跟...
赞
踩
article
Java
集合 -
Queue
接口_
java
queue
api...
特性 / 类型LinkedListArrayDeque底层数据结构双向链表动态数组(环形)堆(Heap)顺序按照自然排序...
赞
踩
article
Java
-
队列
(
Queue
)的基本用法
_
queue
.
toaarry
java
...
LinkedList 实现了
Queue
接口,可作为
队列
使用。
队列
是一种特殊的线性表,它只允许在表的前端进行删除操作,...
赞
踩
article
Java
--
Queue
、
Deque
双端队列
--
LinkedList
实现_
deque
的实现类...
Java
--
Queue
、
Deque
双端队列详解_
deque
的实现类
deque
的实现类 ...
赞
踩
article
RabbitMQ
-
Java
-02-工作
队列
_
java
rabbitmq
队列
1结束
队列
2
线程
...
说明
RabbitMQ
-
Java
-02-工作
队列
本案例是一个Maven项目假设你已经实现了上一节简单
队列
官方文档已包含绝大...
赞
踩
article
java
protocol
demo
_
Protobuf3
系列一 第一个Java
demo
...
概念Protocol buffers are a flexible, efficient, automated mech...
赞
踩
相关标签
milvus
java
vue.js
微服务
智慧城管
智慧执法
执法办案系统
源码
课程设计
开发语言
java ad 账号 所属组
spring
职场和发展
个人开发
面试
程序人生
经验分享
恰饭
1024程序员节
kafka
分布式
java kafka监听