精华内容
下载资源
问答
  • 冯诺依曼体系结构1.1组成输入设备:采集数据 eg:键盘输出设备:数据输出 eg:显示器控制器: 控制存取数据运算器: 控制器运算器合称为中央处理器:CPU存储器: 主要指内存1.2内存,硬盘区别内存是计算机的工作场所,硬盘...

    目录

    一.冯诺依曼体系结构

    1.1组成

    输入设备:采集数据    eg:键盘

    输出设备:数据输出    eg:显示器

    控制器:    控制存取数据

    运算器:    控制器运算器合称为中央处理器:CPU

    存储器:    主要指内存

    4dab89fea3212e9302683aaa6656bc0b.png

    1.2内存,硬盘区别

    内存是计算机的工作场所,硬盘用来存放暂时不用的信息

    内存是半导体制作,硬盘是磁性材料制作。

    内存存储介质属于易失性介质,从而断电数据会丢失 。但硬盘存储介质属于持久化介质,断电依旧保存数据。

    硬件结构决定软件行为(数据流向):QQ聊天。   所有的硬件都是围绕内存工作的。

    二、操作系统

    2.1 概念 + 目的

    概念:任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。

    内核(进程管理,内存管理,文件管理,驱动管理)

    其他程序(例如函数库,shell程序等等)

    目的:

    对内:与硬件交互,管理所有的软硬件资源

    对外:为用户程序(应用程序)提供一个良好的执行环境

    2.2 如何管理

    先描述(用struct结构体)  +  后组织(用链表或其他高效的数据结构)

    bb4a54e42e3277ced35ca974cc90ee1b.png

    2.3系统调用和库函数

    从开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供的接口,叫做系统调用。系统调用在使用上,功能比较基础,对用户的要求相对也比较高,所以有心的开发者可以对部分系统调用进行适度封装,从而形成库,有了库,就很有利于更上层用户或者开发者进行二次开发。

    关系:库函数是对系统调用接口的封装。

    三.进程相关概念

    3.1进程概念

    进程是程序运行起来的实体。或者说是   担当分配系统资源(CPU时间,内存)的实体。

    3.2如何描述进程

    进程信息被放在一个叫做进程控制块的数据结构中,可以理解为进程属性的集合。即 PCB(process control block),Linux操作系统下的PCB是: task_struct(通过双向链表连接)

    c3a11d1ab84879e3d1d5049a33e13824.png

    3.2进程简单操作(查看 + 创建)

    3.2.1查看进程状态

    使用:ps -ef      或者   ps -aux

    637325f60e17371eb85c13d04e3f71c7.png

    bf309316d086333f3479545e33dacafc.png

    当然在查看详细的某一个进程信息时可以和我们之前的某些命令一起使用 : 比如 grep 命令

    84cb658f19ce83126752165b2d059cad.png

    3.2.2使用系统调用创建进程:

    在创建进程之前我们先使用系统调用查看进程标识符

    #include

    #include

    #include

    int main()

    {

    printf("pid: %d\n", getpid());

    printf("ppid: %d\n", getppid());

    return 0;

    }

    c048ce23d8b053fb4ea2f5337e86d9ac.png

    在创建进程时要调用

    #include

    pid_t fork(void);

    返回值:(仅仅被调用一次,却能够返回两次)

    在父进程中,fork返回新创建子进程的进程ID;

    在子进程中,fork返回0;

    如果出现错误,fork返回一个负值;#include

    #include

    #include

    int main()

    {

    int ret = fork();

    if(ret < 0)

    {

    perror("fork");

    return 1;

    }

    else if(ret == 0)

    { //child

    printf("I am child : %d ret: %d\n", getpid(), ret);

    }

    else

    { //father

    printf("I am father : %d ret: %d\n", getpid(), ret);

    }

    sleep(1);

    return 0;

    }

    4e130a2e2fafce5db76486119f6dabf5.png

    fork函数特点: 创建出的 父子进程代码共享,数据各自开辟空间,私有一份(采用写时拷贝)

    bf9813776886351046f52e8afa7ee555.png

    3.3 进程状态 + 演示

    R运行状态(running): 并不意味着进程一定在运行中,它表明进程要么是在cpu上运行中,要么在运行就绪队列里。

    S睡眠状态(sleeping): 意味着进程在等待事件完成(这里的睡眠有时候也叫做可中断睡眠(interruptible sleep))。如使用Ctrl + c

    D磁盘休眠状态(Disk sleep)有时候也叫不可中断睡眠状态(uninterruptible sleep),在这个状态的进程通常会等待IO的结束。

    T停止状态(stopped): 可以通过发送 SIGSTOP 信号给进程来停止(T)进程。这个被暂停的进程可以通过发送SIGCONT 信号让进程继续运行。

    t (tracing stop) :跟踪状态, 常用于gdb调试

    X死亡状态(dead):这个状态只是一个返回状态,你不会在任务列表里看到这个状态。

    Z (zombie)僵尸状态。

    下面用一个例子来简单说明下这几种状态。

    首先这是一个处于S状态的进程

    2726026fdb3cd2d4423c7a0e70de5ab4.png

    为什么我们写了这个进程,让它运行起来之后查看仍然处于S+即处于可终端休眠的前台进程?

    这是因为在上面的程序中我们使用了printf()函数来进行写入,既然有写入那就有等待,而I/O的速度远慢于CPU的处理速度所以状态看起来就是S+了。

    下面我们进行修改:

    b27877156f4e3467e6a45c0b4fe6f893.png

    注意: 单独的kill 命令 不能杀死处于T 停止状态的进程,kill -9 +进程号 可以强杀一切处于任何状态的进程

    进程状态转换图:

    ea3e053ae37d648a832cfa91f02ddff2.png

    3.4僵尸进程

    僵死状态(Zombies)是一个比较特殊的状态。当进程退出并且父进程(使用wait()系统调用,后面讲)没有读取到子进程退出的返回代码时就会产生僵死(尸)进程。

    僵死进程会以终止状态保持在进程表中,并且会一直在等待父进程读取退出状态代码。

    所以,只要子进程退出,父进程还在运行,但父进程没有读取子进程状态,子进程进入Z状态

    9404beb057897f29ab9368619268ece3.png

    僵尸进程的危害:

    无法在内核中释放PCB资源,换句话说,就是无法释放PCB当中所占的内存,会造成内存泄漏问题。

    如何避免僵尸进程:

    使用kill -9 命令干掉父进程(这样退出原因的保存已经毫无意义)

    3.5孤儿进程(不是进程状态)

    父进程先退出,子进程就称之为“孤儿进程”。

    孤儿进程被1号init进程领养,并且由一号init进程回收当前孤儿进程的状态信息进而内核就释放了孤儿进程的PCB块。

    测试:

    #include

    #include

    int main()

    {

    fork();

    while(1)

    {

    sleep(1);

    }

    return 0;

    }

    运行:

    9667626dc41341e512e17852c487e7f1.png

    查看父子进程:

    60efc419a1c94e902a9002a9f9514aee.png

    杀死父进程,使子进程成为孤儿进程

    e68d7ece67677da1efb023848047551b.png

    程序停止,子进程被一号Init进程领养。

    四.环境变量

    4.1概念

    环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:我们在编写C/C++代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但是照样可以链接成功,生成可执行程序,原因就是有相关环境变量帮助编译器进行查找。

    4.2常见环境变量 + 查看方法

    PATH : 指定命令的搜索路径 [重点]

    HOME : 指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)[重点]

    SHELL : 当前Shell,它的值通常是/bin/bash

    LD_ LIBRARY_PATH 动态库或者静态库的搜索路径

    查看方法:echo $NAME   或者  env | grep NAME //NAME:你的环境变量名称

    10c8b542bdb9cc59d4936cdff16d293e.png

    4.3环境变量相关操作命令

    echo: 显示某个环境变量值

    export: 设置一个新的环境变量

    env: 显示所有环境变量

    unset: 清除环境变量

    set: 显示本地定义的shell变量和环境变量

    环境变量存在的文件: ~/.bashrc或者~/.bash_profile

    4.4环境变量的组织方式

    8165cca521c89c4615295c9ba5afd407.png

    每个程序都会收到一张环境表,环境表是一个字符指针数组,每个指针指向一个以’\0’结尾的环境字符串。

    4.5获取环境变量

    通过代码获取

    <1>.通过main函数的第三个参数 char* env[]

    #include

    //参数介绍: argc:命令行参数的个数 argv:指针数组每个元素指向命令行参数内容

    //env: 指针数组 每个元素指向代表的是某个环境变量的值

    int main(int argc, char *argv[], char *env[])

    {

    int i = 0;

    for(; env[i]; i++){

    printf("%s\n", env[i]);

    }

    return 0;

    }

    <2>.通过第三方变量libc库中的全局变量environ获取

    #include

    int main(int argc, char *argv[])

    {

    extern char **environ;

    int i = 0;

    for(; environ[i]; i++){

    printf("%s\n", environ[i]);

    }

    return 0;

    }

    注意:libc中定义的全局变量environ指向环境变量表,environ没有包含在任何头文件中,所以在使用时 要用extern声明。

    <3>.通过系统调用获取或设置环境变量 (常用于访问具体的某一个环境变量)

    #include

    #include

    int main()

    {

    printf("%s\n", getenv("PATH"));

    return 0;

    }

    注意: 环境变量具有全局属性

    e48656448b2d044755017ce72c68c973.png

    刚开始直接执行发现没有任何输出,但当用export设置后,执行就会输出。

    d3420315a7a79641ef7be31baf4732aa.png

    五.程序地址空间 & 进程地址空间比较

    5559f7f58666cc274b16a80e882ca5ce.png

    下面是一个例子

    d9e83b1f1998241fbb91b55bd0243a1a.png

    上面这个例子我们发现在未修改之前g_val值为100,在子进程中修改之后值为10 父进程未做修改值还是100.但父进程和子进程中g_val的地址竟然一样,那这是为什么?

    cc4ad6b46bb8582af2fc9521d5ebc1ea.png

    六.进程优先级

    进程优先级:cpu资源分配的先后顺序

    6.1查看系统进程

    使用   ps -l

    31270ff0bddcbd23c6631c5a0c1f2dbf.png

    UID : 代表执行者的身份

    PID : 代表这个进程的代号

    PPID :代表这个进程是由哪个进程发展衍生而来的,亦即父进程的代号

    PRI :代表这个进程可被执行的优先级,其值越小越早被执行

    NI :代表这个进程的nice值

    6.2修改优先级

    使用:进入top后按“r”–>  输入进程PID  –>  输入nice值

    PRI值越小越快被执行,那么加入nice值(nice值了,其表示进程可被执行的优先级的修正数值)后,将会使得PRI变为:PRI(new)=PRI(old)+nice这样,当nice值为负值的时候,那么该程序将会优先级值将变小,即其优先级会变高,则其越快被执行所以,调整进程优先级,在Linux下,就是调整进程nice值nice其取值范围是-20至19,一共40个级别。

    注意:进程的nice值不是进程的优先级,他们不是一个概念,但是进程nice值会影响到进程的优先级变化。

    展开全文
  • 1.程序:一组指示计算机执行行动或坐车判断的指令,通常用某种程序设计语言编写,运行于某种目标体系结构上。2.软件与计算机操作系统有关的计算机程序,规程、规则,以及可能有的文件,文档及数据3.软件工程软件工程...

    1.程序:

    一组指示计算机执行行动或坐车判断的指令,通常用某种程序设计语言编写,运行于某种目标体系结构上。

    2.软件

    与计算机操作系统有关的计算机程序,规程、规则,以及可能有的文件,文档及数据

    3.软件工程

    软件工程一直以来都缺乏一个统一的定义,很多学者和计算机科学家都给出了自己的定义,我们参考如下定义:

    软件工程是应用计算机科学、数学、逻辑学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本和改进算法。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。

    ---摘自《计算机科学技术百科全书》

    4.操作系统

    是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

    5.Java特点

    Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。

    解释:动态性——Java具有动态性,但是不是动态语言。需要编译 ->同过编译器编译的语言,都不是动态语言

    核心思想:面向对象,是一门后台开发语言

    python 是动态语言   解释型语言

    6.环境配置

    找到之前下载的eclipse包,解压到自己想要存放的目录,最好是放文档的磁盘,最好不要有中文目录。解压后,在文件夹中找到eclipse.exe,双击运行即可。

    JDK:java development kit(开发工具)

    为什么要安装jdk?

    jdk是Java开发工具

    jdk提供了很多Java命令,像执行,编译等,并且jdk内置了jre(Java运行环境),提供了丰富的类库提供第哦啊用完成程序开发。

    为什么在需要配置环境变量?

    配置环境变量是为了保证我们在系统的任意目录调用到Java命令(javac,java)。

    Java执行原理(了解)

    1.Java程序在执行之前会经过编译器编译得到class文件(.java——.class)

    2.类加载器将class文件加载到Java虚拟机

    3.Java虚拟机能够解释执行代码

    Java程序的单位:类

    Java命名规则:

    包的命名

    Java包的名字都是由小写单词组成。但是由于Java面向对象编程的特性,每一名Java程序员都可以编写属于自己的Java包,为了保障每个Java包命名的唯一性,在最新的Java编程规范中,要求程序员在自己定义的包的名称之前加上唯一的前缀。由于互联网上的域名称是不会重复的,所以程序员一般采用自己在互联网上的域名称作为自己程序包的唯一前缀。

    例如: net.frontfree.javagroup

    类的命名

    类的名字必须由大写字母开头而单词中的其他字母均为小写;如果类名称由多个单词组成,则每个单词的首字母均应为大写例如TestPage;如果类名称中包含单词缩写,则这个所写词的每个字母均应大写,如:XMLExample,还有一点命名技巧就是由于类是设计用来代表对象的,所以在命名类时应尽量选择名词。

    例如: Circle

    方法的命名

    方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头。

    例如: sendMessge

    常量的命名

    常量的名字应该都使用大写字母,并且指出该常量完整含义。如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词。

    例如: MAX_VALUE

    变量的命名:

    以数字,字母,某些特殊字符组成,但是不能用数字开头。

    变量的类型:基本数据类型(八大类型),引用数据类型(简单来说指的就是一个内存地址,分类:数组,类,接口,枚举)

    8f900a89c6347c561fdf2122f13be562.png

    961ddebeb323a10fe0623af514929fc1.png

    String name="肖战";

    String name1=new String("肖战");//name不是基本类型,String是一个类,所以name是一个引用类型,字符串拼接用+号//Person person2=new Person("肖战",28,"重庆工商大学","唱歌,跳舞,演戏,迷人");//如果定义了一个类,变量前面的类型声明是以恶类型,那么此时的变量的类型为引用类型

    View Code

    变量按照作用域的范围分:局部变量和全局变量(成员变量)

    局部变量的特点:定义在函数体内;定义在函数参数列表内;代码块内{}

    作用域:满足以上任意一点的变量都是局部变量,此变量的作用域局限于最近的一对{}

    局部变量是无法使用修饰符去修饰的;

    全部变量:定义在类体内;在函数外;在代码块外

    注意:在一个作用域内不管是全局变量还是局部变量不能够定义名字一样的变量。

    关键字:Java中具有特殊含义的单词,不能用来定义类,变量,方法。

    7.eclipse中设置编码格式:Windows——preferences——general——workspace——other——utf-8——ok

    eclipse默认的是sysout或者syso 再加Alt + / 就可以输出System.out.println()

    8.字节与二进制

    二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二";

    字节(Byte)是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于有八位,也表示一些计算机编程语言中的数据类型和语言字符.

    9.Java中的八种数据类型:

    boolean 布尔型 真/假 1个字节 8bit(8位)

    byte 字节类型 1个字节 8bit(8位)

    char 字符类型 2个字节

    short 短整型 2个字节

    int 整型 4个字节

    long 长整型 8个字节

    float 浮点型(单精度)4个字节

    double 双精度类型 8个字节

    double 的精度 是高于 float

    算式的结果, 乘除会取算式中精度最低的类型

    强转: 如果算式得到的是一个double型, 你赋值给float型, 需要强转成float,单精度要成为双精度,不用强转

    强转会丢掉精度

    高精度转低精度 丢失精度

    8f900a89c6347c561fdf2122f13be562.png

    961ddebeb323a10fe0623af514929fc1.png

    float a=3.14f;float b=(float)3.14;//小数默认被提升为了double类型(8个字节),这个过程叫类型自动提升,但是左边变量的类型声明float,因此大类型转换为小类型,必须向下强制转换,此过程需要手动强制转换

    View Code

    8f900a89c6347c561fdf2122f13be562.png

    961ddebeb323a10fe0623af514929fc1.png

    packagejava_learning;public classdemo1 {public static voidmain(String[] args) {//TODO Auto-generated method stub

    float a=1.23467f;double b=0;

    System.out.println(b);

    b=a;

    System.out.println(b);

    System.out.println("华丽分割线");floatx;double y=1.896767896543;

    x=(float)y;

    System.out.println(x);

    }

    }0.0

    1.2346700429916382华丽分割线1.8967679

    View Code

    10.java语法基础

    空格:保留关键字(有文档)以及变量间的分隔符 public class Test{}

    逗号:并行,枚举 int a,b,c;

    分号:语句分隔符 int a=1;int b=1;

    大括号:语句块,类名后的大括号,就表示里面的代码组成这个类。

    小括号:参数的传递,运算符。

    单引号:标识字符类型

    双引号:标识字符串类型

    反斜杠:转义 String a=“\””;

    注释://、/* */

    11.Java算数运行算符

    + 加/字符串拼接

    - 减

    * 乘

    / 除

    ++ 自增

    【a++称为“后增量”。a变量自增,返回自增之前的值;是先执行表达式后再自增,执行表达式时使用的是a的原值,后面再用到a的值时+1。++a运算符在操作数之前,称为“前增量”。a变量自增,返回自增之后的值。是先自增再执行表达示,执行表达式时使用的是自增后的a。】

    -- 自减

    = 赋值

    == 判断相等

    8f900a89c6347c561fdf2122f13be562.png

    961ddebeb323a10fe0623af514929fc1.png

    int a=1;

    System.out.println(a++);//1 下一次用才是用+1之后的值 就是2

    System.out.println(++a);//3 用之前就已经+1 所以是3

    int b=5;

    System.out.println(b--);//5 下一次用就是4

    System.out.println(--b);//3

    View Code

    12.位运算(速度快)

    位运算 位移 其实就是二进制上操作一个数的计算

    << 左位移 移动一位,等于乘2  比如2<<3 就等于2*2 一次 再*2 第二次 再*2 也就是第三次

    >> 右位移移动一位,等于除以2

    注意: 位移只能用在整数. 位移不能移动负数位

    13.运算符优先级

    *、/高于+、-

    位移优先级低于四则运算,高于赋值

    赋值运算最低

    14.关系运算符

    a314666cd10f4b9d404ab5a0745ca0b1.png

    关系运算  String 需要用str1.equals()  取反,前面加!

    ==是比较两个数字是否相同

    15.逻辑运算符

    d120709b3f5e3e72b8de4297698ff6ab.png

    16.Scanner,if...else,switch【暂定,先是简单使用】

    case里面必须是个常量,不能是变量

    8f900a89c6347c561fdf2122f13be562.png

    961ddebeb323a10fe0623af514929fc1.png

    packagejava_learning;importjava.util.Scanner;public classdemo1 {public static voidmain(String[] args) {//TODO Auto-generated method stub//创建Scanner对象 System.in标准化输出,也就是键盘输出

    Scanner sc=newScanner(System.in);//利用hasNext()判断是否还有下一项输入项//while (sc.hasNext()) {// //利用next()输出内容//String str=sc.next();//System.out.println(str);//

    //}//

    int age=sc.nextInt();if (age>=18) {

    System.out.println("您已经成年了"+age);

    }else{

    System.out.println("您还是鲜肉\t"+age);

    }

    String sex="男";switch(sex) {case("男"):

    System.out.println("男生");break;case("女"):

    System.out.println("女生");break;case("不男不女"):

    System.out.println("人妖");break;default:

    System.out.println("性别输入错误");

    }

    }

    }89您已经成年了89

    男生

    View Code

    17.循环

    在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。

    一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。

    循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。

    循环语句是由循环体及循环的终止条件两部分组成的。

    死循环 没有跳出循环的条件

    while 当型循环 当满足条件时, 才会执行循环内容 有可能不满足条件, 一次都不会循环

    do while 直到型循环, 执行循环,直到不满足循环条件, 结束

    区别: do...while 不管条件满足不满足,它是先执行在判断条件,所以代码至少执行一次

    while。。。。只有在条件满足的时候蔡虎执行。

    continue 语句是跳过循环体中剩余的语句而强制执行下一次循环,其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。

    注意:continue 语句只能用在 while 语句、for 语句在这之外的任何地方使用它都会引起语法错误。

    break:用于跳出循环

    注意:break在switch中也可以用

    continue:跳过本次循环(忽略本次循环)

    break:跳出整个循环(结束整个循环)

    18.switch

    switch语句能够接受的变量类型是有限的。能接受:char,byte,short,int ,String,enum。

    8f900a89c6347c561fdf2122f13be562.png

    961ddebeb323a10fe0623af514929fc1.png

    String sex="男";switch(sex) {case("男"):

    System.out.println("男生");break;case("女"):

    System.out.println("女生");break;case("不男不女"):

    System.out.println("人妖");break;default:

    System.out.println("性别输入错误");

    View Code

    19.九九乘法表

    8f900a89c6347c561fdf2122f13be562.png

    961ddebeb323a10fe0623af514929fc1.png

    packagejava_learning;importjava.util.Scanner;public classdemo1 {public static voidmain(String[] args) {//九九乘法表

    for (int i =1;i<=9;i++) {for (int j=1;j<=9;j++) {

    System.out.print(i+"*"+j+"="+i*j+" ");

    }

    System.out.println();

    }

    }

    }

    View Code

    8f900a89c6347c561fdf2122f13be562.png

    961ddebeb323a10fe0623af514929fc1.png

    packagejava_learning;importjava.util.Scanner;public classdemo1 {public static voidmain(String[] args) {//九九乘法表

    for (int i =1;i<=9;i++) {for (int j=1;j<=9;j++) {if (i==j) {

    System.out.print("\t\t");

    }else{

    System.out.print(i+"*"+j+"="+i*j+" ");

    }

    }

    System.out.println();

    }

    }

    }

    View Code

    8f900a89c6347c561fdf2122f13be562.png

    961ddebeb323a10fe0623af514929fc1.png

    //九九乘法表

    for (int i =1;i<=9;i++) {for (int j=1;j<=9;j++) {if (i+j==10 || i==j) {

    System.out.print("\t\t");

    }else{

    System.out.print(i+"*"+j+"="+i*j+" ");

    }

    }

    System.out.println();

    }

    View Code

    展开全文
  • java环境变量配置搭建步骤Java的环境装备并不是特别难,可是对刚上手的新手来说确实是一个大问题首要下载jdk装置包网址进去挑选自己需求的版别下载就行了,这儿演示的是jdk-8u131-windows-x64_8.0.1310.11,版别稍老...

    java环境变量配置搭建步骤

    Java的环境装备并不是特别难,可是对刚上手的新手来说确实是一个大问题

    首要下载jdk装置包网址进去挑选自己需求的版别下载就行了,这儿演示的是jdk-8u131-windows-x64_8.0.1310.11,版别稍老,道理一样

    装置

    下载后直接双击运行,这时会让你挑选装置途径

    默认是C盘,这儿改成自己想要寄存的当地,我放在了我D盘的ROUTE文件夹下的java目录下的jdk1.8.0_131

    然后点击确认,下一步,开端跑进度条,可是不一会就会弹窗出来jre的装置途径

    咱们点击更改,然后挑选一个别的文件夹,我这儿放在了java文件夹下的jre1.8文件夹,因为老放C盘等C盘满了就很费事,所以做好分类条理清晰点用着也舒服。

    然后点击下一步

    接着等候跑进度条,分分钟完事

    然后就装置结束了,点击完结即可

    环境变量的装备

    接下来就是环境变量的装备

    首要右键此电脑,挑选属性

    点击左侧的高级体系设置

    点击环境变量

    在下方的体系变量中点击新建

    新建变量名为JAVA_HOME

    变量值咱们点击阅读目录,挑选jdk的装置途径jdk1.8.0_131文件夹

    然后点击确认

    到这儿还没有完结,别着急

    然后咱们还要继续新建一个环境变量

    变量名为CLASSPATH

    变量值为

    .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

    path体系变量的装备%之间的相当于一个途径的绝对引用,优点是假如你想给别人演示一遍这个教程,只需求重新装置一边jdk,环境变量重新说说就行了

    当然你也能够自己挑选阅读文件,这儿不做过多演示

    到这儿还是没有完结

    接下来装备体系变量path,这儿有点东西要注意,一不小心就犯错

    先按做一遍过错演示

    咱们点击path环境变量进行修改

    然后点击右侧的修改

    在修改框的后边输入

    ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

    接下来做正确演示注意:符号都是英文符号

    然后点击确认,确认,确认,直到退出环境变量的设置的当地,这就算是装备完结了

    这时候假如翻开cmd小黑框进行验证环境变量是否装备成功的话,别离输入java、javac、java-version再别离回车,可是javac的回车后边会报错,这儿暂时先不放图片了

    在依照上述过错做法进行的时候咱们退出来能够发现path体系变量的值多了一个双引号

    所以咱们只需求再次点击修改,然后点击修改文本

    接下里窗口会变成下图这样,咱们移动光标找到两个双引号并删除就ok了

    当然,假如没有依照过错的做法来做的话,直接点击修改文本,然后把;%JAVA_HOME%/bin;%JAVA_HOME%/jre\bin;输入进去当然就直接ok了

    ps:形似win7体系能够直接点修改就有修改文本的作用

    查看是否装置成功

    翻开cmd,下面三种指令同时成功才算是真正的成功,否则还是无法运用。

    输入java回车呈现相似下图即为成功

    输入javac回车呈现相似下图即为成功

    输入java-version回车呈现相似下图即为成功

    展开全文
  • 双体系day1学习内容

    2021-09-07 14:31:13
    基本语法: 关键字和标识符 1.java... 涉及到的结构: 包名、类名、接口名、变量名、方法名、常量名 数据类型: 基本数据类型:整型(short 、int、long、byte) 浮点型(float、double) 字符型char 布尔型boolean

    基本语法:
    关键字和标识符
    1.java关键字的使用
    定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)
    特点:关键字中所字母都为小写
    具体哪些关键字:略

    2.保留字:现Java版本尚未使用,但以后版本可能会作为关键字使用。
    具体哪些保留字:goto 、const
    注意:自己命名标识符时要避免使用这些保留字
    26个英文字母、_、$
    不能使用空格
    数字不可以开头
    不可以使用关键字,可以包含
    区分大小写 不分长度
    3.标识符的使用
    定义:凡是自己可以起名字的地方都叫标识符。
    涉及到的结构:
    包名、类名、接口名、变量名、方法名、常量名
    数据类型:
    基本数据类型:整型(short 、int、long、byte)
    浮点型(float、double)
    字符型char
    布尔型boolean

    展开全文
  • php 变量查询数据库

    2021-03-22 22:47:42
    因为PHP会在引号包围的字符串中搜寻变量, 单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的”函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故 把函数加上了引号)。...
  • 题目连接:http://222.18.158.226:7000/iscc.php考点:parse_str()变量覆盖代码:PHP知识点:1.parse_url()参照网址:https://www.php.net/manual/zh/function.parse-url.php2.$_SERVER[]参考网址:...
  • 效果会产音的生颤,语言规鼓时续抖腕连动铃用手。定对应的数递方最佳后负荷的...变量内部管理的频进行企业体系次(审核。正确的是,烷M七氟有关。作实之间员(审核。形参格项不合报告。语言规制和)表)编的检记录填写员...
  • 什么是环境变量bash shell用一个叫做 环境变量(environment variable) 的特性来存储有关shell会话和工作环境的信息。即允许在内存中存储数据,使得在程序或shell中运行的脚本能够访问它们。在bash shell中,环境变量...
  • 7PHP可变变量

    2021-05-07 02:49:51
    第二课 初识PHP程序一、PHP语言标记1.开始标记2.结束标记?>3.指令分隔符为分号‘;’如果漏掉分号,页面会报错提示;根据提示可以排除;结束标记?...如果对于变量和常量的定义,你会注意几个方面呢?...
  • JavaScript基本变量

    2021-03-27 19:21:23
    在计算机体系中,数据类型是只对任何语言都需要基本存在的东西。 JavaScript提供八个不同的数据类型: undefined; null; boolean; string; symbol; bigint; number; object; 动态存储数据类型 变量允许计算机以动态...
  • 2.3 精度浮点型变量(重点) 基本语法格式 double 变量名 = 初始值; 代码示例: double num = 3.14; System.out.println(num); 代码一: int a = 1; int b = 2; System.out.println(a / b); // 执行结果 0 在 ...
  • Python变量类型 变量存储在内存中的值,这就意味着在创建变量时会在内存中开辟一个空间。 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。 因此,变量可以指定不同的数据类型,...
  • 第1章C数据类型——变量的类型决定了什么?...C语言中有哪些数据类型?基本数据类型有哪些? 变量的类型决定了...C语言程序设计第1章 数据类型数据类型(Data Type) 在冯 ·诺依曼体系结构中 程序代码和数据都是...
  • 嵌入式 Linux 外设 LED 操作 KEY 操作 GPIO 操作 LCD 显示与触控 ADC 读取 I2C 通信 SPI 通信 CAN 通信 UART 通信 …… 高级知识 uboot 与内核 uboot 启动流程 环境变量配置 Linux 内核 启动流程 内存管理 进程调度 ...
  • 孤儿进程分析三,环境变量1.环境变量的作用2.环境变量常见操作指令3.常见的环境变量4.三种方式获取环境变量: 一,进程概念 1. 进程的基本概念 进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行...
  • 只有一个例外:如果你使用的数据成员名称以下划线前缀 比如__privatevar,Python的名称管理体系会有效地把它作为私有变量。 这样就有一个惯例,如果某个变量只想在类或对象中使用,就应该以单下划线前缀。而其他...
  • ZYNQ双核通信 Linux+FreeRTOS(一)

    千次阅读 2021-03-13 12:30:51
    要使dtc在其他步骤中可用,建议将tools目录添加到$ PATH变量中。 export PATH=$PATH:/<path-to-dtc>/dtc exp: export PATH=pwd:$PATH 之后我们就可以利用设备树编译器编译我们生成的设备树文件了。 步骤2:预处理...
  • 对于个人开发者与中小型企业而言,从数据资产安全性与可靠性考虑,因素认证是相当必要的,但投入大量成本研发代理软件与管理服务器未免得不偿失,集成市面上已经具有因素认证服务的帐号体系,不失为最佳选择。...
  • Java中的变量和数据类型: 写完第一个java程序之后,我们对Java也有了初步的了解,现在我们再来继续认识一下Java中的基本知识点——变量和数据类型。 什么是变量呢?打个比方,变量就好像是我们生活中的箱子,箱子的...
  • 假如i的地址是0x100,那么在小端存储体系中 地址 数值 0x100 0x78 0x101 0x56 0x102 0x34 0x103 0x12 CPU访问内存需要同时具备两个因素: 内存基址:从哪里访问内存——就是地址 内存布局:访问几...
  • 风险管理信息系 6件产品中有2件次品与4件正品,从中任取2件,则下列可作为随机变量的是A.取到产品的件数B.取到正品的件数C.取 We think ______ our duty to pay taxes to our government. A.that B.this C.it ...
  • 安全体系建设-基础安全

    千次阅读 2021-11-30 21:55:08
    安全体系建设安全层级建设步骤组建安全团队工作内容**生产:** 安全层级 安全体系的建设需要进行分级,粗略的分为以下三个层级。 基础安全 第一阶段大部分公司关注的层级,充当应急的角色,在不断的应急中了解公司...
  • 本文的主要内容是Java中的变量和数据类型。变量包括变量的基本概念、变量的声明和使用、变量使用的注意事项、标识符的命名法则、变量输入输出案例...变量和数据类型是Java中的知识基础,也是后面一切知识和体系的核心。
  • 程序设计语言基本构成要素标识符系统预定义标识符(如printf)用户自定义标识符(用来标识变量名,符号常量名,数组名,函数名等)命名规则首字符必须是字母或下划线切记不要使用汉语拼音不能使用关键字c语言数据类型–...
  • 在学习这样一个最简单的算法的过程中,我们也将接触诸多概念:循环不变量,复杂度分析,如何使用泛型让我们的算法更通用,以及简单的性能测试方式。 第2课 排序基础 在这一周,我们将接触两个最基础的排序算法:选择...
  • 文章体系 一、前言,漂在零丁洋里的体系 二、博弈交互概念、定义、定理、推论、与计算 动机:建模知识,连接性能 背景基础Shapley value 变元博弈交互 多变元博弈交互,及其近似计算 多阶博弈交互 相关定理与推论...
  • 如果是编译期已经创建好(直接用引号定义的)的就存储在常量池中,如果是运行期(new出来的)才能确定的就存储在堆中。对于equals相等的字符串,在常量池中永远只有一份,在堆中有多份。 String是一个特殊的包装类...
  • 5.TCP连接的构成包含:一台主机上的缓存、变量和与进程连结的套接字,以及另一台主机上的另一组缓存、变量和进程联结的套接字。 6.**TCP报文段由首部字段和一个数据字段组成。**TCP的首部一般是20字节。 7.首部包括...
  • 本文将为大家分享粗排技术体系以及粗排最新进展COLD,目前COLD排序系统已经在阿里定向广告各主要业务落地并取得了巨大的线上效果提升。 本文的分享,主要围绕下面几点展开: 粗排的发展历史 粗排的最新进展COLD 粗排...
  • 变量x:输入(设x=0,1,…,N-1) 函数f(x):输出 通过数学表达式描述输入端号与输出端号的连接关系。 即在互连函数f的作用下,输入端x连接到输出端f(x)。 表示方式 四种 枚举法 开关状态图 列表法 循环函数 即:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 45,184
精华内容 18,073
关键字:

双变量体系