一.常用的dos命令操作符

什么是dos命令

​window操作系统通过命令提示符cmd模拟ms-dos系统的功能。

常用的dos命令

​ 切换当前盘 :想去那个盘,直接那个盘加:

​快捷打开cmd : win + R

​进入/打开文件夹:cd 文件夹路径名

​返回上一级 :cd..

​看文件目录:dir

​清屏 :clr

​退出:exit

二.java的简介及组成

java语言的特性

跨平台:不区分操作系统,真正的运行依靠虚拟机JVM实现。

Tip:java程序跨平台,JVM不跨平台,不同的操作系统对应要有不同的JVM.

JRE和JDK

JRE:

Java Development Kit 的简称,Java 开发工具包,提供了 Java 的开发环境和运行环境。包含jvm以及其核心类库。

JDK:

Java Runtime Environment 的简称,Java 运行环境,为 Java 的运行提供了所需环境。

具体来说 JDK 其实包含了 JRE,同时还包含了编译 Java 源码的编译器 Javac,还包含了很多 Java 程序调试和分析的工具。

区别:

简单来说:如果你需要运行 Java 程序,只需安装 JRE 就可以了,如果你需要编写 Java 程序,需要安装 JDK。

Tip:通过javac编译器进行编译将java源程序转化为字节码以“.class"结尾的文件进行运行。

三.类及其定义

什么是类

​类是java当中所有源代码的基本组织单位,类的名称必须与包含该类的文件名相同。

测试类

含义

​包含main方法的类。main方法:程序开始运行的入口。

定义格式:

public static void main(String [],args) {

}

四.变量及其命名规则

关键字

​均为小写字母构成,不能用作变量名。

标识符

可以由字母,数字,下划线组成,当不能以数字作为开头。

变量取名规则

类名:大驼峰式,每个单词的首字母大写

变量名及方法名:小驼峰式,第一个单词首字母小写,后单词首字母小写。

五.数据类型

基本数据类型

整数型:

byte(1B)

short (2B)

int (4B)

long(8B,加上L后缀)

浮点型:

float(要加上F后缀)

double

字符型:

char

布尔型:

boolean

Tip:数据的表示范围与其数据存储字节无关,eg float存储的范围会比long存储的范围来的广。因为float采用科学记数法进行表示。

数据类型转换

自动类型转换

​范围从小到大进行转换,不需要人为进行操作。

强制类型转化

​可能发生精度损失和数据溢出。

字节缓冲流

作用:利用缓冲区(数组),提高读写效率

字节缓冲输出流(bufferfos)

​继承了outputstream ,继承了其方法【close,flush,write】close在关闭流时会先调用flush

构造方法:(ops out)//不指定大小,out输出的目的地

​(ops out ,int size ) //指定buff大小

字节缓冲输入流(bufferfis)

继承的方法:read,read(byte[]),close

构造方法:构造方法:(fis iut)//不指定大小,out输出的目的地

​(fis iut ,int size ) //指定buff大小

两者直接关闭缓冲流对象即可,不用再关闭fis/fos对象。

字符缓冲流

字符缓冲输出流(bufferwriter)

继承方法:write(char[],buf)

特有成员方法:void newline()//根据系统输出换行符。

println调用的就是newline

字符缓冲输入流(bufferreader)

继承方法:read(),read(char[] buf),close

特有成员方法

String readline()//读单行,返回该行字符串。读至末尾返回,NULL 但是不会读取换行

行判断标准:/r /n /r/n

字符编码和字符集

编码按照某种规则将字符存储到计算机当中

字符集也叫编码表,系统能支持的所有字符//计算机存储对应规则

一旦编码方式被指定,字符集也确定下来。

常见的字符集:ASCII码表(0-127),

​GBK(双字节编码)/GBxxx,

​ unicode(万国码,最多使用4字节进行存储)u-8(最经常使用,3字节存储中文)

中文系统编码(gbk) ansi---系统默认

idea默认读取utf-8

转换流

作用:

​将字符在不同编码之间进行转换。

InputStreamReader

可以按照指定编码表进行编码转换,将字节转换为字节【解码】

继承了reader 可使用其方法

构造方法:

1.默认字符集:(ips in)

2.指定字符集 (ips in ,Str charsetname)

构造方法的字符集要好读取文件的编码格式相同

