【java】学的东西无法落地怎么办?

比如我学多线程,只能很简单的写几个简单的demo,写个什么消费者模式,工作当中也用不上,不知道具体的应用场景,比如dubbo和springcloud,也只是说跟着博客搭一个很简陋的demo,什么功能都没有的,面试的时候如果稍微深入的问一些东西就打不上来了,这种情况下个人能力要怎么样去拓展?

回答

所有经验都需要从公司实际业务中去扩展。光看只能入门,真正有需求有压力的时候,你才会下狠手去学去解决问题的。或者去做相关的外包也会有所收获,还有就是如果你的公司如果没有平台给你搞这些,而且平常就是简单的增删改查操作,ok,就赶紧离职找个更靠谱的公司吧

本质上框架就是为了解放生产力和提供一个通用的降低复杂度的解决方案。

那平时自学的时候能遇到多复杂的需求呢,所以基本学到增删改查就继续不下去了,毕竟大部分业务的的确确就是从 DAOController 都是一路套下去的 CRUD 都够用了(这里不讨论设计模式、架构设计、分层等等,那都要看场景)。

都说设计模式这些好呀、方便重构啊、提高抽象啦、解耦啦,可是要解决的麻烦没到那种量级,照着 copy 一个 demo 可能还是不知道这东西究竟好在哪里。

所以个人做法是,在遇到更复杂的需求前,选一个框架(看你的描述,Spring Framework 应该再合适不过了),阅读官方文档,了解它是怎么暴露接口给外部的,那些接口的名称一般也可以看成它用了什么设计模式来实现解耦,那么可以说是一举多得:深入了解 Spring、观察设计模式的实践方式、追踪源码锻炼调试技能。

当然,Spring 这种东西已经太过大而全了,哪怕只是个 Hello World 也是七拐八拐,一个 Context Loader 就复杂得很,那就从早版本看起嘛。

Spring Framework
这是我能找到的最早的 Spring Framework 了,0.9 版本才 6.61 M 怕不怕。
看看里面有什么:
编译后的 jar,可以不管
【java】学的东西无法落地怎么办?

文档
【java】学的东西无法落地怎么办?

用到的外部依赖,不怕找不到对应依赖的远古版本了
【java】学的东西无法落地怎么办?

样例
【java】学的东西无法落地怎么办?

源码包
【java】学的东西无法落地怎么办?

下载 spring-framework-0.9.zip,解压,导入 IDE。

/samples/skeletons/webapp-minimal 这个看名字就知道是最小的骨架样例(pagedlistpetclinic 翻译一下就知道是结合一些场景的样例了,webapp-aopwebapp-hibernate 则是引入了一些外部包或者什么东西了)

直奔 /WEB-INF/web.xml,可以看到

<servlet>

<servlet-name>example</servlet-name>

<servlet-class>com.interface21.web.servlet.DispatcherServlet</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

OK,那就看看 com.interface21.web.servlet.DispatcherServlet

顺便日常安利 IDEA,可以直接在 web.xml 里点击跳转定义 : )

可以看到 DispatcherServlet extends FrameworkServlet extends HttpServletBean extends HttpServlet

HttpServletJava EE 容器的东西了,可以不管了,从 HttpServletBean 开始看起。

多的不说了,0.9 这个古老版本没有现在的那么多东西,很多设计模式也很清晰不会套来套取。

祝你好运 : )

写demo也只是反复的使用基础知识,过段时间不用也就忘了。最好的办法还是要参与到有一定难度的开发中去,比如去Github拉几个目前能看懂但是比较难啃的项目,先看再改,实现一点自己的功能进去,完成一个以后你会发现会有明细提升。

以上是 【java】学的东西无法落地怎么办? 的全部内容, 来源链接: utcz.com/a/75281.html

回到顶部