java核心技术

时间:2024-05-17 03:37:38编辑:莆田seo君

Java的核心技术有哪些?

java学习中的13个核心技术分享给你1. JDBC(Java Database Connectivity):JDBC API为访问不同的数据库提供了一种统一的途径象ODBC一样,JDBC对开发者屏蔽了一些细节问题,另外JDCB对数据库的访问也具有平台无关性。2. JNDI(Java Name and Directory Interface):JNDI API被用于执行名字和目录服务。它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统或应用服务器中的对象。3. EJB(Enterprise JavaBean):J2EE技术之所以赢得媒体广泛重视的原因之一就是EJB。它们提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源缓冲池以及容错性。但这里值得注意的是EJB并不是实现J2EE的唯一途径。正是由于J2EE的开放性使得有的厂商能够以一种和EJB平行的方式来达到同样的目的。4. RMI(Remote Method Invoke):正如其名字所表示的那样,RMI协议调用远程对象上方法。它使用了序列化方式在客户端和服务器端传递数据。RMI是一种被EJB使用的更底层的协议。5. Java IDL/CORBA:在Java IDL的支持下开发人员可以将Java和CORBA集成在一起。他们可以创建Java对象并使之可在CORBA ORB中展开,或者他们还可以创建Java类并作为和其它ORB一起展开的CORBA对象的客户。后一种方法提供了另外一种途径通过它Java可以被用于将你的新的应用和旧的系统相集成。6. JSP(Java Server Pages):JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端所请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。7. Java Servlet:Servlet是一种小型的Java程序,它扩展了Web服务器的功能。作为一种服务器端的应用,当被请求时开始执行,这和CGI Perl脚本很相似。Servlet提供的功能大多与JSP类似,不过实现的方式不同。JSP通常是大多数HTML代码中嵌入少量的Java代码,而servlets全部由Java写成并且生成HTML。8. XML(Extensible Markup Language):XML是一种可以用来定义其它标记语言的语言。它被用来在不同的商务过程中共享数据。XML的发展和Java是相互独立的,但是它和Java具有的相同目标正是平台独立性。通过将Java和XML的组合,您可以得到一个完美的具有平台独立性的解决方案。9. JMS(Java Message Service):MS是用于和面向消息的中间件相互通信的应用程序接口(API)。它既支持点对点的域,有支持发布/订阅(publish/subscribe)类型的域,并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致性消息和具有持久性的订阅者支持。JMS还提供了另一种方式来对您的应用与旧的后台系统相集成。10. JTA(Java Transaction Architecture):JTA定义了一种标准的API,应用系统由此可以访问各种事务监控。11. JTS(Java Transaction Service):JTS是CORBA OTS事务监控的基本的实现。JTS规定了事务管理器的实现方式。该事务管理器是在高层支持Java Transaction API (JTA)规范,并且在较底层实现OMG OTS specification的Java映像。JTS事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管理器提供了事务服务。12. JavaMail:JavaMail是用于存取邮件服务器的API,它提供了一套邮件服务器的抽象类。不仅支持SMTP服务器,也支持IMAP服务器。13. JAF(JavaBeans Activation Framework):JavaMail利用JAF来处理MIME编码的邮件附件。MIME的字节流可以被转换成Java对象或者转换自Java对象。大多数应用都可以不需要直接使用JAF。

[create_time]2021-02-24 09:18:26[/create_time]2021-03-10 16:54:01[finished_time]1[reply_count]0[alue_good]兔震特i[uname]https://himg.bdimg.com/sys/portrait/item/wise.1.eda43b9a.gWYgZ7c-YsQMSLhlPIZ4Lw.jpg?time=6520&tieba_portrait_time=6520[avatar]TA获得超过975个赞[slogan]人生就像卷纸,没事尽量少扯。[intro]321[view_count]

Java的核心技术有哪些?

