黑马程序员技术交流社区
标题:
Java基础中这九个知识点值得注意
[打印本页]
作者:
来到精彩世界
时间:
2016-11-28 22:59
标题:
Java基础中这九个知识点值得注意
1.
多线程并发
多线程是
Java
中普遍认为比较难的一块。多线程用好了可以有效提高
cpu
使用率,
提升整体系统效率,
特别是在有大量
IO
操作阻塞的情况下
;
但是它也是一柄双刃剑,
如果用不好,系统非但提升不大,或者没有提升,而且还会带来多线程之间的调试时等问题。
在多线程中内容有很多,只是简单说明一下
Java
中初步使用多线程需要掌握的知识点,以后有机会单独再详细介绍一些高级特性的使用场景。
多线程的实现和启动
callable
与
runable
区别
syncrhoized
,
reentrantLock
各自特点和比对
线程池
future
异步方式获取执行结果
concurrent
包
lock
2.
网络
Java
中也是提供了可以直接操作
TCP
协议、
UDP
协议的
API
。在需要强调网络性能的情况下,可以直接使用
TCP/UDP
进行通讯。在查看
Tomcat
等的源码中,就可以看到这些相关
API
的使用情况。不过一般也比较少会直接使用
TCP
,会使用诸如
MINA
、
Netty
这样
的框架来进行处理,因为这个方面的开发涉及不多,所以就不再详细罗列了。
3.
时间日期处理
几乎对于每个应用来说,时间日期的处理也是绕不过去的,但是
JDK8
之前的时间相关
API
用法并不友好。在那个时代,可以选择
Joda
等时间框架。到了
JDK8
发布之后,全新的时间
API
基本融合了其他框架的优点,已经可以很好的直接使用了。
对于
java
开发者来说,需要熟练地使用
API
来对时间和日期做相关的处理。
具体知识点不再罗列,会在以后再写个专门的文章来总结一下
JDK8
中时间日期
API
的用法
4.XML
解析/ JSON解析
其实这两块内容都不是
J2SE
里面的内容,但是在日常开发中,和其他程序交互,和配置文件交互,越来越离不开这两种格式的解析。
不过对于一个开发者来说,能够了解一些
XML/JSON
具体解析的原理和方法,有助于你在各个具体的场景中更好的选择合适你的方式来使得你的程序更有效率和更加健壮。
XML
:
需要了解
DOM
解析和
SAX
解析的基本原理和各自的适用场景
JSON
:
需要了解一些常用
JSON
框架的用法,
如
Jackson
,
FastJson
,
Gson
等。
5.Maven
的使用
Maven
也不是
Java
里面的内容,但是
maven
是革命性的,给
java
开发带来了巨大的便利。从依赖的引入和管理,开发流程的更新和发布产出,乃至版本的更
新,使用
maven
可以大大简化开发过程中的复杂度,从而节省大量时间。可以说,
maven
已经成为
java
开发者的标配了。所以我把
maven
也作为一
个
java
开发者对于基础必备的知识点。以后会再放上一些我的一些对于
maven
使用的经验和技巧等,这里就不再细说了。
6.
泛型
这是
JDK5
开始引入的新概念,其实是个语法糖,在编写
java
代码时会有些许便利,
一般的应用或者是业务的开发,只需要简单使用,不一定会用到定义泛型这样的操作,
但是开发一些基础公共组件会使用到,可以在需要的时候再细看这个部分,一般情况下只要会简单使用即可。
7.
标注
也是
jdk5
之后引入的。
Spring
是个优秀的框架,最开始就以
xml
作为标准的配置文件。不过到了
Spring3
之后,尤其是
spring-boot
兴起之后,越来越推崇使用标注来简化
xml
配置文件了,对于开发者来说,可以节省不少
xml
配置的时间。但是劣势是在于标注散落在各个类中,不像
xml
,
可以对所有配置有个全局性的理解和管理,所以还没有办法说完全就取代所有的
xml
。如果你想学
java
可以来
qun:
四九一、中间是八九七,最后一五八,不想要学的就不要加了。对于一般开发者,会使用标注即可,一些公共组建的开发者可能会需要了解
标注的定义和实现,可以在具体需要的时候再细看。
8.RMI
RemoteMethodInvocation
,
java
语言特有的远程调用接口,使用还是比较简单方便。不过需要跨语言的情况下,就需要使用
webservice
等其他方式来支持。一般来说,程序都不需要使用
RMI
,不过可以在特定的情况下使用,我就在一个项目中,使用
RMI
来进行程序远程启动停止的控制。
作者:
Kevin_Ye
时间:
2016-11-29 09:10
感谢楼主分享
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2