菜鸟的java学习-------第一篇初识java

2023-11-16

初识Java


前言:做了快三年的C++了,对于C++没什么可说的。这门语言的效率比其他语言高上许多,但是这门语言及其难学,及其难以维护,开发成本很大。比如说java三个月能做成的项目,C++可能就要半年,甚至更长时间。基于C++的难开发,难维护的语言特性,掌握一门能够在短时间内开发项目,通用的语言成了一个程序员迫切的需求。现在的大数据很火,大数据是基于java进行开发,例如hadoop。以后大数据铁定是主流,因为大数据的推广能提高信息交互的效率,大数据的应用充满着无数的商机。基于市场的需求和对更快开发的主流语言的掌握,java必不可少。由于有了C++的基础,java的语言特性完全无压力。java的难点也不是在语法上,而是在各种框架和WEB技术的协调运用上。java的各大框架堪称复杂,功能繁多,这是C++所无法比拟的。因为C++的开发没有大型的框架支撑,需要程序员自己去写属于自己的算法和框架,这也是C++被诟病的一个原因。写这一系列文章就是为了整理学习java的过程中的思路,希望能对读者有用。


一、Java开发环境

一般初学者常用的开发工具就是Eclipse的JEE 版本,这个版本是Eclipse的platform加上WTP插件,用来做企业级的开发,一般公司里面常用的就是这个版本。所谓J2EE(Java 2 Platform,Enterprise Edition)是为大企业主机级的计算类型而设计的java平台。J2EE提供了许多实用的中间件,比如数据库开发,线程,网络通信等功能。如果是用C++,则是使用系统API(不同系统的API是不相同的,如Linux和Windows)重新开发应用功能。J2EE具有平台无关性,使得写J2EE程序非常简单,这就是Java的优势。
J2EE有四层结构:
1、运行在客户端机器上的客户层组件(可以基于WEB方式,也可以基于传统方式)。
2、运行J2EE服务器上的WEB组件(可以是JSP页面或Servlets,静态HTML,Applets)。
3、运行在J2EE服务器上的业务逻辑组件。
4、运行在EIS服务器上的企业信息系统层软件。
J2EE的13种技术规范
1、JDBC(Java Database Connectivity),为不同数据库访问提供了统一的接口,屏蔽了一些细节问题。(C++需要根据不同的数据库调用官方提供的接口才能连接)
2、JNDI(java Name and Directory Interface),JNDI API被用于执行名字和目录服务。它提供了一致的模型来存储和操作企业级的资源DNS和LDAP,本地文件系统,或应用服务器中的对象。
3、EJB(Enterprise JavaBean),它提供了一个框架来开发和实施分布式商务逻辑,简化了具有可伸缩性和高复杂的企业级应用程序的开发。
4、RMI(Remote Method Invoke),远程方法请求,RMI协议调用远程对象上的方法,它使用了序列化的方式在客户端和服务器之间传递数据。RMI是一种被EJB使用的更底层协议。
5、Java IDL/CORBA(通用对象请求代理架构是软件构建的一个标准),在Java IDL的支持下,开发人员可以将java和CORBA集成在一起,通过它Java可以被用于将新的应用程序和旧的系统集合在一起。
6、JSP(Java server page),java服务器页面,是一个简化的Servlet设计。它实现了html语法中的java扩展,返回给客户端的就是一个html文本。
7、Java Servlet,Servlet是一种小型的java程序,它扩展了web服务器的功能。servlet全部是由java写成并且生成HTML文本。
8、XML是一种可以用来定其他标记语言的语言,它被用来在不同的商务过程中共享数据。
9、JMS是用于和面向对象消息的中间件相互通信的应用程序接口,它支持点对对的域,又支持发布/订阅的域,并且提供了许多必要的支持,如消息传递等。
10、JTA定义了一种标准API,应用程序由此可以访问各种事物监控。
11、JTS,是CORBA OTS事务监控的基本实现,JTS规定了事务管理的实现方法。
12、JavaMail,是用于存取邮件服务器的API,它提供了一套邮件服务器的抽象类,不仅支持SMTP服务器,也支持IMAP服务器。
13、JAP(JavaBeans Activation Framework),JavaMail利用JAF来处理MIME编码的邮件附件,MIME的字节流可以被转换成Java对象。
以上J2ee的四层结构和13种技术规范是开发的基础。通过J2ee和C++开发的对比,就可以发现,J2ee提供了很多可靠有用的接口技术,而C++要想实现上述的功能,需得架构,设计,编码,测试。这就是Java优越的地方,直接就可以进行业务逻辑的开发。
下面简介Eclipse的开发环境:
新建工程:File->New->Java Project->填写工程名
新建类库单元:File->New->Package->填写类库名(Java中的一个package就是一个类库单元,包内包含有一组类,它们在单一的名称空间之下被组织在一起。例如Packet fruit就是表示在声明该编译单元为名fruit的类库的一部分)。
新建类:File->New->Class->输入类名勾选类的属性。
加载工程:File->Import->加载类型->加载路径
加载JRE Library:右键工程->Build Path->Add libraries
工程名出现感叹号是因为出现了假包,需要移除。
知道上述几点就可以进行简单的开发。

