Java程序员如何加快升级之路?
对于程序员我想许多人都走过那段路,刚到一家公司导师给的小练习,在公司的大项目里加点小功能,需求觉得挺简单,自己设计流程后发现自己的思路和实现都有很多问题,访问数据库也老是抛异常,觉得自己挺差劲的,不要小看那些小功能, 小功能其实也包含很多技术的,比如类和变量的命名,怎么样才能让类或者方法的名字更加实用呢,你是怎么命名的,数据库的表是怎么设计的,代码是最优化的吗,eclipse 的一般设置都知道吗,还有快捷键, 你是实习生当然不会给你安排比较重要的工作, 你要是老板你会放心吗...... 还有你学的框架什么的 都是理论吧, 让你说出spring hibernate 什么的 原理 你应该能说的出来,但是 让你 不用eclipse去搭建一个 web 项目的时候,你能在10分钟搭建完成吗, 还有 各种配置文件,随时需要的时候 你能马上搞定吗, 也许你组长马上喊你 配置一个 log4j 的配置,或者修改部分原来的配置,你能马上搞定吗,..... 这些看起来都是小事,但是需要非常熟悉才能快速搞定,......其他小事情就更多了, svn linux maven 虚拟机什么的,都熟悉吗, 慢慢来, 做一个项目不是光靠敲代码就搞定了的....... 还有,至于你设计流程,我想这不可能吧,公司怎么可能让你去设计呢,一把都是经理或者组长 召集大家开会搞定的,还有 UML 类图 时序图什么的,我觉得不可能是由你来搞的,因为这涉及到 设计模式什么的,不是想当然的去画的,之后可能要重构好几次 才动手去敲代码..........加油吧~, 建议你自己弄个练习项目,从搭建到丰富功能,一点一点来,不要贪快......还有多请教前辈吧 请勿着急。努力吧骚年......
感谢邀请。Ted演讲中说过。如果你什么都不会。每天坚持几个小时,只要20个小时就会达到你吃惊的地步。心无旁骛,学习时候远离任何东西,刚开始学习会遇到很多困难觉得自己很笨,其实每一个人刚开始都会遇到大量困难和障碍,只要坚持20小时。你就会学到很多了
这个问题其实分两种情况,第一种是个人基础很扎实,第二种是个人基础一般。第一种建议多看源码,多专注系统架构类书籍的研读和实战。第二种建议平时多注意基础修炼,源码也看看,多动手操作,看看基础类书籍,熟悉框架的基本原理。
java微服务和分布式的区别有哪些?
这个问题已经收藏了一个多月了,一直在考虑如何回答这个问题,总结了很长时间终于有了一些感悟(之前一直都是只可意会不可言传的感觉),和大家分享一下,如果有不同的建议,欢迎大家留言指正。
分布式和微服务
首先 ,我认为微服务就是分布式框架的一种。
分布式的思想就是把一个系统的不同模块,部署在不同的服务器上,以应对高并发的问题。
SOA是一种分布式架构,把业务系统分成多个子系统,提供不同的服务,再通过服务组合、编排实现业务流程;通常在SOA架构中,ESB企业服务总线扮演了重要的角色。
微服务是SOA的升华,如果非要说点儿不同的,那么微服务更加强调服务的细分和专业,去ESB总线、去中心化,部署粒度更细,服务扩展更灵活。
微服务不只是技术架构
很多同学一说微服务,就说这是一种技术架构,有的推荐使用Dubbo,有的推荐使用Spring Cloud。
我认为,微服务不单单是一种技术架构,也涉及到了管理、组织架构。
大多数的公司,需求、开发、测试、运维都是独立的团队,这实际上是有悖于微服务快速迭代的思想;在微服务的架构下,一个服务应该是由一个团队全权负责的。
不过组织架构方面的事情,真的不是我们能说了算的。
必须要用微服务?
- 我觉得没有必要为了微服务,而微服务;有的公司把服务拆分,但是数据库依然是同一个库,依然是一个项目直接掉另外一个项目的接口,然后对外就宣称完成了微服务的改造...
架构设计还是要根据需求背景、团队开发能力、软硬件实力综合来考虑。
好的架构是可以进化的,而不是一步到位建成的。
我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

