文档章节

Java常用包总结

timer_xi
 timer_xi
发布于 2014/08/20 14:37
字数 1290
阅读 181
收藏 1

      首先,关于JDK API我想所有对Java感兴趣的开发者都会拥有一份JavaAPI文档方便自己翻阅,对于一个新手我们常常会有疑惑,Java提供了这么多的API,到底哪些对我们才是有用的呢?下面一一为大家讲解。


    细心的读者会发现包名开头可分为java,javax两类:java和javax都是Java的API(Application Programming Interface)包,java是核心包,javax的x是extension的意思,也就是扩展包


1:针对awt开发我们比较常用的是:

后来Java扩展了Swing:

以上包可能在我们实际的开发中很少用到,但是却给初学Java的菜鸟提供了一套丰富的界面编程API。一下着重介绍工作以来使用的最频繁的几套API,才用顺序介绍。

2:基础包,IO流跟lang

使用Java编程打交道最多的莫过于IO流操作,因为Java本身还要经过一层JVM跟OS交互,因此JavaIO底层使用的是JNI技术实现与本地文件流的读取,另外由于JavaIO使用装饰模式设计使用JavaIO使用起来更加简单,易懂。关于基础包lang包从上往下依次为,Java最基础的一些类比如线程,基本数据类型,迭代,排序,字符源等都包含在该包内。再来就是注解包,该包在实战中能定义一些类的源数据,即可以给类归类,在MVC层面上常常用来表现vo层,service层与controller层。接下来使用的最多的就是反射了,我们知道有了反射应该是很多框架实现的基础。

3:网络传输层协议,NIO:

Java最开始的设计就是基于网络编程的,因此Java对传输层协议做了一个很好的封装,很多应用层的服务器框架都要在该基础上实现自己的协议,比如常用的tomcat实现了Http等协议,但是光有这个还不够的,我们知道在1.4之前针对Java Socket编程这块最大的瓶颈是对IO的操作,因为在这之前Java使用的是传统的BIO,即一个连接一个线程处理IO等待的场景,由于这个原因在很长一段时间Java在大型软件架构中都不能表现得非常完美,但是JDK1.4之后Java在这块上有了很大的提升就是NIO的出现,NIO使用一种全新的设计方式即select/poll,以及选择器通道,堆外内存概念的引入大大增加了Java在这块的不足之处,使得Java在这块的速度能够与C,C++开发的网络服务器一较高下。


4:远程过程调用RMI:

其实在我的工作中目前还没有使用到RMI技术,只是自己做过一些demo,用得比较多的是基于RPC的hessian,使用过Spring的人应该清楚Spring封装了很多远程调用机制跟一些服务比如,Spring Hessian/Burlap ,Spring httpinvoker,Spring RMI关于这里面的原因这里面就不多说了,网上有一大堆很好的资料。

5:数据库规范:

sql包是一套接口规范,用于各自的数据库厂商在该基础上实现各自的数据库操作,就是我们在开发中接触最多的JDBC,在开发中可能框架都给我们封装好了,但是对于初学Java的菜鸟来说还是建议不要使用封装好的框架以加强基本功。

6:Java工具包util:

记得大学刚开始学习C语言的数据结构+算法课程时,要理解很多概念比如说队列,堆栈,集合等,然后还是在理解的同时自己写代码实现,对于不愿意学习编程的人来说这个过程是比较痛苦的,而对于喜欢编程的人来说这个是锻炼自己的一个很好的方式,因为选择Java之后你将不需要自己去实现队列啥的了,没错,JavaAPI提供了一整套在开发中常用的工具包,从而能使你更加专注于业务逻辑的编写。

7:Java并发包:

说到并发,我想这应该是很多开发人员要关注的问题了,因为它会让你的系统出现各种各样的问题,在Java里面提供了锁机制来控制并发,但是这种锁机制充其量只能算得上是悲观锁了,如何优化呢?这时候Java并发包出现了,至少它的出现跟以前控制并发的方式比起来,性能是提升了好多的,因为它的底层使用的是CAS来控制。并发包里面可以完全替换原先控制方法块的方式以及wait,notiy方式。


© 著作权归作者所有

timer_xi
粉丝 2
博文 53
码字总数 64113
作品 0
深圳
程序员
私信 提问
什么是Java API 它提供的核心包的主要功能是什么?

Java API就是Java所提供的标准类库它把程序设计所需要的常用的方法和接口分类封装成包。 在Java API中主要包括核心java包、javax扩展包和org扩展包等。核心java 包中封装了程序设计所需要的主...

jdroid
2012/03/26
1K
0
02、Java的lambda表达式和JavaScript的箭头函数

[toc] 前言 在JDK8和ES6的语言发展中,在Java的lambda表达式和JavaScript的箭头函数这两者有着千丝万缕的联系;本次试图通过这篇文章弄懂上面的两个“语法糖”。 简介 Lambda 表达式来源于 ...

weir_will
2018/06/14
0
0
JDBC(Java Data Base Connectivity,java数据库连接)

JDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。 Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法,JDBC对...

冰雷卡尔
2012/06/03
493
0
【Java学习路线】新手该如何一步步的学习 Java

新手该如何一步步的学习 Java? 如果真的想学Java,最好要循序渐进,有章有法的学习它! 今天小慕就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容。 首先,给大家分享一张以 企业...

Eddie_yang
2018/11/15
2.3K
0
如何成为一个合格的Java程序员

如何成为一个合格的Java程序员 1、语法:必须比较熟悉,在写代码的时候IDE 的编辑器对某一行报错应该能够根据报错信息知道是 什么样的语法错误并且知道任何修正。 2、命令:必须熟悉JDK 带的...

maskleo
2015/04/20
24
0

没有更多内容

加载失败,请刷新页面

加载更多

【0918】正则介绍_grep

【0918】正则介绍_grep 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下 一、正则介绍 正则是一串有规律的字符串,它使用单个字符串来描述或匹配一系列符合某个语法规则的字符串。 二、grep工具 ...

飞翔的竹蜻蜓
27分钟前
4
0
为什么要在网站中应用CDN加速?

1. 网页加载速度更快 在网站中使用CDN技术最直接的一个好处就是它可以加快网页的加载速度。首先,CDN加速的内容分发是基于服务器缓存的,由于CDN中缓存了不少数据,它能够给用户提供更快的页...

云漫网络Ruan
今天
8
0
亚玛芬体育(Amer Sports)和信必优正式启动合作开发Movesense创新

亚玛芬体育和信必优正式启动合作开发Movesense创新,作为亚玛芬体育的完美技术搭档,信必优利用Movesense传感器技术为第三方开发移动应用和服务。 Movesense基于传感器技术和开放的API,测量...

symbiochina88
今天
4
0
创龙TI AM437x ARM Cortex-A9 + Xilinx Spartan-6 FPGA核心板规格书

SOM-TL437xF是一款广州创龙基于TI AM437x ARM Cortex-A9 + Xilinx Spartan-6 FPGA芯片设计的核心板,采用沉金无铅工艺的10层板设计,适用于高速数据采集和处理系统、汽车导航、工业自动化等领...

Tronlong创龙
今天
5
0
好程序员Java学习路线分享MyBatis之线程优化

  好程序员Java学习路线分享MyBatis之线程优化,我们的项目存在大量用户同时访问的情况,那么就会出现大量线程并发访问数据库,这样会带来线程同步问题,本章我们将讨论MyBatis的线程同步问...

好程序员官方
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部