写这篇文章主要是梳理一下自己的java知识体系吧=。=
第一次接触java时间也比较晚的,大概是在大一后半学期吧。
众所周知的,课堂上也就是带你入个门,没有学习到什么太多的知识不过大体上也大概知道了有哪些内容,学习到现在来看具体包括这些知识:
1.javaSE内容
(1)java的四个特性;有时候也被成为三大特性(有时候会有其他的划分):封装、继承、多态,还有一个叫抽象。
(2)容器集合类(collection);从iteartor开始一直到各种抽象类,实现类或者接口等内容包括很多,它的内容相比较为庞大,而且基本上所有的java程序员都会使用的,内容比较多会进行慢慢梳理的。
(3)抛出类(Throwable);或者换个名字就可能是更多人知道的更多,异常类(Exception),Throwable的另一个分支是Error,不过常规编程情况下使用Exception就足够使用了……^_^。
(4)IO流;不知道其他人开发时候IO会不会很多的使用,除了进行文件上传下载以为基本上没怎么使用过,最近使用多的情况就是在不使用数据库的情况下,作为一种数据源来使用。
(5)多线程;这个可能会有很多封装好的内容,大部分情况是不使用的,包括线程的多种实现方式,线程池,锁机制,线程的各种状态之间的转换什么的。
(6)反射;这个可能如果不去做框架的研发,大部分情况下也是不会使用的,可能基本上会一些反射上常见使用的类包括Class,Method,Field,Constrator足够应付平常使用类,还有他们之间相互使用的方式,但是如果真去做框架研发的话可能这些还是不够的,可能还需要各种实现动态代理啊等相关的知识和内容就不分开了。
(7)设计模式;如果觉得自己的SE内容还不错的话24种设计模式还是必须要学的,如果可以的话尽可能自己实现一遍,最少也得能做到不参考任何东西可以直接实现其中常见的7-8种设计模式吧,其他的需要有个印象,如果空手不参考任何内容写出所有的设计模式那样最好呀^_^。
2.JSP内容
我个人而言的话这个部分可能是偏向Java EE的部分,但是可以做个参考吧。
(1)服务器容器;Jetty,tomcat,Jboss等容器,最起码会其中一两个的使用,或者调试吧?
(2)jsp常见的指令,page,include,forward等等常见指令熟悉使用,
(3)九大内置对象的使用,作用范围啊,在servlet中怎么获取啊什么的应该是必备的吧?
(4)jstl,el等简单的会用用也是应该的。
(5)简单的javaBean肯定得会的 嗯嗯,还有一些常见的关系型数据库什么Mysql,Oracle,SQLserver,如果有兴趣的话还可以学习一下NoSQL等等非关系型数据库。
(6)然后我把JDBC放在这里了,虽然真正开发使用原声的JDBC的概率约等于0,但是最起码这个是必须要学习的,这个是基本功咯?
(7)啊.....对 这里就可以学习一下MVC是个什么鬼了。
3.JAVAEE
这部分emmm.....东西比较多,前两年流行个什么SSH(struts2,Spring,Hibernate),这两年又搞了个什么SSM时代更新太快了,现在又出现了个什么服务化的Spring-boot(Spring4出来导致的),本人目前也就只会简单的Struts2,Spring,SpringMVC,Mybatis,和一些简单的Spring-boot的开发吧,我大概就介绍一下这些东西吧。
(1)首先介绍一下三层设计思想(或者说三层架构)吧,可以这样理解,三层设计思想被框架体现的很好,SpringMVC,struts2用于进行界面层设计实现,Spring主要是用于进行服务层设计实现,mybatis,Hibernate框架进行数据交互层设计实现。
(2)struts2,第一个接触的框架,这个框架怎么说,核心是一个filter,这个filter提供了框架种的所有的支持,需要配置一个叫做struts.xml的文件,在其中提供各种常见的东西,比如过滤器,拦截器,校验器,国际化,文件上传下载,还有其他的。
(3)springMVC,功能与struts类似,熟练使用以后可以与struts2框架相互替代。
(4)Spring,常见的也是经典的使用其IOC,AOP等具体会之后详细分析一下吧。
(5)Spring-boot,相比于Spring轻量了许多
(6)MyBatis,主要负责与数据源交互,获取系统执行所需要的数据
emmm.....大概就先总结到这了 还有一些其他很零散的知识,会慢慢补充的吧