攻城狮的 day01

作为准大四狗,本小仙女不能再飘飘然了,想到如果以后能够月入五位数,现在就得加紧步伐,紧追慢赶大神的步伐,这不,今天刚制定了计划,就开始实施了,每天刷题,夯实基础,与君共勉~

Java基础

一. Java概述
众所周知Java是一门编程语言,很多软件都可以用Java来编写,例如:QQ、迅雷、淘宝、京东等等。那我们将来从事Java开发工程师工作到底要编写什么类型的软件呢?答案是:互联网:电商、P2P等等; 企业级应用:ERP(企业资源计划)、CRM(客户关系管理)、BOS、OA等等。

二.常用DOS命令
编写源文件后就需要开始编译操作了,但在Windows操作系统中编译、运行都需要了解常用DOS命令,所以下面我们来学习一下常用DOS命令(DOS命令是Windows操作系统包含的知识)。DOS命令是在DOS控制台中使用的命令,弹出DOS控制台的方法是:win+R,然后输出cmd.

DOS命令有很多,我们不需要学习所有DOS命令,只需要学习我们Java中要用到的常用DOS命令,内容如下:
 清屏:cls;当DOS控制台内容过多时,可以使用清屏命令,等同与“擦黑板”;

例如:C:\ >cls,然后按回车键。

 切换盘符::;默认情况下我们是在C盘中,如果想去其他盘符可以使用该命令;

例如:C:\ >E:,然后按回车键就到了E盘下。

 进入指定目录:cd;当我们想进入某个目录时可以使用该命令;

例如:D:\>cd develop,这样就进入了D:\develop目录,当然你需要保证这个目录是存在的;

 返回上一级目录:cd..;当你需要返回到上一级目录时可以使用该命令;

例如:D:\develop\Java>cd..,然后按回车,就会返回到D:\develop目录下。

 返回盘符根目录:cd\; 当需要返回到当前盘符根目录下可以使用该命令;

例如:D:\develop\Java>cd\,然后按回车,这样就返回到D:/目录下了。

 显示当前目录下的文件和子目录信息:dir;当需要查看当前目录下所有文件和子目录信息时可以使用该命令;运行应用程序:程序完整名称 参数,当需要运行某个应用程序时可以使用该命令;

例如要运行记事本程序时:D:\>C:\windows\notepad.exe,这样就打开了记事本程序,这与你到C:\windows目录下双击该程序图标的效果相同,因为该程序支持双击运行;
还可以省略“.exe”后缀,例如:D:\>C:\windows\notepad,效果同上;

三. Java开发环境
1.在开始学习Java编程之前,我们首先需要安装Java开发环境(JDK:Java开发工具包 Java Development Kit)。
2.如何校验JDK安装是否成功的方法。
1)在键盘上按:WIN+R键,这时会弹出运行窗口;
2)在运行窗口中输入:CMD,按“确定”按钮,这时会弹出DOS窗口;
3)在DOS窗口中输入:JDK安装路径\bin\java.exe。
3.JDK与JRE
在安装的过程中各位可能注意到了JRE这个名词,下面我们来聊聊JDK和JRE的关系和区别。
 JDK:它是Java开发运行环境,在程序员的电脑上当然要安装JDK;
 JRE:Java Runtime Environment它是Java运行环境,如果你不需要开发只需要运行Java程序,那么你可以安装JRE。例如程序员开发出的程序最终卖给了用户,用户不用开发,只需要运行程序,所以用户在电脑上安装JRE即可。
 JDK包含了JRE。
4.编译源代码文件
编译操作需要使用编译器来完成,在安装JDK时已经安装了编译器,它属于JDK的一部分。可以到JDK目录下的bin目录下找到它,它的名称为:javac.exe。

注意,javac.exe并不支持双击运行,所以必须使用DOS命令来运行它。
下面我们来介绍一下使用编译器来编译Java源文件的格式:
格式:编译器程序完整名称 源文件完整名称

让我们来分析一下:
 我的JDK安装在D:\develop\Java\jdk1.7.0_72目录,那么编译器完整名称为:D:\develop\Java\jdk1.7.0_72\bin\javac.exe;
 我的源文件存放在:D:\java\HelloWorld.java;
 编译命令为:D:\develop\Java\jdk1.7.0_72\bin\javac.exe D:\java\HelloWorld.java。
编译之后会在源文件同目录下生成字节码文件,字节码文件的扩展名为.class。
5.运行字节码文件
运行字节码文件需要使用java.exe命令,它与javac.exe在同一目录下。与javac.exe相同,java.exe也不支持双击运行,所以也必须要使用DOS命令来运行。运行字节码文件与编译有点区别:
1) 进行字节码文件所在目录:即进入D:\java目录;
2) D:\develop\Java\jdk1.7.0_72\bin\java.exe HelloWord;
注意,在运行HelloWorld.class文件时不能给出“.class”,切记!!!

6.简化编译和运行操作