OutputStreamWriter

将字符转换为字节【编码】字符通向字节的桥梁,按照致电给的编码表

继承自Write 可使用其方法

构造方法:

​(ops)//默认格式【utf-8】

​(ops out String charsetname)//charsetname不区分大小写

序列化与反序列化

序列化:将对象以流的方式写入到文件当中,该过程既包括字符也包括字节

【ObjectOutputStream】

继承flieoutputstream

构造方法:传参fos

writeObject(对象);//该对象必须实现serializable接口,该接口会给此类一个标记才可进行序列化

反序列化:将文件种保存的对象以流的方式读取出来,也叫读对象,叫对象的反序列化

【ObjectInputStream】

继承了fileinputstream

构造方法:传参fis

Object readObject();//抛出classNotFund异常,没有找到class文件

transient

被其修饰的成员不能被序列化,但是没有静态的含义。

静态static变量不能进行序列化

在生成class文件之后因为存在serializable之后就会为其添加一个序列号,该序列号也会被写入到txt文件当中。

如果对象被更改就会产生新的序列号,反序列化之后就会有invalidClassException

解决方法:人为加上静态的序列号

static final long serialVersionUID=42L;//常量不能改变

打印流-PrintStream

只负责输出,没有输入,不会抛出IO异常,继承自字节输出流

构造方法:

​写了打印的目的地->文件/字节输出流/文件路径

自己特有方法:print/println输入的是啥就写入啥//默认的目的地是控制台。

改变目的地:systerm.setout(目的地),目的地可以是任意目的的输出流

继承的方法write输入字节写入的是字符。

网络编程

软件体系结构

1.c/s:client客户端和浏览器端

2.b/s:browser浏览器端和服务器端

网络通信协议

使得同一网络当中的计算机可以进行通信的通信规则。通信双方需同时遵守

tcp/ip协议(传输控制协议,应用层协议)

协议分类

udp协议:

面向无链接的协议,不能保证数据的完整性,可用于视频音频的数据传输。发送的协议数据再64B以内

tcp协议:

面向链接,客户端和服务器端进行三次握手。数据传输安全。

ip地址:

相当于计算机的标号,ipv4,由4字节构成。32个2进制,可写成a.b.c.d,a-d表示十进制(0-255)

ipv6由16个字节构成。

查看本机IP:cmd->ipconfig

​ping +ip 成功表示可以进行通信

​127.0.0.1/localhost代表本地的ip地址

端口号:

逻辑端口,操作系统为软件随机分配的端口号。或者软件自己向系统要,2B组成(0-65535)1024前的端口号不能使用,已经分配给已知的端口号。发送时使用IP加上端口号。

常用端口号:

80端口:网络端口号

3306:mysql 1521:oracle

8080: Tomcat

TCP通信程序

服务器端和客户端进行逻辑链接,该链接之中,包含一个对象,IO对象,IO对象是字节流对象。

服务器端自己没有IO流,使用客户端(socket)的流和客户端进行数据交互。

客户端Socket类:

在java.net包下,此类实现客户端的套接字(包括ip和端口号)

构造方法:

(string host,int port)//host可以是ip也可以是主机名

成员方法:

ops getops();//返回此套接字的输出流(网络流而不是自己创建的)

Ips getips()//返回输入流

void close()

创建socket对象就会和服务进行3次握手,没有链接成功返回异常(连接异常)。

服务器端serverSocket:

服务器实现的套接字。

构造方法:

(int port)//创建绑定到特定端口的服务器套接字

特有方法:

socket accep(),侦听并接受此套接字的链接

获得socket之后使用它的流。

函数式编程

函数式接口:有且仅有一个抽象方法的接口,但接口中可以包含其他类型的方法

格式可以在定义接口时增加一个注解,@functionalinterface:j检测接口是不是函数式接口。

体现就是lambda

匿名内部类会有一个class文件,lambda表达式不会产生class文件。

lambda:延迟加载

