初始Java

1、Java的特点:

① 跨平台(字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行,Java虚拟机中的Java解释器负责将字节码文件解释成特定的机器码进行运行)

② 简单的(相对于C语言来说,少了很多难懂的概念,操作也更简单了,比如垃圾回收机制)

③ 安全的(取消了强大但有危险的指针,自动内存管理机制,字节码传输过程中的加密机制PKC。运行环境提供四级安全性保障机制:字节码校验器--类装载器--运行时内存布局--文件访问限制)

④ 完全面向对象的(抽象、封装、继承、多态)

⑤ 健壮性

l Java的强制类型机制、 异常处理、 垃圾的自动收集等是Java程序健壮性的重要保证。

l 对指针的丢弃是Java的明智选择

l Java的安全检查机制使得Java更具健壮性

2、.java文件 ---> .class文件(字节码文件:采用结构中立的中间文件格式) ---> 解释

3、机器语言--> 汇编语言 --> 高级语言

4、高级语言:

① 面向过程:C、Fortran、Cobol、Pascal、Ada

② 面向对象:C++、Java、C#

5、Java历史:

① Java的发明人:James Gosling

② 为什么被发明:需要有一种应用于各种硬件的语言(嵌入式:电视盒)

③ Sun公司启动James Gosling的Green,才有了现在的Java(由于sun公司经营不善,于2009年被甲骨文收购)

6、Java三大版本:

① J2SE:Java的标准版

② J2ME:(目前应用很少)主要应用于嵌入式系统开发,如手机和PDA的编程

③ J2EE:企业版本,定义在服务器端Java2的企业版,主要用于分布式网络程序的开发,如电子商务网站

④ 其中的J2又叫“Java”,如J2SE又叫Java SE

7、跨平台语言比较(C语言和Java):

8、JDK包含JRE,JRE包含 JVM。

9、开发准备:安装JDK,安装Java开发工具,准备JDK API

10、Java开发工具:

① MyEclipse:是一款功能强大的Java EE集成开发环境

② Eclipse:免费

11、JDK帮助文档:sun公司为JDK工具包提供了一整套文档资料,是Java语言的完整说明,是编程者经常查阅的资料。

12、控制台输入的:java Helloworld(运行的是类而非class文件,所以不要再类名后加.class)

13、环境配置:java_home:目录到jdk1.8~~这个目录。path:目录到bin这个目录。(注意:配置完后有的需要重启电脑才能生效)

14、文档注释:/** */可以通过JDK提供的Javadoc命令生成程序的API文档(注意:注释不会出现在字节码文件中,即Java编译器编译时会跳过注释语句)

15、反编译软件:jd-gui.exe(原理:class--->源代码,由于编译时略过了注释,所有反编译就不会生成注释了)

16、调试Debug:

① 查看程序的执行流程

② 调试程序(F6:下一步)