第一:Java虚拟机 Java虚拟机的主要任务是装在class文件并且执行其中的字节码。Java虚拟机包含一个类装载器,它可以从程序和API中装载class文件。Java API中只有程序执行时需要的那些类才会被装载。字节码由执行引擎来执行。不同的Java虚拟机中,执行引擎可能实现得非常不同。在由软件实现的虚拟机中,最简单的执行引擎就是一次性解释字节码。另一种执行引擎更快,但是也更消耗内存,叫做"即时编译器(just-in-time compiler)"。在这种情况下,第一次被执行的字节码会被编译成本地机器代码。编译出的本地机器代码会被缓存,当方法以后被调用的时候可以重用。第三种执行引擎是自适应优化器。在这种方法里,虚拟机开始的时候解释字节码,但是会监视运行中程序的活动,并且记录下使用最频繁的代码段。程序运行的时候,虚拟机只把那些活动最频繁的代码编译成本地代码,其他的代码由于使用得不是很频繁,继续保留为字节码-由虚拟机继续解释它们。一个自适应的优化器可以使得Java虚拟机在80%~90%的时间里执行被优化过的本地代码,而只需要编译10%~20%的对性能有影响的代码。 当Java虚拟机是由主机操作系统上的软件实现的时候,Java程序通过调用本地方法(native method)和主机交互。Java中有两种方法: Java方法和本地方法。Java方法是由Java语言编写,编译成字节码文件,存储在class文件中的。本地方法是由其他语言(比如c,c++或汇编语言)编写的,编译成何处理器相关的机器代码。本地方法保存在动态链接库中,格式是各个平台专有的。运行中Java程序调用本地方法时,虚拟机装载包含这个本地方法的动态库,并调用这个方法。本地方法是联系Java程序和底层主机操作系统的连接方法。第二:类装载器的体系结构 一个Java应用程序可以使用两种类装载器:"启动(bootstrap)"类装载器和用户定义的类装载器。启动类装载器(这是系统中唯一的)是Java虚拟机实现的一部分。启动类装载器通常使用某种默认方式从本地磁盘中装载类,包括Java API类(启动类装载器也被称为原始类装载器、系统类装载器或者默认类装载器)。 Java应用程序能够在运行时安装用户定义的类装载器,这种类装载器能够使用自定义的方式来装载类。例如,从网络下载class文件。尽管启动类装载器是虚拟机实现的本质部分,而用户定义的类装载器不是,但用户定义的类装载器能够用Java来编写,能够被编译成class文件,能够被虚拟机装载,还能够像其它对象一样实例化。 由于有用户定义类装载器,所以不必再编译的时候就知道运行中的Java应用程序中最终会加入的所有的类。用户定义的类装载器使得在运行扩展Java应用程序成为可能。当它运行时,应用程序能够解决它需要哪些额外的类,能够决定是使用一个或是更多的用户定义的类装载器来装载。由于类装载器是用Java编写的,所以用任何在Java代码中可以表述的风格来进行类装载。这些类可以通过网络下载,可以从某些数据库中获取,甚至可以动态生成。 每一个类被装载的时候,Java虚拟机都监视这个类,看到它到底是被启动类装载器还是被用户定义类装载器装载。当被装载的类引用了另外一个类时,虚拟机就会使用装载第一个类的类装载器装载引用的类。例如,如果虚拟机使用一个特定的类装载器装载Volcano这个类,它就会使用这个类装载器装载Volcano类使用的所有类。 由于Java虚拟机采取这种方式进行类的装载,所以被装载的类默认情况下只能看到被同一个类装载器装载的别的类。通过这种方法,Java的体系结构允许在一个Java应用程序中建立多个命名空间。运行时的Java程序中的每一个类装载器都有自己的命名空间。 Java应用程序可以创建多少个(或多少种)被不同的类装载器装载的类存放在不同的命名空间中,它们不能相互访问,除非应用程序显示地允许这么做。当编写一个Java应用程序的时候,从不同源文件装载的类可以分隔在不同的命名空间中。通过这种方法,就能够使用Java类装载器的体系结构来控制任何不同源文件中装载的代码之间的相互影响,特别是能够阻止恶意代码获取访问或破坏善意代码的权限。 Web浏览器是一个动态扩展的例子,Web浏览器使用用户定义的类装载器从网络下载用于Java applet的class文件。Web浏览器使用一个用来安装用户定义类装载器的Java应用程序。这个用户定义的类装载器通常被称为Java Applet类装载器,它知道如何向HTTP服务器请求class文件。Java Applet可以作为动态扩展的例子,因为Java应用程序并不知道它什么时候会开始从网络下载浏览器请求的class文件。只有当浏览器遇到有Java applet的页面时,才决定是否需要下载class文件。 Web浏览器启动的Java应用程序通常为每个提供class文件的网络地址分别创建不同的用户定义类装载器,因此,不同的用户定义类装载器装载不同来源的class文件。这就可以把它们分别放置在Java主机应用程序的不同命名空间之下。由于不同来源的Java applet文件放置在不同的命名空间中,恶意的Java applet代码就不会直接访问从别的地方下载的class文件。这就能够限制或阻止不同来源的代码之间的相互访问。第三:Java class文件 Java class文件主要在平台无关性和网络移动性方面使Java更适合网络。它在平台无关性方面的任务是:为Java程序提供独立于底层主机平台的二进制形式的服务。这种途径途径打破了C或者C++等语言所遵循的传统,使用这些传统语言写的程序通常首先被编译,然后被连接成单独的、专门支持特定硬件平台和操作系统的二进制文件。通常情况下,一个平台上的二进制可执行文件不能在其他平台上工作。而Java class文件时可以运行在任何支持Java虚拟机的硬件平台和操作系统上的二进制文件。 当编译和连接一个C++程序时,所获得的可执行二进制文件只能在指定的硬件平台和操作系统上运行,因为这个二进制文件包含了对目标处理器的机器语言。而Java编译器把Java源文件的指令翻译成字节码,这种字节码就是Java虚拟机的"机器语言"。class文件设计得紧凑,因此它们可以快速地在网络上传送。其次,由于Java程序是动态连接和动态扩展的,class文件可以在需要的时候才下载。这个特点使得Java应用程序能够安排从网络上下载class文件的时间,从而可以最大限度地减少终端用户的等待时间。第四:Java API Java API通过支持平台无关性和安全性,使得Java适应于网络应用。Java API是运行库的集合,它提供了一套访问主机系统资源的标准方法。运行Java程序时,虚拟机装载程序的class文件所使用的Java API class文件。所有被装载的class文件(包括从应用程序中和从Java API中提取的)和所有已经装载的动态库(包含本地方法)共同组成了再Java虚拟机上运行的整个程序。 在一个平台能偶支持Java程序以前,必须在这个特定平台上明确地实现API的功能。为访问主机上的本地资源,Java API调用了本地方法。由于Java API class文件调用了本地方法,Java程序就不需要再调用它们了。通过这种方法,Java API class文件为底层主机提供了具有平台无关性、标准接口的Java程序。对Java程序而言,无论平台内部如何,Java API都会有同样的表现和可预测的行为。正是由于在每个特定的主机平台上明确地实现了Java虚拟机和Java API,因此,Java程序自身就能够成为具有平台无关性的程序。 Java API在Java安全性模型方面也有贡献。当Java API的方法进行任何有潜在危险的操作(比如进行本地磁盘写操作)之前,都会通过查询访问控制器来检验是否得到了授权。访问控制器是一个类,该类用来执行栈检验,已决定是否允许某种操作。