java基础整理_java基础部分整理相关推荐

  1. 黑马程序员_毕向东_Java基础视频教程_Java基础学习知识点总结

    黑马程序员_毕向东_Java基础视频教程 Java基础学习知识点总结 2016年01月06日  day01 一.基础知识:软件开发 1.什么是软件?软件:一系列按照特定顺序组织的计算机数据和指令的集合 ...

  2. java重要基础知识点_java基础知识点整理

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 java基础知识点整理1.&和&&的区别? &:逻辑与(and),运算符两边的表达式均为true时,整个结果才为true. ...

  3. java 多线程语法_Java基础语法之多线程学习笔记整理

    众所周知,利用好多线程机制,可以大大提高系统整体的并发能力以及性能,而且线程间的切换和调度的成本小.因此,多线程是Java学习者必须掌握的语法重点.本文为大家整理了进程和线程.实现多线程方式.设置和获 ...

  4. java分享知识点_Java基础知识点整理(一)

    方法 封装了特定功能的代码块 方法分为两种: 无返回值的方法 有返回值的方法 无返回值方法: -->看成一个动作 格式: public static void 方法名(形式参数列表){ 方法体; ...

  5. futuretask java 并发请求_Java面试题整理一(侧重多线程并发)

    1..是否可以在static环境中访问非static变量? 答:static变量在Java中是属于类的,它在所有的实例中的值是一样的.当类被Java虚拟机载入的时候,会对static变量进行初始化.如 ...

  6. java input 数组_Java基础之:数组

    Java基础之:数组 一组相同数据类型的数据,我们即称之为 数组,数组也是一种数据类型. 需要注意的是 , 数组和String 字符串 相同,也是引用类型的. 数组的初始化 方式一:动态初始化 四种格 ...

  7. java代码讲解_Java基础系列-代码块详解

    注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 前言 Java基础系列,尽量采用通俗易懂.循序渐进的方式,让大家真正理解Java基础知识! 代码块 ...

  8. java单线程循环调度_Java基础篇之Java线程模型

    原标题:Java基础篇之Java线程模型 Java运行系统在很多方面依赖于线程,所有的类库设计都考虑到多线程.实际上,Java使用线程来使整个环境异步.这有利于通过防止CPU循环的浪费来减少无效部分. ...

  9. java 方法泛型_Java基础学习,什么是泛型概念,使用泛型有哪些好处?

    一般的类和方法,只能使用具体的类型,要么是基础数据类型,要么是自定义类. 如果要编写可以应用与多种类型的代码,这种刻板的限制对代码的束缚就会很大. 泛型的字面概念: 适合用于许多类型. 在面向对象中, ...

最新文章

  1. Kafka原理和实践--云平台技术栈13
  2. 小小一招巧解任何电脑的开机密码,无需任何工具,无需放电
  3. Java Scoket之java.io.EOFException解决方案
  4. 大数据之hadoop伪集群搭建与MapReduce编程入门
  5. spring Boot Actuator使用
  6. 【数据结构与算法】之深入解析“最大矩形”的求解思路和算法示例
  7. poj 2057 树形DP,数学期望
  8. c#,xp系统,Matlab6.5
  9. kibana 查看索引库中文档个数_百度索引量是什么意思?和百度收录量的区别。...
  10. 代数学笔记2: 域扩张(二)
  11. python 第一天
  12. android定时切换活动,安卓手机如何定时自动切换情景模式 (全文)
  13. DelayQueue1.8源码
  14. MySQL分库、分表、分区的区别
  15. 美国自动驾驶研发国家队NASA入局,还提供了航天跑道做测试
  16. 学习日记0904并发编程socketserver模块 进程理论
  17. Java集合:HashMap详解(JDK 1.8)
  18. iphone java模拟器_电脑java模拟器 模拟器游戏
  19. 中国计算机学会推荐国内期刊目录
  20. 777后无效 执行chmod_执行chmod -R 777 / 补救

热门文章

  1. android listview 滚动条隐藏,隐藏滚动条在FlatList(React Native)中Android
  2. 项目整体管理:结束项目阶段--收尾过程组
  3. 全球储能排行榜出炉 科士达储能系统位列前十
  4. python机器学习经典案例_Python机器学习经典实例
  5. Properties
  6. element 日期选择图标_element-ui 限制日期选择的方法(datepicker)
  7. 步进电机控制系统中脉冲型和总线型的区别?
  8. mysql字段约束_mysql数据库之表操作及字段约束条件
  9. ajax操作oracle,AJAX操作流程
  10. b站电脑客户端_苹果最强电脑和显示器即将发售 / 央视新闻入驻 B 站 / 淘集集启动破产清算...