Java是一门程序设计语言。

有三个方向:

JAVA SE (java platform standard edition):包含java核心类,如数据库、接口、网络编程。

JAVA ME(java platform micro edition):包含javase中的一部分类,还有一些其他类,用于电子产品的软件开发,如智能卡、手机、机顶盒。

JAVA EE(java platform enterprice editioin):包含javase的所以类,并且还包含用于软件开发的类,如EJB、Servlet、JSP、XML和事物控制。

语言特性:

1.简洁有效

与C++相比,省略了很多底层、难理解、易混淆的概念,如指针、头文件、运算符重载、虚拟基础类。

2.可移植性

将源码伪编译成与任何计算机体系无关的字节码,通过精心设计编译成各自系统的可执行文件,做到“一次编写,各处运行“。

3.面向对象

4.解释型

虽然不如c/c++有效率,但是做到“一次编写,各处运行“。

5.强大的网络编程和多线程能力

6.健状、防患于未然的特在

在伪编译阶段将其他语言运行阶段的错误能发现出来。

Java程序的运行机制和JVM

xx.java源码编译成中性的字节码class文件,然后在JVM中运行class文件,字节码class文件就是可执行文件,由Java解释器负责将JVM的代码在特定系统运行。

JVM是在计算机上利用硬件和软件虚拟出的计算机,所有的Java程序都在JVM中运行。

classpath属性的作用

java运行只是让JVM(java xx命令)运行xx.class文件,所以JVM需要知道class文件在哪好去加载运行。

只在java运行时起作用,编译时若不在统一目录,应该使用相对或绝对路径。

Java具有2中应用方向:

application:带有 public static void main(String[] args){}

applet:java应用小程序,已基本废弃

public class 与 class:

public class:必须跟源文件名相同,否则无法编译。一个源文件只能有一个public class类。

class:可以与源文件名相同,也可不同。要单独运行该类必须具有 public static void main(String[] args){}方法,且直接执行该字节码文件 java xx。(因为编译器会为每一个class生成一个字节码文件,而JVM执行只需要字节码文件)

认识Java(1)的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题

    背景起因: 记起以前的另一次也是关于内存的调优分享下   有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...

  3. Elasticsearch之java的基本操作一

    摘要   接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...

  4. 论:开发者信仰之“天下IT是一家“(Java .NET篇)

    比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...

  5. 故障重现, JAVA进程内存不够时突然挂掉模拟

    背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...

  6. 死磕内存篇 --- JAVA进程和linux内存间的大小关系

    运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...

  7. 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用

    有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...

  8. Java多线程基础学习(二)

    9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...

  9. Java多线程基础学习(一)

    1. 创建线程    1.1 通过构造函数:public Thread(Runnable target, String name){}  或:public Thread(Runnable target ...

  10. c#与java的区别

    经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...

随机推荐

  1. VS的使用插件

    1.  插件安装: 1)  productivity power tools:代码查看优化插件: 2)  Visaul Studio Color Theme Editor 主题修改插件: 3)  VS ...

  2. MySQL:表的操作 知识点难点总结:表完整性约束及其他常用知识点二次总结🙄

    表操作 一 : 修改表表表表表表表表表: ALTER TABLE 语法 1. 改表名rename alter table 表名 rename 新表名 2. 增加字段add alter table 表名 ...

  3. idea创建Maven多模块项目

    最近几天学习到了创建多模块项目,应为自己使用的是Idea,所以想用idea创建多模块,查阅了相关资料后,自己做一个记录. 一.首先创建一个maven项目 Parent Project,创建xxx-ro ...

  4. 使用ui-route实现多层嵌套路由

    一.预期实现效果: https://liyuan-meng.github.io/uiRouter-app/index.html (项目地址:https://github.com/liyuan-meng ...

  5. 【01背包】洛谷P1282多米诺骨牌

    题目描述 多米诺骨牌有上下2个方块组成,每个方块中有1~6个点.现有排成行的 上方块中点数之和记为S1,下方块中点数之和记为S2,它们的差为|S1-S2|.例如在图8-1中,S1=6+1+1+1=9, ...

  6. 简易 (I/O)版本通讯录

    #include <stdio.h> #include<assert.h> //#include<malloc.h> #include<string.h> ...

  7. .NET Core:使用ImageSharp跨平台处理图像

    一.简述 ImageSharp是一个新的跨平台2D图形API,旨在处理图像而不使用System.Drawing. 二.安装 目前ImageSharp还是处于alpha版本,所以我们需要在nuget中添 ...

  8. Centos搭建Docker环境

    安装Docker 安装Docker Docker 软件包已经包括在默认的 CentOS-Extras 软件源里.因此想要安装 docker,只需要运行下面的 yum 命令: yum install d ...

  9. 12、ABPZero系列教程之拼多多卖家工具 拼团提醒功能登录拼多多实现

    上篇文章已经完成了整个拼多多拼团提醒功能,本篇继续完成拼多多帐号登录,拼多多帐号登录的目的是为了获取拼团商品的SKU和订单号,便于商家备货. 以下是拼多多官方的后台登录,要实现的功能并不是直接在这里登 ...

  10. burpsuite截断上传webshell

    1.先设置好代理127.0.0.1 8080 2.开启截断模式 3.上传文件会被burp截断 4.在hex下找到你上传的webshell的16进制编码 5.把.后面的源码改为00 点击forward上 ...