Java 总结篇1的更多相关文章

  1. Java提高篇——对象克隆(复制)

    假如说你想复制一个简单变量.很简单: int apples = 5; int pears = apples; 不仅仅是int类型,其它七种原始数据类型(boolean,char,byte,short, ...

  2. Java提高篇(三三)-----Map总结

    在前面LZ详细介绍了HashMap.HashTable.TreeMap的实现方法,从数据结构.实现原理.源码分析三个方面进行阐述,对这个三个类应该有了比较清晰的了解,下面LZ就Map做一个简单的总结. ...

  3. Java提高篇(三二)-----List总结

    前面LZ已经充分介绍了有关于List接口的大部分知识,如ArrayList.LinkedList.Vector.Stack,通过这几个知识点可以对List接口有了比较深的了解了.只有通过归纳总结的知识 ...

  4. Java提高篇(三一)-----Stack

    在Java中Stack类表示后进先出(LIFO)的对象堆栈.栈是一种非常常见的数据结构,它采用典型的先进后出的操作方式完成的.每一个栈都包含一个栈顶,每次出栈是将栈顶的数据取出,如下: Stack通过 ...

  5. java提高篇(三十)-----Iterator

    迭代对于我们搞Java的来说绝对不陌生.我们常常使用JDK提供的迭代接口进行Java集合的迭代. Iterator iterator = list.iterator(); while(iterator ...

  6. java提高篇(二九)-----Vector

    在java提高篇(二一)-–ArrayList.java提高篇(二二)-LinkedList,详细讲解了ArrayList.linkedList的原理和实现过程,对于List接口这里还介绍一个它的实现 ...

  7. Java提高篇(二八)------TreeSet

    与HashSet是基于HashMap实现一样,TreeSet同样是基于TreeMap实现的.在<Java提高篇(二七)-----TreeMap>中LZ详细讲解了TreeMap实现机制,如果 ...

  8. Java提高篇(二七)-----TreeMap

    TreeMap的实现是红黑树算法的实现,所以要了解TreeMap就必须对红黑树有一定的了解,其实这篇博文的名字叫做:根据红黑树的算法来分析TreeMap的实现,但是为了与Java提高篇系列博文保持一致 ...

  9. Java提高篇(二六)-----hashCode

          在前面三篇博文中LZ讲解了(HashMap.HashSet.HashTable),在其中LZ不断地讲解他们的put和get方法,在这两个方法中计算key的hashCode应该是最重要也是最 ...

  10. java提高篇(二四)-----HashSet

          在前篇博文中(java提高篇(二三)-----HashMap)详细讲解了HashMap的实现过程,对于HashSet而言,它是基于HashMap来实现的,底层采用HashMap来保存元素. ...

随机推荐

  1. qt access 数据库

    #include <QCoreApplication> #include <QSqlDatabase> #include <QSqlQuery> #include ...

  2. Android智能手机上的音频浅析【转】

    本文转载自:https://blog.csdn.net/david_tym/article/details/80903385 手机可以说是现在人日常生活中最离不开的电子设备了.它自诞生以来,从模拟的发 ...

  3. 数据库中的union与union all的区别

    Union因为要进行重复值扫描,所以效率低.如果合并没有刻意要删除重复行,那么就使用Union All  两个要联合的SQL语句 字段个数必须一样,而且字段类型要“相容”(一致): 如果我们需要将两个 ...

  4. Fixed-Length Frames 谈谈网络编程中应用层(基于TCP/UDP)的协议设计

    http://blog.sina.com.cn/s/blog_48d4cf2d0101859x.html 谈谈网络编程中应用层(基于TCP/UDP)的协议设计 (2013-04-27 19:11:00 ...

  5. Flutter -------- 加载本地图片资源和网络图片

    在Flutter加载本地图片资源 在Flutter项目目录下创建文件夹 images ,在文件夹中添加几张图片 指定资源 pubspec.yaml文件中 version: 1.0.0+1 enviro ...

  6. SpringMVC:HandlerInterceptor log 日志

    springMVC:HandlerInterceptor拦截器添加系统日志(权限校验)代码收藏 - LinkcOne - CSDN博客https://blog.csdn.net/qq_22815337 ...

  7. Hibernate Persistence Contexts

    Hibernate ORM 5.2.18.Final User Guidehttps://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/ ...

  8. PHP 输出日志到文件 DEMO

    首先需要确保输出文件有权限写入,一般设置权限为 chown -R nginx.nginx 输出的文件路径 如果以上方法还是无效,可以直接将文件设置有777,但是这种方式只能用于测试环境 chmod - ...

  9. Flutter修改应用图标及图标

    应用名称是需要在 Android 和 iOS 中分别调整的:Android 是在 AndroidManifest.xml 中修改:iOS 则是在 Info.plist 中修改的: 如果需要更改应用的 ...

  10. 【Linux】 新建用户并授权

    一.创建新用户 1.创建一个新用户:laofan [root@localhost ~]# adduser laofan 2.为新用户创建初始化密码 [root@localhost~]# passwd ...