1
tedzhou1221 2018-11-18 22:08:37 +08:00 via Android
个人觉得多线程并发吧。
|
2
LowBi 2018-11-18 22:13:13 +08:00
工作经验告诉我,还是用到什么学什么吧,毕竟现在东西那么多,用也不会全用上
|
3
storypanda 2018-11-18 22:17:18 +08:00 via Android
我个人有考虑转后端,然后同事给我看的是 JAVA EE 轻量级框架的那本实践书,spring+radius,然后我自己学习 JSP 语言,Java Web 这些。。
|
4
sudoz 2018-11-18 22:19:34 +08:00
后端和 Java 有什么关系。
你要关注的后端开发往深了做需要面对哪些技术问题,而不是停留在语言层面,这些技术问题和语言是无关的。 系统稳定性,并发能力,分布式事务的实现方案,等等 |
6
Raymon111111 2018-11-18 23:11:48 +08:00 1
划掉 Java 是个合格的题目
已经工作 5 年还没发现后端开发是个语言无关的活吗? |
7
xiaochen2018 2018-11-18 23:24:39 +08:00 via iPhone 1
|
8
javaWeber OP @Raymon111111 大佬。。我没有工作 5 年啊。。我还是菜鸟。所以才有此一问。
|
9
wleexi 2018-11-19 09:17:41 +08:00
|
10
javaWeber OP @LowBi 工作经验告诉我,还是用到什么学什么吧,毕竟现在东西那么多,用也不会全用上
====================================================== 就是因为东西实在太多了,现在用过一点 redis 缓存,zookeeper 分布式一致性,kafka 消息队列。。 后面还有一大堆的东西不知道重点学哪些。 搜索引擎 elstaicSearch,容器 docker,数据库分库分表 myCat。。还有 mongodb、nginx、netty。。我都快疯了。 学不同的东西,肯定效果是不一样的。有的几年后可能就过时了没用了,有的还很有用,可以当成积累。。 |
11
javaWeber OP @storypanda 除了 ssm 和 redis。。还有个 springBoot。特别好用。
|
12
realkenshinji 2018-11-19 09:31:19 +08:00
如何更好的科学上网,我觉得这个最重要了
|
14
javaWeber OP @cyhulk 做了一年多吧。会一点 ssm,springBoot,redis,zookeeper。。其他的有的用过,但是不明白原理。
|
15
mccreefei 2018-11-19 10:09:39 +08:00
jdk 集合、多线程 源码
|
16
sayzly 2018-11-19 10:43:27 +08:00
网络 搜索 并发 分布式设计 算法 消息队列什么的 精通一些方向咯
|
17
micean 2018-11-19 10:52:08 +08:00
从 HTTP 协议开始
|
18
wleexi 2018-11-19 10:58:18 +08:00
上面发过一个网址,是所有的 java 的规范,LZ 说到 springboot 好用,有去了解下是怎么实现自动装配,如何外部化配置,为什么可以实现注解驱动。。balabala...
springboot 很大程度上是依赖的 servlet3.0 规范的。可以去了解下。 语言基础方面可以了解下底层知识。 字节码 /JVM/内存... 后端代码总要连接数据库吧.. 不如再了解下数据库知识... 关系型数据库 /NoSQL 数据库 /HBase/文档数据库.... |
19
Neojoke 2018-11-19 11:22:01 +08:00 8
如果是长远的后端开发,那就要全面深入的发展,首先是语言,没有哪种语言,是和后端或者 web 开发划等号的,Java 要想深入,不要过多的搞设计模式。语言知识你要掌握的知识的一部分,以下多个方面你都要掌握,记住,当你有能力掌握这么多知识的时候,你的学习能力有具备了,具备了学习能力,什么具体的 java 技术、后端技术,都不是什么问题,哪怕下一次技术更新,你还能依靠你的学习能力,继续保持技术先进性。
1. JVM 深入了解,Tomcat 深入了解,多看 Java 库的源码 2. 计算机网络深入理解,物理层、数据链路层,可以不用深究,但是网际层、会话层、应用层的概念要熟悉,IP 协议、HTTP 协议要熟悉,基于 IP 协议的子网划分,要熟知 3. 操作系统,这是无论哪方便开发都要熟悉的,不论是前端、移动端、后端、数据库、运维,只要是搞计算机的,都要有扎实的计算机操作系统的功底,操作系统的体系结构、运行机制,Linux 内核、账户管理、安全,多用户多进程模式、内存管理、进程管理、进程间通讯等等,《深入理解计算机原理》,《 Linux 入门到精通》等等,要多学多练习,可以使用 Java 去调用操作系统的底层 API,试试,如果想不明白的,可以使用 C 多去研究一下 4. 数据库方面,SQL 与 NoSQL,SQL 要注意 SQL 语言的范式模型,从逻辑上理解究竟什么是 SQL,SQL 语句为什么能标识数据查询,SQL 能做到什么,不能做到什么,然后就是 SQL 数据的实现,mysql、oracle、postgresql,深入理解数据引擎,游标这些东西 5. 有了上述基础,再去学习一些理论知识,比方说马丁大叔提出的 IOC 理论、Roy Thomas Fielding 提出的 Rest 理论,SOA 的提出和发展、微服务的提出和发展,充实对现代分布式计算架构的理解 6. 尝试自己实现一套 IOC、SOA、微服务框架,锻炼自己通过理论去进行实践的能力,当然这点不是要求你造轮子,只是为了能够让你到达,能够通过理论,造轮子的程度 |
20
xhinliang 2018-11-19 11:35:28 +08:00
@storypanda 跟 radius 协议有什么关系吗...
|
21
icegreen 2018-11-19 12:30:43 +08:00
沟通能力, 设计思维, 站在客户角度思考分析问题的能力
|
22
lihongjie0209 2018-11-19 12:43:40 +08:00
1. 并发是基础, 学的时候还能接触到 Java 内存模型.
2. 网络层的分层来学, Web 开发用到的 HTTP 协议, 那么 HTTP 要熟, 同时还要往下一层探究: TCP 3. 操作系统, 这里面的操作系统指的操作系统原理, 而不是 Linux 系统管理, 大概分为 3 个部分: 虚拟化, 并发(第一点接触过), 持久化(IO) 4. 数据库大概有几个部分: 1. 数据库设计 2. sql 语法 3. sql 执行过程包括优化 4. 物理层的数据存储, 事务, 索引的实现(操作系统中的知识点都会涉及). 单机学到这里应该差不多了, 分布式没接触过. 至于设计模式属于一个不断学习的过程, 因为全靠不断的犯错才能正真体会到设计模式的优点, 所以这个要在项目中不断积累. |
23
CtrlSpace 2018-11-19 14:08:27 +08:00
别想五年那么长远吧,想想现在的自己需要补足什么。
事物变化很快的,说不定你第二年就干别的事情了。 |
24
Balloonwj 2018-11-19 14:10:24 +08:00
|
25
colincat 2018-11-19 14:16:07 +08:00 via iPhone
多了解基础吧,最后所有的东西都是基础的东西演变,万变不离其中
|
26
mugglezzz 2018-11-19 14:21:22 +08:00
@Raymon111111 #6 光看清题目,看不清描述? 大家都友好一点吧。
|
28
Neojoke 2018-11-20 08:28:52 +08:00
@alery 设计模式属于归纳总结出来的实践经验,刻意学习是会不得法的,应该是实践大量的代码,跳了无数的坑,自己觉得不想再写那么多代码了,不想再跳那么多坑了,再去寻找设计模式去解决你的问题,才有用,在没有大量实践的情况下去学习设计模式,基本上没有什么用,并且在现在大多数工程师,都是在做业务开发的情况下,有效代码不超过百万行的时候,设计模式没有什么太大的作用,还没有良好的编码风格有用。
|
29
champloo 2019-08-17 17:32:45 +08:00
接口 a = new 实现类。但凡实现类中自定义方法,使用 a.自定义方法会报错,也就是说,子类自定义方法不能通过这样的方式调用,所以在一开始定义接口的时候,就得想好接口实现什么样得方法
|
30
champloo 2019-08-17 17:34:14 +08:00
貌似回错帖子了,抱歉
|