A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 折磨之王哒哒哒 初级黑马   /  2018-8-16 11:39  /  1286 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 折磨之王哒哒哒 于 2018-8-16 14:08 编辑

我们大部分的大学生活里面接触到的第一门语言可能就是 C 语言,而后会有其它的计算机高级语言,但是为什么现在这么多年了还在去强调的 Java 的开发呢?
关键的因素在于,java 从未过时。尽管世界上出现了许多的编程语言,例如最火爆的 Python,更多的时候只是完成了 Java 不擅长的地方。
Java 语言的特点应该就不需要过多的描述了,但是为什么Java 现在依然在服务器端的编程上有着无可比拟的优势呢?
·面向对象的设计思想依然是主流,尽管现在函数式的编程模式已经很多了,但是从正规的软件的项目编写来讲(需要有更加严格的设计需求),面向对象依然是作为大型项目的首要选择,而对于函数式的编程只能够像 SQL 一样,在小部分的范围内直接使用;
·在世界上以及国内有许多大型的软件项目(政务、商务等系统)还是都以 java 开发为主(确定了其在服务器端霸主地位);
·强大的软件团队支持;
·多线程与网络通讯的高效性;
在服务器端运维程序上,最早的时候有人尝试过使用 java 去编写一些组件,但是效果非常不好,所以有了这样的背景,那么适合于运维编写的简单程序语言就迅速火爆了。
那么现在的问题就出现了:到底 Java 怎么学才是一个行之有效的方法?
1、 面向对象编程:
·抽象类(abstract class)与接口(interface)的使用;
2、 设计模式:工厂设计模式、代理设计模式、单例设计模式、共享设计模式、合成设计模式、门面设计模式、装饰设计模式、责任链设计模式等。
|- Spring 开发框架的核心思想:工厂设计模式、代理设计模式、单例设计模式,同时再理解多线程的概念之后;
3、  异常的设计不仅仅是一个所谓的“try…catch”,更多的情况下需要牵扯到一些自定义的业务异常;
|- 一定要去充分的考虑业务异常的设计问题(去看看 Spring 源代码,去分析它里面做出的异常设计);
|- RunntimeException 的使用上(NullPointerExeption、NumberFormatException);
4、 开发工具不是关键所在,而是说你会写程序之后开发工具就会用了,不会,随便点点就会了
|- Eclipse 阵营:结合 STS(Spring Tools Source)插件进行开发;
|- IDEA 阵营:需要使用中国特色版(D 版)。
|- 使用开发工具可以看源代码;
5、 多线程:在进行架构设计的时候多线程的问题考虑非常的复杂,而且除了基本的多线程的实现之外,还会有多线程的同步处理(Object 处理类、JUC 开发框架),Runnable、Callable、线程池、锁。
6、 数据结构:如果把一个项目之中所有的精力都浪费在了数据结构上,那么这个语言的可替代性就非常的强了,那么正是由于此原因,JDK 提供有各个数据结构的常用实现,并且你应该清楚这些结构的特点以及问题所在。
7、 通讯模式:网络协议与 IO 的操作,但是对于 IO 的开发又需要区分:BIO、NIO、AIO 等不同的形式,所以 IO 的处理实际上是非常繁杂的,并且要结合多线程进行编写开发也是非常头疼的,当你已经做到了一定层次的时候(已经不仅仅局限于基础的开发架构的时候),就应该考虑底层的通讯模型了(TCP、HTTP、WebSocket)

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马