1. JAVA语言历史

无心插柳柳成荫,有心栽花花不开。

JAVA由SUN Microsystem公司研发。

2. JAVA语言特点

a) 跨平台。一次编译。到处执行。

b) 速度慢。但非常稳定, 没有内存泄漏 (memory leakage),不easy出现错误。

c) 不适合对速度要求高的图形界面操作, 适合服务端应用。

C/S (Client/Server) -> B/S (Browser/Server)

3. JAVA编程一般运行流程

a) 编制JAVA源码文件 (*.java)

该文件为文本文件.

b) 编译

*.java -> *.class  (bytecode, 字节码, 其不是真正的X86机器语言。)

window平台下的JAVA编译器(compiler)是javac.exe.

c) 在JAVA虚拟机(JVM)中运行

(window平台下的JAVA虚拟机是java.exe)

争对详细的硬件CPU而言。字节码不是机器语言。

争对JVM而言。字节码就是其机器语言。

4. 理解JVM,理解跨平台

JVM: Java Virtual Machine

1) JVM像一个翻译,其把JAVA字节码实时翻译成相应硬件CPU的机器语言,由于有这么一个翻译的开销,所以JAVA执行速度较慢。

2) 一个JVM仅仅知晓一门硬件语言。所以不同的平台(CPU不同)将须要安装不同的JVM.

3) 由于JVM机制的存在。JAVA能够跨平台, JAVA的跨平台是建立在JVM不跨平台的基础上的。

4) 由于依靠JVM机制,JAVA执行速度慢。但稳定安全。

5. 了解JRE和JDK

JRE:  JAVA执行环境 (Java Runtime Environment)

由JVM加上一些执行类库(jar包)构成。

Jar: java archive (java类压缩包, 非常多非常多java类被压缩在一起而得到的.)

JDK:  JAVA开发人员套件(Java Development Kit)

由JRE,JAVA编译器,演示样例代码等构成。

假设仅仅是须要执行JAVA字节码文件,则仅仅须要JRE, 但假设你是JAVA程序猿。你则须要安装JDK.

6. 基本JAVA程序结构

a)  JAVA是纯面向对象编程的语言,处处都是class.

b)  JAVA的类名必须大写,符合驼峰命名法

c)  JAVA的类名与其所在的文件名称同样, 最好一个java文件一个类

d)  可运行的JAVA类有一main()方法作为入口点。

e)  JAVA变量名和方法名首字母小写,其它部分继续按驼峰命名法处理.

7. JAVA IDE

IDE=Integrated Development Environment

代码:

新建project:file — new —java project (新建javaproject) new —class

输出/cout = System.out.print() ; //若是println则表示换行

输入: Scaaner scanner = new Scanner (System.in) ; //扫描所输入的

int Num = scanner.nextInt();// 从终端输入的数字

bool型在java 写作boolean

java特色:一个大class里面非常多个函数,面向对象

若想在public static void main(String[] args) 里面调用别的函数,比如调用isPrim(),能够在外界将isPrim声明为static

就可直接 System.out.print(isPrim(num));

java包的概念:相对于命名空间。即namespace

之前学习C+对命名空间的理解是,公司里做项目时候,不同的人书写不同板块,命名空间相当于他们各自的塑料袋。把他们写的函数声明的所以变量写的内容 全放进塑料袋,取有可区分性的命名空间名字,可避免与他人反复,比如函数名同样,怎么推断调用的是哪个函数,通过命名空间这个问题就可迎刃而解。

java里面非常多包。包里有非常多class,class里面有非常多函数。能够在编程时候直接调用

数组:

存在越界情况,会报错

声明方法和曾经有所不同

Java StuNote 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 ...

随机推荐

  1. springboot集成mybatis-generator

    首先上下成功后的效果: 配置非常简单,我们是通过maven插件来进行的,一共只需要3步: 第一步添加mysql依赖和mysql的maven插件: 由于是非常简单的spring+mysql的原始项目,我 ...

  2. 伟大的UHD编解码器的辩论:谷歌VP9与HEVC / H.265

    伟大的UHD编解码器的辩论:谷歌VP9与HEVC / H.265 截至今天,伟大的UHD编解码器的争论涉及两个主要参与者:谷歌VP9和HEVC / H.265. 哪一个获得成功并where-invol ...

  3. Java 9的14个新特性总结

    Java 9 包含了丰富的特性集.虽然Java 9没有新的语言概念,但是有开发者感兴趣的新的API和诊断命令. 我们将快速的,着重的浏览其中的几个新特性:  模块化系统–Jigsaw 项目 模块化是一 ...

  4. ASP.NET MVC之单元测试分分钟的事

    一.为什么要进行单元测试? 大部分开发者都有个习惯(包括本人在内),常常不喜欢去做单元测试.因为我们对自己写的程序总是盲目自信,或者存在侥幸心理每次运行通过后就直接扔给测试组的妹子们了.结果妹子一测, ...

  5. 让C#可以像Javascript一样操作Json DynamicJson

    http://blog.csdn.net/lisenyang/article/details/52535314

  6. grid 布局 等比例

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  7. PHP怎么实现站点保存快捷方式

    PHP怎么实现站点保存快捷方式 <?php $Shortcut = "[InternetShortcut] URL=http://blog.csdn.net/phpfenghuo/ I ...

  8. Spring AOP 面向切面编程相关注解

    Aspect Oriented Programming 面向切面编程   在Spring中使用这些面向切面相关的注解可以结合使用aspectJ,aspectJ是专门搞动态代理技术的,所以比较专业.   ...

  9. jQuery OCUpload ——> 一键上传插件

    OCUpload为jQuery的插件(One Click Upload),意思为一键上传,封装了对于文件上传的一些方法,只需几行代码,文件上传优雅而简洁.      对于传统的文件上传,只是通过inp ...

  10. 使用Nginx的proxy_cache缓存功能取代Squid(转)

    Nginx从0.7.48版本开始,支持了类似Squid的缓存功能.这个缓存是把URL及相关组合当作Key,用md5编码哈希后保存在硬盘上,所以它可以支持任意URL链接,同时也支持404/301/302 ...