[create_time]2021-02-22 11:19:29[/create_time]2021-03-09 10:57:40[finished_time]5[reply_count]4922[alue_good]qncn58[uname]https://himg.bdimg.com/sys/portrait/item/wise.1.3741736a.ko3idxC00zWj4I7PnXqqOQ.jpg?time=5154&tieba_portrait_time=5154[avatar]TA获得超过12.1万个赞[slogan]这个人很懒,什么都没留下![intro]19921[view_count]

什么叫java核心技术

后来朱江洪回忆说:“我们科研人员没有辜负期望,我们只用了一年的时间就研发出来了。5年过后,戏剧性的场面出现了,先后有3家日本企业来到格力,恳请并购合作。2008年8月代表中日两国空调行业最高水平的巨头终于走在了一起,共同成立了“格力大金”。

[create_time]2020-07-22 18:55:27[/create_time]2016-07-18 17:50:48[finished_time]3[reply_count]0[alue_good]全说商业车乘汇[uname]https://himg.bdimg.com/sys/portrait/item/wise.1.8d5396b6.VJNkFPlPPFQSrPwDZVmRqQ.jpg?time=10360&tieba_portrait_time=10360[avatar]TA获得超过11.4万个赞[slogan]用知识清理日常误区、探索商业奥秘[intro]362[view_count]

