前后端技术分享学习 JAVA前端和后端怎么去选择?
JAVA前端和后端怎么去选择?
谢谢你先邀请我。Java前端和后端don 在早期,不需要太清楚,因为你可以 根本说不出工作中的位置。
个人定位完全可以从一个全栈工程师开始。什么是全栈工程师?
服务器、网络和主机环境需要了解哪些模块可能发生故障及其原因,并且能够 不要想当然地认为增加资源就能解决所有问题。需要知道如何使用操作系统、云存储和网络资源,了解数据冗余和可用性。了解应用程序的大小如何限制硬件。还有多线程和竞态条件,这些在开发机器上往往不会遇到,但在真实的部署环境中却无处不在。全栈工程师还必须能够很好地与DevOps配合工作。他们设计的系统应该提供有用的错误消息和每日日记功能,以便DevOps可以及时获得这些信息并采取有价值的行动。数据建模如果数据模型有缺陷,往往需要在业务逻辑和更高层使用难看的代码来弥补数据模型无法覆盖的死角。知道如何建立合理的范式关系模型,有完善的外键、索引、视图、查询表等。还要熟悉非关系型数据的存储,知道非关系型数据库在哪些方面超越了关系型数据库。业务逻辑这是系统应用价值的关键。掌握扎实的设计能力(单责任、开闭、利斯科夫替代、接口分离、依赖注入)。熟悉一些常用的框架。API/Action/MVC这些都与外界如何与业务逻辑和数据模型交互有关。会用很多帧。能够编写清晰、一致且易于使用的界面。用户界面全栈工程师需要:a)知道如何构建可读的布局;b)意识到艺术家和平面设计师的角色。总之,实现一个好的视觉设计方案尤为关键。精通HTML5/CSS。从目前的趋势来看,JavaScript将是明日之星。最近这个领域取得了丰硕的成果(Nodejs,Backbone,Knockout,Angular)。所以,掌握JavaScript是必不可少的。用户体验全栈工程师应该认识到,用户只是希望一切都好。一个好的系统不会让用户得腕管综合症或者眼睛疲劳。全栈工程师可以纵观全局,将一个需要8次点击、3个步骤的流程简化为只需一次点击。知道如何用错误用户。如果出了问题,真诚地道歉。有时候一些无意的错误信息会让用户觉得莫名其妙。了解用户和市场需求与系统架构有关,但绝不是不可触及的角色。全栈工程师要明白客户在使用软件的过程中需要什么,整个市场需要什么。否则能写出高质量的单元测试,甚至今天的JavaScript都能写出单元测试。知道如何使用可重复的自动化工具按需构建系统、测试、记录和部署。系统的安全意识很重要。您应该知道,开发堆栈中的每一层都可能有薄弱环节。
加油,骚年!....
如何系统的学习JAVA?
java的整体生态和积累真的太大了。从1995年到现在20多年的积累,几乎涉及了计算机软硬件的方方面面。目前,我认为主人 s精通是指jdk本身和一些必要的数据结构,以及通用框架和面向对象的基本思想。
从11月初开始,我一直在学习java相关的知识。也有很多弯路。根据on《设计模式》、《代码整洁之道》、《spring源码解读》和《Spring揭秘》等书。
3.了解和学习jdk类库本身的应用源代码实现以及主流第三方框架的源代码和架构设计。
比如jdk本身的数据结构,比如二叉树,红黑树,treemap,异步包的包源代码,比如unsafe,同步阻塞队列,call-futur《设计模式》、《代码整洁之道》、《spring源码解读与设计详析》、《Spring揭秘》等等,都可以在这个过程中得到理解。
4.了解jdk和jr《实战java虚拟机》,他的解释更切合实际。很好理解。
首先可以从jdk自带的工具学习入手。
比如:jstat,jmap,jstack,jps,jdb。.......甚至有一个HSDB可以在运行时直接窥视实际的内存数据。当然,作为初步的学习,我们只需要了解几个常用的命令,知道它们代表什么。毕竟第三方监控工具,包括jdk本身,也提供了三个可视化的监控。
其次,了解jvm的运行和加载原理,了解类文件的结构。
在这个过程中,我们可以使用之前会用到的监控工具来了解jvm加载的基本原理。可以参考jvm标准的官方版本,学习理解类文件。在此基础上,我们可以使用classpy等工具来方便我们直接读取类文件。还可以尝试支持类字节码级别的单步调试工具。你甚至可以尝试使用jvm汇编编码工具。
接下来,了解jvm垃圾收集机制的发展历史,以及各种主流垃圾收集器的工作原理。
这个过程其实很复杂。垃圾收集器有各种串行,并行,新声代/换和老龄,还有回收警戒线,满触发条件,各种基本参数和很少用的超参数,还有G1 H区,ZGC等等。。。幸运的是,GC不是官方jvm规范的一部分。
然后,做一些jvm的练习和实战。
比如jvm常见故障排查和故障总结、性能调优、热加载、类字节码的动态操作、asm等。
最后,可以尝试实现自己的jvm。(当然这一步对于很多同学来说并不是必须的。)
这里我推荐几本书,也是彻底理解jvm规范的学习路径。最好自己实现垃圾收集器。
周小姐 《深入理解Java虚拟机》南部。
接下来是《深入嵌入式java虚拟机》和支持源代码。这个cldc的jvm源代码只有1M多。目前仍可在甲骨文官网下载。是一个非常精简的jvm实现。
接下来,你可以读《自己动手写java 虚拟机》。这本书的jvm实现是用go语言写的。当然很多都不是很合理。但是它们基本上遵循jvm规范。
这时候可以看看github上各种JVM的开源实现。有go,scalajvm,javainjava,ajvm,python-jvm,lua,还有各种版本的不同jvm实现。
当然,这些实现只是基本原则。
推荐你看《实战hotspot》豹书,关注高级语言虚拟机的圈子。
当然,关于垃圾收集的书很少,这里我推荐《《The Garbage Collection Cookbook》》,一本关于垃圾收集的经典书籍。其实如果你对新的垃圾收集算法感兴趣,可以去知乎搜索相关论文和GC算法的开源演示。
当然,我的建议只是针对Java本身。
真的想完全学会。Java生态学、软件工程、计算机网络、大数据基础知识、mahuot、sparklib、分布式搜索架构、各种消息中间件、缓存中间件、数据库、DNS/CDN。。。。。这些都是互联网应用,不可避免。
我只能建议我精通一般知识,精通研究方向和相关的生态学理解。
因为问题是针对java本身的。我赢了。;其他具体方向不展开。描述了大致的技术方向,没有其他答案详细讨论语法糖的水平。希望对主有帮助。
如有问题,欢迎关注回复,与我探讨。谢谢你。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。