全面认识JAVA

【Java】JAVA知识总结浅析 Java是一门功能强大的编程语言,广泛应用于多个领域。Java的编程思想,包括面向过程和面向对象编程,Java的发展历史,各版本的特点,JVM原理,数据类型,Java SE与Java EE的区别,应用场景,JDK与JDBC,Java Web技术,Spring Boot系列,以及MyBatis框架的基本实现,最后还将讨论Java在大数据、人工智能、嵌入式和Android等领域的应用。 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 全面认识JAVA 阅读次数5172 出处 (注明出处)JJANI -------------------------------------------------------------------------------- 以下是Java标准技术的一些要点: 一、Java的跨平台性,即一次编译到处运行 简单地说Java的跨平台性就是指,编译后的Java程序可直接在不同的平台上运行而不用重新编译,这一特性使得Java随着Web应用的普及而迅速普及起来。而Java的跨平台性是如何实现的呢?这就要理解Java虚拟机和字节码的概念。   实际上,编译后的Java代码并不是传统的二进制代码(如Windows下的.exe文件),而是Java字节码,这种字节码文件是不能直接在操作系统上执行的。要想在一个操作系统上运行一个Java程序必须有一个中间环节来负责将Java字节码解释成二进制码,这个中间环节就是Java虚拟机(简称JVM)。由于目前大多数操作系统已经实现了JVM,所以Java轻松实现跨平台性。   二、面象对象技术   Java全面支持面象对象技术,这体现在Class(类)是Java程序构成的基本单元,一个Java程序通常由许多Class组成,而且这些Class还会有一定的继承关系,Java支持Class的单继承,从而使类之间的继承关系更明确。继承的结果产生类的多态性,类的多态本质上讲就是可以用父类的引用访问继承类的实现(子类对象),类的这种多态性最终形成了组件对象模型的基础,即通过接口(父类)访问实现(子类)。   三、Java中的I/O操作   Java中以字节流(InputStream和OutputStream)、节符流(Reader和Writer)来分别读写二进制数据和字符数据,使用非常简单有效。Java类库中的File类不仅提供文件操作而且还包含文件夹操作,如下面这几行代码可以列出C盘根目录下的所有文件: File f=new File("c://"; String [] m_dir= f.list(); for(int i=0;i"); out.println(""); out.println("Hello world"); out.println(""); out.println(""); ??}catch(IOException e){} } } 将这个Class文件编译后放至Tomcat/webapps/examples/WEB-INF/classes下,然后在浏览器地址栏里输入http://127.0.0.1:8080/examples/servlet/Myservlet即可看到 Hello world出现在浏览器中。 (四)Java Server Page (JSP) 同Servlet相似的是,JSP运行于Web服务器端,并且也需要Tomcat之类的容器。不同的是,由于JSP是将Java代码嵌在html标记里(同ASP一样用),JSP的界面设计同后台开发人员的工作可以有效分离。可以想像让开发人员用Servlet写一个花捎的Web页面有多困难,所以JSP Servlet混合Web应用是比较理想的选择。 看起来JSP同ASP的实现机制大同小异,其实也存在着本质的区别。所有的ASP页面都是解释运行的,而JSP页在第一次被请求时会被编译,再以后的客户请求都是直接运行服务器上的.class文件(在Tomcat的Work文件夹下),所以JSP要比ASP速度上快许多。 (五)Java Beans Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。 (六)Enterprise Java Beans (EJB) Java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。 这种模型很像COM 管理器,其实EJB容器正是起到COM 管理器的作用,只是EJB组件相对COM组件来说更易用、更安全。 总的说来,Java作为面象对象技术的一个代表,在当今商业应用中更容易开发出高效的、多层的分布式应用程序,而且,由于Java技术有很强的健壮性和易用性,加上同UML应用的结合,开发一个商业应用软件的周期会大大缩短,所以Java会有不错的前景。
JDK、JRE、Java SE、Java EE和Java ME的详细解析 阅读详情

相关推荐

DaVinci Developer中枚举类型变量的创建与实战应用

本文详细介绍了在DaVinci Developer中创建和使用枚举类型变量的方法与实战应用。通过智能温控系统的案例,阐述了枚举类型在嵌入式开发中的核心价值,包括提升代码可读性、类型安全性和维护便捷性。文章还提供了枚举类型在状态机实现和多模块协同中的高级应用技巧,以及调试与优化的实用建议。

ik678901234的博客 512

Java 9 ← 2017,2019 → Java 13 ,来看看Java两年来的变化

距离 2019 年结束,只剩下 10 几天了。你做好准备迎接 2020 年了吗? 一到年底,人就特别容易陷入回忆和比较之中,比如说这几天, 的对比挑战就火了! 这个话题登上了微博的热搜榜,也刷爆了朋友圈,人们纷纷晒出自己2017和2019的照片对比。 作为一个技术宅,我也做了一个对比: 2017 年 9 月 21 日,Java 9 正式发布,并且在2017年8月,JCP执行委员会提出将J...

HollisChuang's Blog 2万+

别只会‘pip install’了!当Python报错找不到‘pkg_resources’时,你的setuptools可能出大问题

本文深入解析Python开发中常见的`ModuleNotFoundError: No module named 'pkg_resources'`错误,揭示其背后的setuptools依赖问题。通过系统化的诊断与修复指南,帮助开发者理解Python包管理机制,并提供从基础到高级的解决方案,确保pip和setuptools的正常运行。

weixin_42523711的博客 436

安装了多个java 如何切换java版本

修改`JAVA_HOME`中的地址即可,可写个程序来快速修改.

小蓝的博客 3万+

SCRFD算法解读及环境安装实践

SCRFD检测算法及环境安装

lishanlu136的博客 1009

【G4基础08】GPS-2-Macro Commands宏命令

GPS-2

adelall的博客 3739

【Java】从java8到java17各版本新特性详解

下面这张图是 Oracle 官方给出的 Oracle JDK 支持的时间线,可以看出,JDK 17的支持时间最长,可以延续到2029年9月。考虑到技术更新的速度,这次免费商用8年的时间可谓是经过精心考虑,旨在让用户放心地升级到JDK 17(不过JDK 8的支持时间更长,可以延续到2030年12月)。从JDK诞生到现在,仅有几个版本得到了长期支持,主要包括JDK 7、JDK 8、JDK 11以及即将发布的JDK 17,它将是继Java 8之后最重要的LTS版本,是Java社区八年努力的成果。

一个天蝎座的程序猿 5892

通过Scrapy爬虫抓取Deep Learning领域的论文数据

然而,大部分高质量的deep learning研究论文都是通过国际顶尖学术会议(如neurips、iclr、icml等)发表的,而这些论文的获取难度较大。在本文中,我们选择抓取arXiv的数据。arXiv是一个管理科学论文的网站,其中包括了许多领域的论文,也包括了Deep Learning领域的论文。同时,arXiv网站还提供了方便的API接口,使得我们的爬虫程序可以很方便地获取论文数据。通过结合其他的数据处理技术,我们可以对这些数据进行更深入的研究和分析,从而推动Deep Learning领域的发展。

Ob2024的博客 609

一文搞懂 Java、Java EE、Java SE 和 Java Web

在学习和使用 Java 编程语言的过程中,我们常常会遇到“Java SE”、“Java EE”、“Java ME”和“Java Web”这些术语。对于很多开发者尤其是新手来说,这些术语可能会显得有些混淆。理解它们的区别和联系对于选择适合的技术栈和提高编程效率非常重要

m0_61118741的博客 3366

**YOLOv11性能突破:基于YOLOv10-PSA注意力机制的目标检测革命性升级**

购买即可解锁300+YOLO优化文章,并且还有海量深度学习复现项目,价格仅需两杯奶茶的钱,别人有的本专栏也有!

m0_71589036的博客 197

【XCharts插件】5-2、从Excel中读取数据并更新图表案例(v3.0)

XCharts插件是一款基于UGUI的功能强大、易用、参数可配置的数据可视化图表插件。【Unity3D插件】XCharts插件完全教程《全网最全》-专栏文章目录【XCharts插件】5-1、从Json中读取数据并更新图表案例(v3.0)介绍了如何从Json文件中读取数据,并更新表格,这篇文章就介绍如何从Excel中读取数据,并更新图表吧。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 1275

Java笔记——Java命令大全

使用jstat命令可以实时查看Java应用程序的性能状况,例如堆内存的使用情况、类加载器的状态、JIT编译器运行时间等重要信息,有助于开发人员及时发现性能问题并进行优化。需要注意的是,jstack命令只能获取Java进程当前的线程信息和调用栈信息,并不能记录历史数据,如果需要跟踪Java进程的历史性能指标,建议使用其他性能分析工具。-source version:指定要编译的Java源代码的版本(例如,-source 8表示使用Java 8的语言功能进行编译)。

a25847a的博客 6598

qtcreator使用远程服务器编译代码

我并没有找到很好的windows上可以用的rsync工具,最后是装了wsl来调用rsync同步到代码后,在用ssh调用linux命令来编译的。安装wsl安装ubuntu启动wsl然后把windows里的ssh文件证书和配置复制到wsl里同时config的key目录需要改一下,这样就可以登录服务器了然后在home目录创建build.sh进行远程编译。

习惯就好zz的专栏 1383

Java 8、Java 11、Java 17和Java 21的比较

从Java 9开始,Oracle引入了新的六个月发布周期。这意味着每年会发布两个新的Java版本。然而,长期支持(LTS)版本——如Java 8、11、17和现在的21——每隔几年发布一次,并且支持时间更长。

qq_28791753的博客 2943

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【JAVA】java 学习路线

一门永不过时的编程语言——Java 编程开发。 Java编程语言占比: 据官方数据统计,在全球编程语言工程师的数量上,Java编程语言以900万的程序员数量位居首位。 而且很多软件的开发都离不开Java编程,因此其程序员的数量最多。而在以Java编程为核心的开发领域中,javaEE程序员的需求量10年来一直居于首位! Java工程师人才缺口: 根据IDC的统计数字:就2017年来说,我国Java人...

帅胖子的博客 2409

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

java5、java6、java7、java8、java9新特性

1. 介绍2. JAVA5新特性2.1 泛型 Generics2.2 枚举类型2.3 自动装箱拆箱(自动类型包装和解包)autoboxing &amp; unboxing2.4 可变参数varargs(varargs number of arguments)2.5 Annotations(重要) 它是java中的metadata(注释)2.6 新的迭代语句2.7 静态导入(import stati...

隐居者 1万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Java笔记——Java 初识_java 版本历史

(Java Micro Edition,小型版):支持 Java 程序运行在移动终端(手机,PDA)上的平台,对 Java API 有所精简,并加入了针对移动终端的支持,此版本以前称为 J2ME。JDK 是提供给 Java 开发人员使用的,其中包含了 Java 的开发工具,也包括了 JRE,所以如果安装了 JDK,就不用再单独安装 JRE 了。因为不同的操作系统需要不同的 JVM,而 JVM 又是包含于 JDK 的,因此不同的操作系统就需要安装不同的 JDK。负责执行指令,管理数据,内存,寄存器。

a25847a的博客 1620

Java 进化之路:从 Java 8 到 Java 21 的重要新特性

最近在 Stack Overflow 上看到个热帖:“现在学 Java 到底应该从哪个版本开始?必须从版本演进的角度理解 Java!今天咱们就掰开揉碎了聊聊 Java 8 到 Java 21 那些改变编程方式的特性(敲黑板!重点来了)最近在 GitHub 上看到一个有趣的数据:Java 21 的采用率比 Java 17 同期高出 300%!这说明开发者对新特性的接受度越来越高(时代在进步啊兄弟们)。维护老项目用 LTS 版本新项目尽量上 Java 17+个人项目勇敢尝试 Java 21。

notion2025的博客 1334

Mac下如何降级Java、卸载Java

前言 安装一些组件或插件时,有时会提示错误: * What went wrong: Could not determine java version from '11'. 查看组件或插件对应的Java版本会发现,可能只支持 Java 8,但本地安装的Java版本不一定能对应。 查看Java版本: #查看版本 java -version #查看安装位置 /usr/libexec/java_home...

专注于技术开发、项目管理 6563

现代java,Java 8 到 Java 21特性一览

Java 是一种多功能编程语言,它经历了变革之旅。从 Java 8 开始,令人兴奋的功能改变了开发人员的编码方式。从用于更好功能的漂亮 lambda 表达式到使处理数据更容易的 Stream API,Java 8 改变了游戏规则。我们将查看 Java 21 之前的更新,其中密封类可让您更好地控制类,而记录使创建数据对象变得轻而易举。加入旅程,我将用简单的解释和实际示例分解这些现代 Java 功能。由于这将是一个漫长的旅程,而且文章会很长,我建议将其分成较小的部分以方便您阅读。

周国通的博客 1604

Java历史版本官方下载地址(Java 6、Java 7、Java 8)

Java历史版本官方下载地址: 1、Java 7官方下载地址;2、Java 8官方下载地址;

大道至简 16万+

【Java基础】认识Java,Java程序的生命周期,运行Java程序

JDK 是Java开发工具包,就跟Go和Python一样有SDK这种工具包编写Java需要的软件,例如:eclipse、IDEA等;

拔高、提升、创新! 1168

Java笔记——Java注释、Java API文档、Java核心机制

JVM(Java Virtual Machine,Java虚拟机):是一个虚拟的计算机,是Java程序的运行环境。-原理:只要在需要运行Java应用程序的操作系统上,先安装一个Java虚拟机(JVM,Java Virtual Machine)即可。吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请和释放等),提供了一个相对安全的内存管理和访问机制。-GC的自动回收,提高了内存空间的利用效率,也提高了编程人员的效率,很大程度上减少了因为没有释放空间而导致的内存泄漏。

a25847a的博客 1083
上一篇: 解析Java的Class文件格式——解析魔数和版本号
下一篇: Java 语法高亮显示JHighlight 1.0 初版发布
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值