Java核心技术:Spring是什么?

从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说,Spring就是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。下面从整体上认识一下Spring的主要特征:*轻量:从大小与开销两方面而言Spring都是轻量的。此外,Spring是非侵入式的:使用Spring,我们的类还是pojo类,完全不用继承和实现Spring的类和接口等。也就是说,使用Spring的应用中的对象不依赖于Spring的特定类。*IoC:Spring通过控制反转技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。可以认为IoC与JNDI相反--不是我们自己控制对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它,这就是DI--依赖注入。基本上就是对象不用自己动手管理和创建。完全由容器管理,我们只管用就行。*AOP:Spring提供了面向切面的编程支持,AOP将与程序业务无关的内容分离提取,应用对象只实现它们应该做的--完成业务逻辑--仅此而已。它们并不负责其它的系统级关注点,例如日志或事务支持。AOP将与业务无关的逻辑横切进真正的逻辑中。*框架:Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),而用户就有更多的时间和精力去开发应用逻辑。所有Spring的这些特征都能帮助我们够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。*借助Spring,荣国依赖注入,AOP应用,面向接口编程,来降低业务组件之间的耦合度,增强系统的扩展性。* 让已有的技术和框架更加易用。*利用其对hibernate的SessionFactory、事务管理的封装,更简洁的应用hibernate.*Spring并不完全依赖于Spring,开发者可自由选用Spring框架的部分或全部*利用AOP思想,集中处理业务逻辑,减少重复代码,构建优雅的解决方案。*低侵入式设计,代码污染极低。Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以说Spring是企业应用开发的"一站式"选择,并贯穿表现层、业务层及持久层。虽然Spring可以一站式解决整个项目问题,但是Spring并不想取代那些已有的框架,而是与它们无缝地整合。Spring可以降低各种框架的使用难度,他提供了对各种优秀框架(如Struts、Hibernate、Hessian、Quartz等)的直接支持。使用Spring的主要目的是使J2EE易用和促进好的编程习惯,Spring的目标就是让已有的技术更加易用。所以Spring的一个重要思想就是整合和兼容。


[create_time]2013-10-14 11:47:51[/create_time]2013-10-15 02:15:44[finished_time]1[reply_count]2[alue_good]炽杀Wa1[uname]https://himg.bdimg.com/sys/portrait/item/wise.1.eafcda45.SBg57_aJXAY61bLnE9dHDA.jpg?time=3706&tieba_portrait_time=3706[avatar]TA获得超过3482个赞[slogan]这个人很懒,什么都没留下![intro]656[view_count]

《JAVA核心技术》基础知识这本书对于初学者好不好?

建议看java编程思想,它可以帮助你深刻领悟java的精髓。以下附上java相关的十大书籍排名:

第一名:Java编程思想(Thinking in java )
包含范围:全部。

没说的,绝对的大师作品,当之无愧的第一。第一版时就享誉整个java界(当时网上好象也有人译了)。国内版是京京工作室翻译的,基本上毁了此书--错误术语太多。推荐高手看E文版,新手就不要先看此书了。第二版更精采,台湾的侯捷译了此书。可以到看看前几章的中文版(不过是台湾术语)。希望国内会快些引入此书,你也可到作者的主页免费下载此书推荐。有chm格式的,非常棒!BTW:这位大师最近在写Thinking in Python相信又是一本经典名著:)

第二名:Java2编程详解(special edition java2)
包含范围:全部

