java学习系列1--初识java

1. java三大版本

Java se:java的标准版本,定位在客户端,主要用于桌面应用软件的变成

Java ee:企业级版本,定位在服务器端,主要用于分布式网络程序的开发,如电子商务网站

Java me:主要应用于嵌入式系统开发,如手机和PDA的编程

2. java特点

java是跨平台的:java程序的字节码文件可以在任何具有java虚拟机的计算机或者电子设备上运行,java虚拟机中的java解释器负责将字节码文件解释成为特定的机器码进行执行。

java是简单的:没有#include和#define等预处理功能;没有struct,union及typedef;没有函数;没有指针和多重继承;没有goto;没有操作符重载;没有全局变量;取消自动类型转换,要求强制转换;没有手动内存管理。

java是安全的:取消了强大又危险的指针;提供了自动内存管理机制,由垃圾回收器在后台自动回收;字节码传输过程中使用了公开密钥加密机制(PKC);在运行环境中提供了四级安全性保障机制:字节码校验器,类装载器,运行时内存布局,文件访问限制。

java是完全面向对象的:面向对象,能够实现继承封装多态;

java是健壮的:java的强制类型机制,异常处理,垃圾回收机制等是java程序健壮性的重要保证;丢弃指针;安全检查机制。

3. java跨平台原理

编译器将.java文件编译成.class文件,.class文件在jvm上被解释器解释称相应的机器码。

4. java开发过程,编译,解释

java开发需要先安装jdk,安装java开发工具,准备jdk api

编译阶段:javac Hello.java,编译时必须带上扩展名.java

解释并运行:java Hello,运行的是类而非class文件,所以不能加.class

5. 环境变量的配置

JAVA_HOME java的安装目录

PATH:将 “%Java_HOME%\bin” 增加到path中;多个目录用分号隔开

CLASSPATH:jdk1.5之后不需要配置

6. java注释类型

作用:程序员为读者作的说明,提高代码可读性

类型:

// 单行注释

/*    */ 多行注释,不能嵌套

/**   */文档注释,可以通过jdk提供的javadoc命令生成程序的api文档

注意:注释不会出现在字节码文件中,即java编译时会跳过注释语句

7. 反编译工具

编译:.java文件到.class文件

反编译:.class文件到.java文件

反编译工具:jd-gui.exe

原文地址:https://www.cnblogs.com/Emking/p/12147151.html

时间: 2024-11-02 06:51:25

java学习系列1--初识java的相关文章

Java学习笔记心得——初识Java

初识Java 拿到这本厚厚的<Java学习笔记>,翻开目录:Java平台概论.从JDK到TDE.认识对象.封装.继承与多态...看着这些似懂非懂的术语名词,心里怀着些好奇与担忧,就这样我开始走进Java的世界.  Java产生的历史 Java来自于Sun公司的一个叫Green Project中撰写的程序语言,全球信息网(World Wide Web)兴起,Java Applet成为网页互动技术的代表,特别适合于Internet应用程序开发. Java语言的特点 1.面向对象 这是Java最重要

Java学习系列(二十一)Java面向对象之注解详解

转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/45295947 一.前言 Java中的注解Annotation运用到很多方面,比如之前讲的单元测试中的@Test.Spring.SpringMVC还有其他框架等等.Java本身自带的注解也有一些,比如:@Override(子类要重写/覆写父类的对应方法).@Deprecated(表示方法不建议被使用).@SuppressWarnings(抑制警告)等等.当然,我们也可以自定义一些自己需要的

Java学习系列(二十三)Java面向对象之内部类详解

一.前言 内部类也称寄生类,就是把一个类放在类里面(即内部类的上一级程序单元是类)定义,将其作为外部类的成员.内部类主要用几种定义形式:静态(static)内部类,非静态内部类,匿名内部类(也就是没有名字的寄生类).内部类的好处就是内部类可以直接外部类的(包括私有)成员,反之不能.下面我们通过一些实例来详细讲解一下Java中内部类的使用及几种定义形式的相互调用. 二.实例说明 (1)匿名内部类:当程序创建匿名内部类时,会立即创建匿名内部类(实现类)的实例. interface IBreathe

Java学习系列(二十)Java面向对象之反射详解

转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/45289391 前言 今天讲讲Java中的反射.我们常见的反射多用于JDBC中的加载驱动程序Class.forName("com.mysql.jdbc.Driver");.Struts的MVC.Hibernate中的ORM.Spring中的IOC还有一些其他框架等等.那它有什么好处呢?它的好处就是能够动态的创建对象和编译且能够访问某个类中的所有(包括私有)属性方法及对象的属性方法

Java学习之道:Java上传下载excel、解析Excel、生成Excel的问题

在软件开发过程中难免需要批量上传与下载,生成报表保存也是常有之事,最近集团门户开发用到了Excel模版下载,Excel生成,圆满完成,对这一知识点进行整理,资源共享,有不足之处还望批评指正,文章结尾提供了所需jar包的下载,方便大伙使用,下面言归正传! 1.Excel的下载 1)Action中: 添加响应事件,通过getRealPath获得工程路径,与jsp中获得request.getContextPath()效果相同,fileName为要下载的文件名,经过拼接filePath是xls文件的绝对

JAVA学习笔记一(JAVA输出环境变量)

package mytest; import java.util.*;; public class mymain { public static void main(String[] args) { // TODO Auto-generated method stub System.out.print(new Date()); Properties p=System.getProperties(); p.list(System.out); Runtime rt=Runtime.getRuntim

JAVA反射系列之Field,java.lang.reflect.Field使用获取方法

JAVA反射系列之Field,java.lang.reflect.Field使用获取方法.   转载https://my.oschina.net/u/1407116/blog/209383 摘要 java.lang.reflect.Field使用 Field. 首先必须明一点 Field类主要是用来辅助获取和操作类的属性的! 1.怎么通过反射获取类的属性 先来看JDK提供的方法有如下几种: a)Class.getDeclaredField(String name);      返回一个 Fiel

JAVA学习篇--ThreadLocal,Java中特殊的线程绑定机制

在DRP项目中,我们使用了ThreadLocal来创建Connection连接,避免了一直以参数的形式将Connection向下传递(传递connection的目的是由于jdbc事务要求确保使用同一个connection连接).那么ThreadLocal是如果做到的呢?它和同步锁的不同在哪里? 是什么: 对于ThreadLocal看英文单词我们很容易理解为一个线程的本地实现,但是它并不是一个Thread,而是threadlocalvariable(线程局部变量).也许把它命名为ThreadLoc

Java学习之道:Java构造器和方法的区别

摘要 要学习Java,你必须理解构造器.因为构造器可以提供许多特殊的方法,这个对于初学者经常混淆.但是,构造器和方法又有很多重要的区别. 原作者:Robert Nielsen 原站:www.javaworld.com 我们说构造器是一种方法,就象讲澳大利亚的鸭嘴兽是一种哺育动物.(按:老外喜欢打比喻,我也就照着翻译).要理解鸭嘴兽,那么先必须理解它和其他哺育动物的区别.同样地,要理解构造器,那么就要了解构造器和方法的区别.所有学习java的人,尤其是对那些要认证考试的,理解构造器是非常重要的.下