浅谈JAVA

对于刚步入编程领域的我来说,并不是对java有太多的了解,甚至是可以说是一片空白。但是
这里写图片描述
看了这张表,就很自然而然地感觉到作为最最热门的语言之一的java是很牛逼的。

(小知识:java和JavaScript这两个家伙的本质也不一样,java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,即使是开发简单的程序,也必须设计对象;而JavaScript是一种直译式脚本语言,它本身提供了非常丰富的内部对象供设计人员使用。)

以下便是对java这个语言的具体的介绍:

1.简介
这里写图片描述
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
这里写图片描述

它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,以“Java”的名称正式发布。   

Java的主要工作是通过编程语言来制作互联网页面、制作动态效果以及网站等技术,现在网上关于这方面的教程有很多,但很多都是过时的,因为互联网是在不断的变化的,互联网上的牛人,要想成为Java大神,走进这条Java大神之群,首先Java教程的开头是二三一,Java的最中间是三一四,Java的最后面再加上零二八,把前面的综合起来,Java大神期待你的加入。这里有很多互联网大牛教你学习,还有免费的课程。不是想学习的就不要加了。

Java 编程语言的风格十分接近C、C++语言。Java是一个纯的面向对象的程序设计语言,它继承了 C++ 语言面向对象技术的核心,Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
  
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。但在 J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。
  
与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。  
 
Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
  
Java 平台是基于 Java 语言的平台。这样的平台目前非常流行,因此微软公司推出了与之竞争的.NET平台以及模仿 Java 的 C#语言。

2.发展历史
1995年5月23日,Java语言诞生 ;
1996年1月,第一个JDK-JDK1.0诞生;
1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术;
1996年9月,约8.3万个网页应用了JAVA技术来制作;
1997年2月18日,JDK1.1发布;
1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录;
1997年9月,JavaDeveloperConnection社区成员超过十万;
1998年2月,JDK1.1被下载超过2,000,000次;
1998年12月8日,JAVA2企业平台J2EE发布;
1999年6月,SUN公司发布Java的三个版本:标准版、企业版和微型版;
2000年5月8日,JDK1.3发布;
2000年5月29日,JDK1.4发布;
2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机;
2001年9月24日,J2EE1.3发布;
2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升;
2004年9月30日18:00PM,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0;
2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名,以取消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME;
2006年12月,SUN公司发布JRE6.0;
2009年4月7日Google App Engine开始支持Java;
2009年04月20日,甲骨文74亿美元收购Sun。取得Java的版权;
2010年11月,由于甲骨文对于Java社区的不友善,因此Apache扬言将退出JCP;
2011年7月28日,甲骨文发布Java 7.0的正式版;
2014年3月19日,甲骨文公司发布Java 8.0的正式版。
2014年11月甲骨文公司发布了Java 9.0的正式版。

3.java的特点
java工作原理
这里写图片描述

1.平台无关性
平台无关性是指Java能运行于不同的平台。Java引进虚拟机 原理,并运行于虚拟机,实现不同平台的Java接口之间。使用Java编写的程序能在世界范围内共享。Java的数据类型与 机器无关,Java虚拟机(Java Virtual Machine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能, 提供于不同平台的接口的。
2.安全性
Java的编程类似C++,学习过C++的读者将很快掌握Java的精髓。Java舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止程序的非法访问。
3.面向对象
Java吸取了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。程序员只需把主要精力用在类和接口的设计和应用上。Java提供了众多的一般对象的类,通过继承即可使用父类的方法。在Java中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。Java提供的Object类及其子类的继承关系如同一棵倒立的树形,根类为Object类,Object类功能强大,经常会使用到它及其它派生的子类。
4.分布式
Java建立在扩展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。
5.健壮性
Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自己操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能,这些功能特征大大提高了开发Java应用程序的周期。并且Java还提供了Null指针检测、数组边界检测、异常出口、Byte code校验等功能。
6.解释型
我们知道C,C++等语言,都是针对CPU芯片进行编译,生成机器代码,该代码的运行就和特定的CPU有关。Java不像C或C++,它不针对CPU芯片进行编译,而是把程序编译成称为自字节码的一种“中间代码”。字节码是很接近机器码的文件,可以在提供了java虚拟机(JVM)的任何系统上被解释执行。
7.动态
java程序的基本组成单元就是类,有些类是自己编写的,有些是从类库中引入的,而类又是运行时动态装载的,这就使得Java可以在分部环境中动态的维护程序及分类,而不像C++那样,没档期类库升级以后,如果想让程序具有新类库提供的功能,就需要修改程序,重新编译。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Java中的BorderLayout是一种常用的布局管理器,它将容器分为5个区域:北、南、东、西和中间。在使用BorderLayout时,我们可以通过设置组件的位置来确定它们在容器中的位置。 下面是一个简单的例子,演示如何使用BorderLayout: ``` import java.awt.BorderLayout; import javax.swing.JButton; import javax.swing.JFrame; public class BorderLayoutExample { public static void main(String[] args) { JFrame frame = new JFrame("BorderLayout Example"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JButton button1 = new JButton("North"); JButton button2 = new JButton("South"); JButton button3 = new JButton("East"); JButton button4 = new JButton("West"); JButton button5 = new JButton("Center"); frame.add(button1, BorderLayout.NORTH); frame.add(button2, BorderLayout.SOUTH); frame.add(button3, BorderLayout.EAST); frame.add(button4, BorderLayout.WEST); frame.add(button5, BorderLayout.CENTER); frame.pack(); frame.setVisible(true); } } ``` 在这个例子中,我们创建了一个JFrame,并在其中添加了5个JButton。使用BorderLayout将它们放置在窗口的不同位置。在上面的代码中,我们将button1放置在北面,button2放置在南面,button3放置在东面,button4放置在西面,button5放置在中心。 需要注意的是,当我们在使用BorderLayout时,如果某个位置没有被占用,那么它将会自动被设置为空。另外,如果我们在同一个位置添加了多个组件,那么后添加的组件将会覆盖先添加的组件。 总之,BorderLayout是一个非常常用的布局管理器,可以帮助我们轻松地将组件放置在容器中的不同位置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值