二、J2EE的学习路线

这张图很好的把J2EE的特性与结构表现了出来,今后博客也将严格按照这张表的流程进行介绍。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

菜鸟的java学习-------第一篇初识java 的相关文章

随机推荐

  • IP地址划分--主机号--子网号

    参考ip讲解 问题 假设一个主机的IP地址是202 112 14 137 掩码是255 255 255 224 主机IP地址的二进制表示11001010 01110000 00001110 10001001 子网掩码的二进制表示 11111
  • Vue3 + TS : Unexpected token,Did you mean `{‘}}` or `&rbrace`

    笔者今天开发的时候遇到了这样一个错误 Unexpected token Did you mean or rbrace 上述的是错误提示 如下图 问题出现的原因 问题出现的原因是因为在上图的73行 我这边做了一个类型的预测 后面获取的dom元
  • LeetCode 2396. 严格回文的数字

    如果一个整数 n 在 b 进制下 b 为 2 到 n 2 之间的所有整数 对应的字符串 全部 都是 回文的 那么我们称这个数 n 是 严格回文 的 给你一个整数 n 如果 n 是 严格回文 的 请返回 true 否则返回 false 如果一
  • UML与面向对象

    文章目录 1 面向对象开发 1 1 理解面向对象开发 1 2 面向对象的主要概念 1 3 OO开发的优点 2 OO开发中三层设计 3 UML简介 3 1 为什么对系统建模 3 2 UML的发展 3 3 UML的构成 3 3 1 模型 图 1
  • python入门知识(七):类

    文章目录 一 面向对象语言 二 对象语言的进化 三 类的定义 一 对象 1 构造函数 init 2 实例属性 3 实例方法 4 其他方法 二 类对象 1 类属性 2 类方法 3 静态方法 四 del 方法 析构函数 和垃圾回收机制 五 ca
  • STM32F103C8T6(HAL库)驱动舵机

    1 简介 常见的舵机分为360 和180 两种 本次对180 舵机进行驱动 舵机驱动需要通过PWM信号进行驱动 本文通过定时器中的PWM信号设定使得SG90舵机进行不同角度的转动 2 PWM信号和舵机角度关系 对于舵机的驱动 需要20ms的
  • vue3+ts深入组件(四)动态组件

    一 引入 掌握程度 了解 使用Vue时 有时会遇到tab切换 如下图 1 可实现方法 1 v if 2 component动态组件 3 使用vue Router 路由切换 2 对比 第一种方法 v if 这可能是我们能最快想到的解决办法 但
  • 学习笔记:Improved Techniques for Training GANs理解

    论文链接 https arxiv org abs 1606 03498 这是一篇对GAN的训练作出改进的文章 众所周知 GAN的训练是极其不稳定的 转载请注明 1 主要内容 对GAN网络提出一些改进的体系特征和训练过程 然后把这些改进应用到
  • 汇聚、集群、聚合

    园区网络CSS iStack 主要特点 简单 各层设备均使用堆叠 集群技术 天然无环 无需跑其他协议来冗余备份 高效 配置简单 各层设备间使用链路聚合技术 链路利用率高 可靠 堆叠 链路聚合 各层设备形成双归接入组网 提高整网可靠性 我们所
  • 关于RAM溢出的解决方法 keil 5 L6220E:RW_IRAM1

    keil 5 L6220E RW IRAM1 在做bootloader时候遇到了这样的报错 xxxx xxxx axf Error L6220E Execution region RW IRAM1 size 60420 bytes exce
  • 数据库设计基本步骤 / 数据库设计原则

    基本步骤 按照规范设计的方法 同时考虑数据库及其应用系统开发的全过程 可以将数据库设计分为以下 6 个阶段 需求分析阶段 需求分析是数据库设计的第一步 也是整个设计过程的基础 本阶段的主要任务是对现实世界要处理的对象 公司 部门及企业 进行
  • MBED移植日记:gpio_api移植(基于STM32F107RC)

    本文是继MBED串口API移植的又一篇系列文章 前阵子忙着赶项目 移植完了却没来得及写成文章来分享 今天来补上 一来可以温故知新 二来也可以献出自己的一点微薄之力 写的不好 移植的也不一定好 请大家多多指教 本文的gpio api模块与mb
  • WPF 更改数据源时通知表格 更改List通知DataGrid

    用到集合ObservableCollection 此集合微软的解释为 动态收集数据并通知到显示的控件 无论数据是刷新 删除 增加 更新 新建Model 注意看里面的大小写 using System using System Collecti
  • Elelment-ui(登录页面开发详细方法)

    1 使用浏览器进到element ui官网 登页面开发 登录代码如下
  • 释万行上师:罕见的修行真相揭秘【全】

    辟谷 的问题 当修到一定程度 胃气充满了以后 就不需要食物了 有的是短期不吃 也有的长期不吃 我们五脏六腑的元气 都是通过胃产生的 大家都知道 我们从嘴里吃进的食物 首先是贮存到了胃里面 通过胃的研磨 胃液的消化 再输送到小肠 营养在小肠被
  • 领导看了给你加薪!python +ddt+excel 一招鲜,接口自动化测试轻松搞定,测试报告惊艳四座!

    目录 如何用 python ddt excel 实现接口自动化测试 一 准备工作 1 安装 python 环境 2 安装相关库 二 设计测试 1 编写 excel 文件 2 封装 excel 操作 3 封装 requests 请求 三 执行
  • java.lang.reflect.InvocationTargetException什么意思

    一般就是转换的问题 在SQL用别的list lt gt 接收的时候会报错
  • Financial Crisis【点双连通分量】

    题目链接 HDU 3749 你以为学了Tarjan会写几个边双就真的理解什么是双连通分量了吗 我原来真的不懂什么叫做点双BCC 不过这都没有关系 解决了这个问题之后 我终于知道了什么叫做点双连通分量了 这是一个绝对绝对经典的问题 首先讲一下
  • 时间序列分析 - ARMA/ARIMA参数估计及模型预测

    整体处理流程如下 平稳化处理 根据ADF单位根检验看序列是否平稳 对于非平稳序列可以进行差分 对数等等 对于得到的平稳序列需要检测是否为白噪声 如果是就没有必要再分析了 白噪声检验 1 由于白噪声序列期望为0 方差固定 因此会在y 0上下小
  • 菜鸟的java学习-------第一篇初识java

    初识Java 前言 做了快三年的C 了 对于C 没什么可说的 这门语言的效率比其他语言高上许多 但是这门语言及其难学 及其难以维护 开发成本很大 比如说java三个月能做成的项目 C 可能就要半年 甚至更长时间 基于C 的难开发 难维护的语