【114天】尚学堂高琪JAVA300篇视频精华笔记(1-6)
【114天】尚学堂高琪JAVA300篇视频笔记(1-6)
第1集
学啥语言都行,大同小异。
踏实学,最快闭关四个月能找到工作。【这是我自个知乎上看的】
第2集:计算机语言发展史、java核心优势、java三大版本的区别
Java相关背景知识
计算机基于冯诺曼体系
计算机三代语言
机器语言
汇编语言
高级语言
面向过程(C)
面向对象(C++、JAVA、C#)
C语言是现代语言鼻祖
C++是在C语言基础上设计的面向对象语言
Java可被称为C++-
Object-C是IOS和Mac开发中的主流语言
C#是微软山寨的JAVA,但由于与Windows绑定,失去了Java的跨平台优势。
Java的特性
简单性
面向对象
可移植性(跨平台性)【核心优势】
>一次编写,随处运行,对不同平台兼容性的处理由JVM处理,我们只需要专注于Java源文件的开发。
高性能
分布式
动态性
多线程
安全性
健壮性
Java三大版本
J2SE(JAVASE、Java 2 Standard Edition)
>定位在个人计算机上的应用【Java基础】
J2EE(JAVAEE、Java 2 Enterprise Edition)
>定位在服务器端的应用【JavaWeb、安卓使用】
J2ME(JAVAME、Java 2 Micro Edition)
>定位在消费性电子产品的应用【使用较少】
第3集:JDK和JRE和JVM的区别、JDK的下载安装、环境变量配置、测试安装成功
JDK和JRE和JVM的区别
JVM(Java Virtual Machine)
JVM是一种规范,可以使用软件来实现,也可以使用硬件来实现,就是一个虚拟的用于执行bytecodes字节码的计算机。他也定义了指令集、寄存器集、结构栈、垃圾收集堆、内存区域。
Oracle公司制定了JVM规范,方便开发者开发JVM。
JVM是指在一台计算机上由软件或硬件模拟的计算机;它类似一个小巧而高效的CPU。
byte-code代码是与平台无关的是虚拟机的机器指令。
JAVA的跨平台实现的核心是不同平台使用不同的虚拟机,不同的操作系统有不同的虚拟机。Java 虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”。
java字节代码运行的两种方式:
方式interpreter(解释)
Just-in-time(即时编译):有代码生成器将字节代码转换成本机的机器代码,然后可以以较高速度执行。
JVM负责将java字节码解释运行,边解释边运行,这样,速度就会受到一定的影响。JAVA提供了另一种解释运行的方法JIT(just in time),可以一次解释完,再运行特定平台上的机器码,高级的JIT可以只能分析热点代码,并将这些代码转成本地机器码,并将结果缓存起来,下次直接从内存中调用,这样就大大提高了执行JAVA代码的效率。这样就实现了跨平台、可移植的功能。
JRE(Java Runtime Environment)
JRE包括:Java虚拟机(JVM)、库函数、运行Java应用程序和Applet所必须文件
jre就是java运行时环境,包括了jvm和其它一些java核心api,任何一台电脑,只有安装了jre才可以运行java程序.
Java运行环境的三项主要功能:
加载代码:由class loader 完成;
校验代码:由bytecode verifier 完成;
执行代码:由 runtime interpreter完成。
若只是运行JAVA程序,只需要JRE(通常非常小)
JDK(Java Development Kit)
sdk(也就是jdk)是jre的超集,是在jre的基础上增加了编译器及其他一些开发工具。
若要开发Java程序,就需要安装JDK。
JAVA语言的应用范围
桌面应用编程
WEB客户端编程
WEB服务器编程
手机编程(J2ME或者现在的Android系统上开发应用程序)
机器人编程
JAVA开发环境的安装和配置详解(Windows)
下载JDK
安装JDK
环境变量配置
测试环境是否安装成功(cmd测试)
第4集:第一个程序HelloWorld、JAVA程序运行机制
public class HelloWorld {public static void main(String[] args) {System.out.print("Hello World!");}
}
环境变量的配置,是方便你打Java、Javac时直接执行文件
计算机的高级编程语言类型: 编译型 ,解释型. Java 语言是两种类型的结合;
第一步:编译
利用编译器(javac)将源程序编译成字节码文件,字节码文件名:源文件名.class第二步:运行
利用虚拟机(解释器,java)解释执行class字节码文件。
第5集:Helloworld深化、文本编辑器的使用、常用dos命令、注释
Helloworld深化
Java对大小写敏感。
关键字public被称作访问修饰符(access modifier),用于控制程序的其它部分对这段代码的访问级别。
关键字class 表明Java 程序中的全部内容都包含在类中,Java是一种纯面向对象的语言。
一个源文件中至多只能有一个public的类声明,其它类的个数不限,如果源文件中包含一个public 类,源文件名必须和它中定义的public的类名相同,且以“java”为扩展名。
一个源文件可以有多个class,正确编译后的源文件,会得到相应的字节码文件,编译器为每个类生成独立的字节码文件,且将字节码文件自动命名为类的名字且以“class”为扩展名。
main方法是Java应用程序的入口方法,它有固定的书写格式。
在Java中,用花括号划分程序的各个部分,任何方法的代码都必须以“{”开始,以“}”结束, 由于编译器忽略空格,所以花括号风格不受限制。
Java中每个语句必须以分号结束,回车不是语句的结束标志,所以一个语句可以跨多行。
编程风格:
注意缩进!
成对编程!
常用Java开发工具
文本编辑器
UltraEdit
EditPlus
notepad++
sublime text3
集成开发环境(IDE:Integrated Development Environment)
JBuilder (http://www.borland.com)
Eclipse (http://www.eclipse.org)【以后工作和学习的重点!】
MyEclipse【收费】
NetBeans(http://java.sun.com)
WSAD (http://www.ibm.com)
intelliJ(http://www.jetbrains.com/idea/)【至2017年公认最好用,但学习成本高,收费】
CMD常用dos命令
cd 进入一个目录
cd ..
dir
上下键:查找敲过的命令
Tab键:自动补齐命令
TERMINAL常用命令
cd【.. ~ . /】
ls
pwd
clear
history
参考资料
两种注释
单行注释//、多行注释/**/
注释不出现在字节码文件中,编译器编译时将跳过注释。
public class Five {public static void main(String[] args){System.out.print("test");//我是单行注释System.out.println("test2");/*我 *是*多*行*注*释*/ }
}
第6集:标识符、unicode和GBK及各种字符集的关系
标识符
标识符:用于类、方法、变量的命名。
类名首字母大写(Man)
方法、变量首字母小写(myCode、eat())
标识符都使用驼峰命名法。
Java标识符命名规则:
标识符必须以字母、下划线_ 、美元符$开头。
标识符其它部分可以是字母、下划线“_”、美元符“$”和数字的任意组合。
Java 标识符大小写敏感,且长度无限制。
不可以是Java的关键字。
public class test006 {public static void main(String[] args){int $abc = 3;int _abc = 3;int abc = 3;int _ = 3;int $ = 3;int a = 3;//int 3abc = 3;//错误//int #abc = 3;//错误int 尚学堂 = 3;//可以,但不推荐}
}
unicode和GBK及各种字符集的关系
JAVA不采用通常语言使用的ASCII字符集,而是采用Unicode这样的标准的国际字符集。因此,这里的字母的含义:英文、汉字等等。(不建议大家使用汉字来定义标识符!)
编码与解码时若不使用同一字符集,则会出现乱码。
UTF-8,中文3个字节表示一个汉字、西欧英文1个字节表示一个字母,阿拉伯2个字节表示一个字符。
【我的拓展】常用中文字符用utf-8编码占用3个字节(大约2万多字),但超大字符集中的更大多数汉字要占4个字节(在Unicode编码体系中,U+20000开始有5万多汉字)。GBK、GB2312收编的汉字占2个字节,严格地用iso8859-1无法表示汉字,只能转为问号。参考资料
【114天】尚学堂高琪JAVA300篇视频精华笔记(1-6)相关推荐
- 【160天】尚学堂高琪Java300集视频精华笔记(129)
明天开始,专栏增加一个黑马程序员的课程更新. 其它容器收尾讲解 队列Queue与Deque(单向队列与双向队列) Enumeration(较老的接口,JDK1.5前使用频繁,维护旧系统会用到) Has ...
- 【133天】尚学堂高淇Java300集视频精华笔记(71-72)
第71集:常用类/file类/打印目录树状结构/递归算法 课堂代码 package com.test071;import java.io.File;public class Test071 {publ ...
- 【138天】尚学堂高淇Java300集视频精华笔记(84)
第84集:太阳系模型/基本类的封装/Star类的建立 本集知识点 将对象尽可能的抽象,可以有效减少代码量,比如此例中的Star类 package com.test084_087_solar;impor ...
- 【135天】尚学堂高淇Java300集视频精华笔记(74-76)
第74-75集:异常机制.trycatchfinallyreturn执行顺序.捕获异常.声明异常throw.方法重写中异常的处理.手动抛出异常 异常的处理办法一:捕获异常 try try语句指定了一段 ...
- 【131天】尚学堂高淇Java300集视频精华笔记(65-66)
第65集:常用类Date类的使用JDk源码分析 Date时间类(java.util.Date) 在标准Java类库中包含一个Date类.它的对象表示一个特定的瞬间,精确到毫秒. Date()分配一个D ...
- 【147天】尚学堂高淇Java300集视频精华笔记(108-109)
第108集:容器equals和hashcodeJDK源代码分析 本集知识点 Java中规定,若两个对象equals比较后内容相等(为true),则hashCode必须相等,反之不然.[原因见内存分析图 ...
- 【153天】尚学堂高淇Java300集视频精华笔记(122-123)
叨叨两句(2017.7.8) 我现在发现我太适合当程序员了,稍微懂点知识后想法就一堆一堆的,哈哈. 今天敲下面这个冒泡排序时感觉太特么好了.原来学编程最快乐的事情就是懂了一些知识后,把它变成可以在电脑 ...
- 尚学堂 高琪JAVA300集第十一章作业 编程题答案
本人 JAVA初学者 在寻找这一方面的答案时没有看见 ,本着分享的精神 自己做了出来 也就传上来了 水平有限 存在有错的地方或者改进的方法 ,望大佬们可以提出 万分感谢. 1.1. 设计一个多线程的程 ...
- DAY12:尚学堂高琪JAVA(119~123)Hashmap 与冒泡排序
Hashmap 与冒泡排序 map,set,list的区别 添加链接描述 添加链接描述 添加链接描述 MyArrayList.java package fanxing; import java.uti ...
- 尚学堂lucene项目精讲视频共17讲
尚学堂lucene项目精讲视频共17讲+文档+源码 超清 课程内容: ucene是一个java的搜索引擎,本套视频为无声版本,是尚学堂的新项目,已经包含了源码+设计开发文档. 001_myec ...
最新文章
- 前端跨域请求get_HTTP--跨域真的有这么难吗
- TypeScript之Https通信
- linux关于禁用硬件xinput使用
- 【Deep Learning】Tensorflow实现线性回归
- 3.5 梯度校验-机器学习笔记-斯坦福吴恩达教授
- java编译的语句_在Java语言中,下列语句能通过编译的是()。
- AOP 代理(AOP Proxy)
- target tile component.js load logic
- PHP web应用的调试
- 计算机启动和linux启动
- Tunnelling HTTP Traffic Through XSS Channels.pdf
- 操作系统(3) 多处理器编程:从入门到放弃
- JS:ES6-8 Promise入门
- java程序中默认包含的是_在编写 Java 程序时,如果不为类的成员变量定义初始值, Java 会给出它们的默认值,下列说法中不正确的一个是( )。...
- 物联网测试正面临四大难关
- 算法4中数学模型练习题分析
- 解除封闭、寒假延长!多校发通知
- 为什么打开wps文字背景是绿色的?怎么变成白色的呢?
- AddHeader使用方法
- python 数据分析师 考试_数据分析师证书怎么考?