Java StuNote 1
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的更多相关文章
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题
背景起因: 记起以前的另一次也是关于内存的调优分享下 有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...
- Elasticsearch之java的基本操作一
摘要 接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...
- 论:开发者信仰之“天下IT是一家“(Java .NET篇)
比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...
- 故障重现, JAVA进程内存不够时突然挂掉模拟
背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...
- 死磕内存篇 --- JAVA进程和linux内存间的大小关系
运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...
- 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用
有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...
- Java多线程基础学习(二)
9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...
- Java多线程基础学习(一)
1. 创建线程 1.1 通过构造函数:public Thread(Runnable target, String name){} 或:public Thread(Runnable target ...
随机推荐
- 【AS3 Coder】任务四:噪音的魅力(上)
使用框架:AS3任务描述:使用AS3中BitmapData的noise方法以及perlinNoise方法构建自然景观效果以及其他一些比较cool的效果难度系数:2 本文章源码下载:www.iamsev ...
- git fetch 的简单用法:更新远程代码到本地仓库及冲突处理
Git中从远程的分支获取最新的版本到本地方式如下,如何更新下载到代码到本地,请参阅ice的博客基于Github参与eoe的开源项目指南方式一1. 查看远程仓库 1 2 3 4 5 6 $ git re ...
- 手写一个死锁Demo
相互持有对方锁,导致死锁 package jesse.test04; public class DeadLockSample extends Thread{ private String first; ...
- 【LeetCode】Find Minimum in Rotated Sorted Array 解题报告
今天看到LeetCode OJ题目下方多了"Show Tags"功能.我觉着挺好,方便刚開始学习的人分类练习.同一时候也是解题时的思路提示. [题目] Suppose a sort ...
- SQL Server 2016 Community Technology Preview 3.3
https://www.microsoft.com/en-us/evalcenter/evaluate-sql-server-2016 SQL Server 2016 Community Techno ...
- React Router V4发布
React Router V4 正式版发布,该版本相较于前面三个版本有根本性变化,遵循 Just Component 的 API 设计理念. 本次升级的主要变更有: 声明式 Declarative 可 ...
- javascript中按位操作的应用,如何快速取整 判断字符串是否是包含某字符串
最近在看最基础的<javascript高级程序设计>看的灰常慢,看到按位运算这里,突然反思,这种鬼操作到底有什么实际的应用呢? 按位运算符有6个 & 按位与:a & b | ...
- Android自己定义button实现长按功能
Android自己定义button实现长按功能 通过自己定义BUTTON,写一个LongTouchBtn类,在按下的时候运行onTouchEvent事件,通过这个事件使用回调函数来实现长按功能! XM ...
- <转>windows下编译lua源码
因为之前一直使用 lua for windows 来搭建lua的使用环境,但是最新的 lua for windows 还没有lua5.2,我又想用这个版本的lua,所以被逼无奈只能自己编一下lua源码 ...
- 递归函数, 匿名函数, yield from
递归函数 函数执行流程 http://pythontutor.com/visualize.html#mode=edit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 ...