这本书会排在core java2的前面可能很多人会不同意,但是就中译本和内容来看非常全面。适合新手成为高手。虽然国内的价位高了些(150),但基本还是值得的。该有的内容都有了,做参考书也很不错。BTW,这个系列中的oracle8/8i使用手册也是一本很经典的书,同样推荐。

第三名:Java2核心技术卷一,二(core java2 volume1,2)
包含范围:全部

这两本我把它们看成一本不会有人有异议吧。这也是Sun的官方的书,我觉得相对来说。第二卷高级特性要比第一卷基础知识好(第一卷又是京京工作室译的--真影响情绪:()。内容同样很全面,但是卷一虽说是基础知识,同样对新手来说不是很合适。感觉条理性不强,而且内容有些混杂,但第二卷完全可以弥补这些--精辟而细致,很适合有一定基础的Java程序员看。

第四名:Java 2图形设计 卷1:AWT 卷2:Swing-Graphic Java 1.2 Mastering the JFC Volume I:AWT SWING 3rd Edition
包含范围:Java图形设计

没什么说的了,尽管图形设计不如J2EE那么火 ,而且Win32下做应用程序也不是java的强项,但是AWT和Swing仍然是Java程序员的必修课。看这两本就够了,看看厚度就知道了,而且这也是Sun官方出的图书。

第五名:J2EE构建企业系统专家级解决方案
包含范围:J2ee

清华大学出版社 译作者:[美]Paul J. Perrone,et al.著 张志伟等译

又是一本极厚的书1038页,105元。不过内容十分丰富,适合想对J2EE整体做了解的程序员,至于每项都想精就不太可能了,呵呵。毕竟在Java中思想是主要的。在这类中有本Java服务器高级编程也很不错,机工华章出的-wrox系列中的。
第六名: Java XML编程指南
电子工业出版社 译作者: [美]Tom Myers,Alexander Nakhimovsky著

包含范围:Java+XML

XML在Java中的地位也越来越重要了,而国内能看到的还有一本中国电力出的o eilly的Java和XML。最后我还是选了这本wrox的,当然你要是想好好学学XML本身,还是看看那本XML高级编程吧。wrox系列中的-机工华章出的。

第七名:书名:Jini核心技术 英文原书名: Core Jini
作者: W.Keith Edwards

包含范围:Jini

Jini也是Java体系中很重要的部分,而且更重要的是这本可能是国内唯一的一本Jini专著-翻译的也不错。在我看来是当之无愧的经典,同样是Sun的官方图书,内容很清晰透彻。

第八名:Enterprise JavaBeans第二版 英文原书名: Enterprise JAVABEANS
作者: (美)Richard Monson-Haefel

包含范围:EJB

O‘reilly出的,ejb的重要性我不用多说了吧。尽管有人说这本译的不好,但是同样它是国内目前唯一的EJB专著。o eilly的书就是只讲一方面或一项技术,很细,但价格也不菲,这本书的架构还可以,值得一看。

!!!!!!!!第九名:数据结构与算法分析(Java版)
译作者: [美]Clifford A.Shaffer著 张铭 刘晓丹译

包含范围:Java算法

尽管基本上Java图书都是讲Java本身的特性。因为Java的体系太庞大了,而用Java来实现的数据结构与算法,这本书也是唯一一本,所以尽管这本不是那么的好但还是做以推荐。

第十名:软件工程Java语言实现 英文原书名: Software Engineering with Java
作者: Stephen R.Schach 译者: 袁兆山等

这本书没什么多说的,纯理论性的东西,但软件工程的重要也是有目共睹的,而且同样是这个领域中唯一的一本Java书。
参考资料:第九名:数据结构与算法分析(Java版)


[create_time]2019-10-08 13:52:57[/create_time]2018-01-24 15:38:32[finished_time]1[reply_count]0[alue_good]fxllv39[uname]https://himg.bdimg.com/sys/portrait/item/wise.1.27268c0e.3KzhtFhA3ijjgJh96BT2jQ.jpg?time=3268&tieba_portrait_time=3268[avatar]TA获得超过1937个赞[slogan]这个人很懒,什么都没留下![intro]1505[view_count]

上一篇:james

下一篇:java编程语言