范式中举 自学java应该怎么样才能学得比较好?
自学java应该怎么样才能学得比较好?
首先,我们要知道Java是什么,它在哪里使用
Java是一种面向对象的编程语言,它吸收了C语言的各种优点,抛弃了C语言,Lido继承和指针的概念功能强大,简单易用。与C相比,它的入门难度要小得多。它还具有分布式、健壮性、安全性、平台无关性和可移植性、多线程等优良特性。这就是为什么古老的Java语言经久不衰的原因。
Java可以开发桌面应用、web应用、分布式系统和嵌入式系统,可以说应用非常广泛。
现在在一个大的互联网时代,Java更多地用于Web程序,所以接下来我将给出Java Web学习方向。
首先,学习Java的语法基础,弄清楚一些数据类型、循环,以及如何编写条件语句等
接下来,我们需要了解一些难点,比如什么是接口?什么是序列化?什么是线?集合、地图和列表有什么区别?如何处理错误?
然后学习JAVA内存和JVM,弄清楚内存分配机制、内存泄漏和监控等,这是面试中经常问的问题。
然后您可以学习一些与数据结构相关的知识和设计模式。如果你有基本的计算机知识,你可以跳过它。最后一个基础是数据库,这是比较容易学习的。
然后您可以开始学习一些应用程序知识,例如服务器和容器(Tomcat)-前端(JSP、HTML、JS等)-Java Web的三个组件(servlet、listener、filter)-Java的三个框架(spring、Struts2、hibernate)。
应用的东西可以学习后开发,尽量做一个大网站。
最后,学习高级点、套接字、线程和并发、通信协议等。
如果您想彻底了解Java,建议您学习一些基本的计算机知识。去十大基础课程(数据结构、编译、汇编、操作系统、数字逻辑等)的书上学习这些计算机基础知识对你理解计算机和发展有很大的帮助,将来学习其他语言会事半功倍。
有人说设计模式是为了弥补Java语言的缺陷,你觉得是这样吗?
如果你从语言的角度来看设计模式,那是对的。一些设计模式弥补了Java语言的不足,其中最明显的是singleton模式。
Java本身不提供单例对象创建,需要通过单例模式实现。什么样的饿、懒、多线程都要注意DCL、易变关键字等,导致面试题很多。
在现代语言中,许多提供了创建单例对象的语法,例如scala和kotlin的对象关键字。
从架构的角度来看,设计模式将组件关系解耦。
假设我们要实现一个带有上载服务的文件服务器来上载文件。我们可以调用convertservice来转换文件。Uploadservice属于核心模块upload module,convertservice属于非核心模块conversion module。
如果uploadservice直接调用convertservice来执行转换,则核心模块依赖于非核心模块。如下图所示:
非核心模块相对不稳定,核心模块相对稳定。核心模块对非核心模块的依赖将导致核心模块的不稳定性。所以可以使用策略模式来解耦:
看箭头方向,现在转换模块依赖于上传模块,转换模块的变化不会影响上传模块。依赖的方向改变了。这就是传说中的“依赖倒置”!
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。