3W其实就是三问:what,where,how;
1.what:界定问题,搞清楚问题到底是什么;
2.why:分析问题,结构化分析问题的本质原因是什么;
3.how:解决问题,应用目标导向思维解决问题;
3W法—what,why,how的运用_whatday的专栏-CSDN博客_whyhowwhat三原则
拆书:3W法—what,why,how的运用
Java基础课程:
语法结构 面向对象核心
工具类 集合 异常
线程 I/O 反射 注解历史背景
创始人说起1955年
60多年前,寒冷的冬天,加拿大,小村庄里
男孩儿 呱呱坠地 James 计算机语言的天才James-Gosling 詹姆斯-高斯林 高司令
鼓捣 拆卸 重组 拆卸 不断钻研
12岁的时候,报废电话和电视机,拆开 零件 组装--->电子游戏机
收割机坏了 找小孩儿来修
14岁的时候,中学组织的活动---->大学参观
大学计算机中心 密码记住了
偷偷的流进计算机中心 自己学习编程
1年后 15岁 大学天文系 编写一套系统 分析卫星 天文数据
招聘James作为临时编程员
80年代初期 James获得博士学位
IBM公司
设计IBM公司第一代工作站
项目不被高层领导看好 跳槽SUN公司
Stanford University Network SUN Microsystems
SUN非常注重人才 对于技术的使用
项目没有成为流行产品
成立小的研发团队 试图预测未来的软件技术发展趋势
James Gosling成为项目负责人 C++
Green项目 智能家居 不能跨平台(各种不同公司规格的芯片)
不如开发一套全新的语言规范
沿用了很多C++语法结构
起一个名字 窗外一棵大树 橡树OaK
OaK 摒弃了很多不好的东西 过于庞大 不能跨平台
1992年夏天
Oak语言进行展示 硬件生产商
并不买账 暂且搁置时机 硅谷 全球性的IT盛会
1995年想要去参会 并且发布OaK全新的语法规范
OaK被注册了
JAVA
印度尼西亚 爪哇岛 Java 咖啡豆 猫屎咖啡 麝香猫
1995.5.23
SUN公司 正式发布了Java语言
1996年1月 开发工具包JDK1.0
1997年2月 JDK1.1版本问世
1998年12月 JavaEE企业版
1999年6月
Java第二代平台JDK1.2 细化了三个不同的小版本(不同方向)
(J2SE)Java2 Standard Edition Java第二代平台标准版 桌面级 C/S
(J2EE)Java2 Enterprise Edition Java第二代平台企业版 企业级 B/S
(J2ME)Java2 Micro Edition Java第二代平台微型版 移动端
2000--2002
JDK1.3 JDK1.4
大幅度提升了Java性能
2004年5月
JDK1.5版本发布 很多新的特性 Java5
2005年6月
Java6 最经典的版本 留存最久的版本
2009年
Oracle 并购 74亿$
Java易主
2011年 Oracle Java7
2014年 Java8
2017年 Java9Java语言的特点
*1.跨平台性 平台(不同厂商的芯片) 平台(不同版本的操作系统)
*2.面向对象
3.简单性 省去了C++多继承,指针等等
4.健壮性(鲁棒性) 垃圾回收机制 异常处理机制
5.多线程性 并行操作 提高执行性能 线程安全
6.大数据开发
简写:”
1.Java语言的创始人 James-Gosling 2.Java语言的公司 SUN Standford University Network--->SUN Microsystems 3.Java语言的几个重大事件 1995 正式发布 1996 正式发布了可以下载的JDK工具包 JDK1.0 1999 发布第二代Java平台 简称Java2 细化三个不同的版本 标准版 Standard Edition J2SE 企业版 Enterprise Edition J2EE 微型版 Micro Edition J2ME 2004 JDK1.5版本 添加很多新的特性 Java5 2005 Java6版本 2009 Oracle公司 74亿$ 收购了SUN 4.Java语言的特点 *跨平台性 平台(操作系统) 面向对象 简单性 多继承 指针。。。 健壮性(鲁棒性) 垃圾回收 异常处理 多线程 大数据开发相关 中国人(中文)Java 翻译(中日) 翻译(中英) 翻译(中印)-------->JVM虚拟机 日本(日语) 美国(美式英文) NHL冰球 印度尼西亚(印尼) Windows Linux MacOS JVM Java Virtual Machine虚拟机 内存中开辟一块空间 源文件 编译 字节码 Java计算机高级编程语言 程序存储在哪里?-----程序就是英文----存储在一个地方(文件) 我们写完的程序--计算机不认识--编译 我们写好的源文件编译成计算机识别的字节码文件 最终有两个文件 源文件 字节码文件 两个文件存在哪?--硬盘上 计算机的硬件组成 内存(条形 8G 芯片 寻址 临时执行使用) 硬盘(矩形 1T 机械 扇区 永久性保存) 硬盘上的文件 不同的格式 后缀名区分不同的格式 .txt .doc .ppt .xls .mp4 .mp3 .rar .exe 运行环境支持 源文件.java(文本文档打开) 字节码.class JRE Java Runtime Environment 运行环境 运行别人写好的java程序 JDK Java Development Kit 开发工具包 开发时需要用到的工具 javac.exe 编译工具 java.exe 执行工具 底层doc命令窗口中看到效果 想要做Java开发 需要搭建环境(我们的电脑中安装JDK) 需要JDK安装程序??? 官方网站下载 Oracle公司的产品 www.oracle.com 安装JDK 卸载
JVM和Java跨平台特性
跨平台机制
JVM (Java Virtual Machine) 虚拟机
源代码文件.java 编译 字节码文件.classJVM是一种规范。就是一个虚拟的用于执行bytecodes字节码的计算机。
Java虚拟机是Java最核心技术,也是跨平台的基础。
JRE Java Runtime Environment 运行环境
运行别人写好的程序
JDK Java Development Kit 开发工具
很多开发使用到的工具
javac.exe编译工具
java.exe执行工具IBM, SUN, BEA等。自己也可以 写一个JVM 除非你编程技术很厉害 可以使用硬件来实现 比如sun/intel公司正在研发的Java 芯片 通过“编译器”将Java源程序编译成Java 字节码文件(.class) (字节码文件采用结构中立的中间文件格式) 通过“解释器”将Java字节码文件解释为对应机器语言并运行搭建环境(JDK)
1.下载一个安装程序 官方网站 www.oracle.com
需要注意版本与自己电脑的系统匹配
WindowsX64 MacOSx64
2.按照安装程序向导的提示
JDK安装中间产生一个安装JRE
C:Program FilesJavajdk1.8.0_201
bin文件夹 全都是工具
include文件夹 包含了其他语言写的程序 native修饰符
jre文件夹 包含运行环境
lib文件夹 包含了人家写好的所有Java类
src.zip压缩文件 源代码
Java和C跨平台原理的比较1.如何编写一段Java源代码
源代码---->一堆英文(按照某种规则来写)
以文件形式存储在计算机的硬盘上的
源代码 以后缀名.java结尾的
文件打开里面的内容是一堆按照规律写的英文
先写一个关键字class----->表示类的意思
类后面给他起一个名字--->理论上是可以随便写的
命名规则和规约
规则 名字中可以含有如下的信息
字母(区分大小写 敏感 52个)
数字(0-9 可以用 不能用作开头)
符号(英文 _ $)
中文(强烈不推荐---当做不行)
规约 类名字 首字母大写TestOne 如果两个以上的单词 每个单词的首字母都大写
起名字要见名知义 建议大家尽量使用英文单词
2.利用JDK包中提供的工具 代码的编译及执行常用Java开发工具 文本编辑器(选择任意一个) UltraEdit EditPlus notepad++ 适合前期学习使用 扎牢基础 训练 集成开发环境(IDE:Integrated Development Environment) Eclipse (http://www.eclipse.org) 解压即可(重点) MyEclipse:若进行J2EE开发,还要加MyEclipse插件。 MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境。 现在直接安装集成Eclipse的MyEclipse即可。商业软件 IntelliJ IDEA:目前最火C:Program FilesJavajdk1.8.0_201bin
路径下存在一个javac.exe编译工具
遇到了两个问题
1.编译工具双击是黑色对话框 一闪而过
编译工具是在doc命令窗口中才能使用
窗口键+R 输入cmd指令
开启一个doc命令行窗口
想要切换盘符 盘符名:回车 盘符名字是不区分大小写
想要进入/退出文件夹 使用cd命令
cd 文件夹名 cd..退出一层文件夹
2.想要利用编译工具去编译我写好的Java源文件
源文件所在的路径与编译工具不在一起
将这个工具放置在电脑中的某一个位置
这个位置是当前电脑所有目录都可以共同访问到的位置
以后就不用纠结工具在哪儿啦
相当于是搭建环境的一个补充 安装JDK 配置环境变量
我的电脑(右键)---属性---高级系统设置---环境变量
当前用户的变量(上半部分)
变量名Path
两个问题都解决掉了
可以利用javac工具进行编译常用的DOS命令(文件夹/目录操作命令) dir directory 查看当前目录下的文件和子文件夹 cd change directory 改变当前文件夹 md make directory 创建当前文件夹 rd remove directory 删除当前文件夹 删除空目录 cls clear screen 清除屏幕 type 文件名.扩展名 put 上传文件到远程服务器。 copy 拷贝文件 空格+从参数1到参数2 move 剪切 空格+两个参数 ren 文件的重命名 空格 名字 ren+空格 +1.txt+2.txt format 初始化 电脑 不建议使用 Aeit 新建或编辑 delete 删除文件及里面文档文件 nelp 帮助文档 切换盘符 d: c: e: Tab键 帮助自动完成文件名或者文件夹 上下箭头键 显示之前或者之后的命令DOS命令_DOS命令大全_常用DOS命令-太平洋IT百科
Win10 CMD命令大全与超好用的快捷键__Charge的博客-CSDN博客_cmd指令大全指令
详细的介绍上面的DOS命令 : https://www.jb51.net/article/87401.htm
Java语言:一次编译,到处运行
C语言:多次编译,到处运行
第一个java程序中的几个点:
1、public static void main(String[] args)是所有java应用程序的入口
2、main方法中的参数String[] args有几种写法:String [] args,String args[]
3、main方法中的参数args是什么,只要是合法的标识符就可以,一般我们都起名为args
4、System.out.println向控制台输出信息
5、编写java代码的时候,每一句都是以;结尾的
6、java代码块中的{},[].()都是成对出现的
java中的注释有三种:
1、// 单行注释
2、
3、
1.配置环境变量 Path 让工具可以在任何的位置都可以用 *classPath 不管源文件在哪儿 生成的class文件都统一的存储在配置的目录下 自己写了一个源代码文件Test.java 利用工具进行编译--->字节码文件 Demo.class (新的文件存储在哪儿?) *JAVA_HOME 目的是为了让路径的写法变得简单(相对路径的写法) JAVA_HOME C://program files/java/jdk path %JAVA_HOME%/bin 2.创建源文件的时候产生的问题 注意电脑设置的问题 是否有隐藏后缀名的情况 3.源文件和生成的字节码文件名字不一致 Test.java Demo.classHTTP和HTTPS协议的区别:
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。
为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
一、HTTP和HTTPS的基本概念
HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。
二、HTTP与HTTPS有什么区别?
HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
HTTPS和HTTP的区别主要如下:
1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
转自:
注释
作用
注释就是程序员为读者作的说明,是提高程序可读性的一种手段
类型
// 单行注释 注释内容从//到本行结尾
多行注释 注释不能嵌套
文档注释 可以通过JDK提供的Javadoc命令,生成程序的
API文档(面向对象编程时再讲)
注意:
注释不会出现在字节码文件中。
即Java编译器编译时会跳过注释语句。
反编译工具
编译
源代码----->class
反编译
class---->源代码
反编译软件
jd-gui.exe
软件提取
链接:https://pan.baidu.com/s/1O1e0cDB7PJVKxuJJorwkaw
提取码:zt23
因为编译的时候不会对注释进行处理,所以反编译时不可能得到注释