我们发现每次程序编译与运行都要输入D:\develop\Java\jdk1.7.0_72\bin后,才能使用javac.exe与java.exe,这样的方式很麻烦,那么,能否不输入D:\develop\Java\jdk1.7.0_72\bin呢?是可以的,通过配置Windows的PATH环境变量来完成。
PATH变量中保存着多个路径,当我们在DOS控制台中使用的程序只给出程序名称,而没有给出完整路径时,那么Windows系统会到PATH变量保存的路径中去查找程序。我们如果把“D:\develop\Java\jdk1.7.0_72\bin”路径保存到PATH变量中,那么在我们使用javac或java时,Windows系统就会自动到“D:\develop\Java\jdk1.7.0_72\bin”路径下查找javac和java了。
 配置步骤:
鼠标右键点击计算机 → 属性 → 高级系统设置 → 点击环境变量 → 找到系统变量中的PATH → 点击编辑按钮。
将JDK安装目录\bin路径(我的电脑上的:\develop\Java\jdk1.7.0_72\bin)配置到PATH变量中,用英文分号与其他变量隔开。
注意:配置PATH后文件的访问顺序:先访问当前路径,如果当前路径没有该文件,则再访问PATH配置的路径。
接下来我们测试一下:
 把原有的HelloWorld.class删除;
 进入HelloWorld.java所在目录:
 切换盘符到E盘:C:/>D:;
 进入java目录:D:/>cd java;
 编译:D:/java/>javac HelloWorld.java;
 运行:D:/java/>java HelloWorld;
四.基本语法
1. 注释
 Java的三种注释写法
 // 单行
 /**/ 多行
 /*/ 文档注释
2. 关键字
 定义
 被Java定义好的,赋予特殊含义单词
 全部采用小写字母
 class public static void true false
3.标识符
 自定义的内容,类名,方法名,变量名
 包含字母大小写,数字,下划线和美元符,不能数字开头
 不允许是关键字
4.数据类型和常量
基本数据类型
 整数 0 1 2
 浮点 0.1 1.0 2.2
 布尔 true false
 字符 ‘a’
 字符串常量 “” 任意长度

日常刷一刷

1.static有什么用途?
1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。

2.引用与指针有什么区别?
1) 引用必须被初始化,指针不必。(引用是对象的别名)
2) 引用初始化以后不能被改变所指对象,只能改变其值,指针可以改变所指的对象。
3) 不存在指向空值的引用,但是存在指向空值的指针。

3.全局变量和局部变量在内存中是否有区别?
1)全局变量储存在静态数据库,局部变量在堆栈。

4.什么是平衡二叉树?
1)它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。

5.堆栈溢出一般是由没有回收垃圾资源导致的.

6. constructor函数不能声明为虚函数。

7.冒泡排序算法的时间复杂度是O(n^2)。

8.Internet采用Tcp/Ip协议,主要层次结构为: 应用层/传输层/网络层/数据链路层/物理层。

9.Internet物理地址和IP地址转换采用ARP (Address Resolution Protocol)(地址解析协议)

10.TCP传输的三次握手四次挥手策略
为了准确无误地把数据送达目标处, TCP 协议采用了三次握手策略。用TCP协议把数据包送出去后, TCP 不会对传送 后的情况置之不理,它一定会向对方确认是否成功送达。握手过程中使用了TCP的标志: SYN 和 ACK 。

发送端首先发送一个带 SYN 标志的数据包给对方。接收端收到后,回传一个带有 SYN/ACK 标志的数据包以示传达确认信息。 最后,发送端再回传一个带 ACK 标志的数据包,代表“握手”结束。 若在握手过程中某个阶段莫名中断, TCP 协议会再次以相同的顺序发送相同的数据包。

断开一个TCP连接则需要“四次握手”:

第一次挥手:主动关闭方发送一个 FIN ,用来关闭主动方到被动关闭方的数据传送,也就是主动关闭方告诉被动关闭方:我已经不 会再给你发数据了(当然,在fin包之前发送出去的数据,如果没有收到对应的ack确认报文,主动关闭方依然会重发这些数据),但是,此时主动关闭方还可 以接受数据。

第二次挥手:被动关闭方收到 FIN 包后,发送一个 ACK 给对方,确认序号为收到序号 +1 (与 SYN 相同,一个 FIN 占用一个序号)。

第三次挥手:被动关闭方发送一个 FIN ,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,我的数据也发送完了,不会再给你发数据了。

第四次挥手:主动关闭方收到 FIN 后,发送一个 ACK 给被动关闭方,确认序号为收到序号+1,至此,完成四次挥手。
11.你觉得前端工程的价值体现在哪

为简化用户使用提供技术支持(交互部分)

为多个浏览器兼容性提供支持

为提高用户浏览速度(浏览器性能)提供支持

为跨平台或者其他基于webkit或其他渲染引擎的应用提供支持

为展示数据提供支持(数据接口)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值