自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 收藏
  • 关注

原创 JVM的简介

JVM(Java Virtual Machine)虚拟机虚拟机就是一台虚拟的计算机,是一款软件,用来执行一系列虚拟计算机指令的,可分为系统虚拟机和程序虚拟机。VMware就属于系统虚拟机。系统虚拟机完全是对物理计算机的仿真,提供了可运行完整操作系统的软件平台。程序虚拟机的典型代表就是JVM。JVM定义可以跨平台。所有的java编译出来的字节码文件都是在JVM中运行的,与本身的计算机操作系统并没有联系,也保障了计算机的安全。JVM和java语言并没有必然的练习,它只与特定的二进制文件格式c

2021-10-16 14:11:26 206

原创 java进阶-day10

反射机制通过反射机制,可以操作字节码文件(读和改)。在java.lang.reflect包下。Class:整个这个class文件Construcrot:字节码文件中的构造方法Method:字节文件中的方法Field:字节码文件中的属性获取class文件第一:Class c=Class.forName(“java.lang.String”);这个方法是一个静态方法,参数是一个字符串,字符串需要是一个完整的类名。完整类名必须带有包名。获取class文件第二:String s=“abc”;Cla

2021-10-16 11:01:02 188

原创 java进阶-day9

线程进程是一个应用程序,线程是一个进程中的执行单元。进程之间资源是不共享的,线程之间资源是共享的。线程和线程之间堆内存和方法区内存共享,但是栈内存独立,一个线程一个栈。也就是JVM中,只有一个堆和一个方法区,但是可以有多个栈,栈和栈之间是并发独立的。main也是一个线程。多线程共享堆内存和方法区内存。实现线程的方式,第一种:编写一个类,直接继承java.lang.Thread,重写run方法。然后用这个类new一个分支线程对象,然后调用start()方法,这个方法的作用是启动一个分支线程,在JV

2021-10-11 14:53:21 195

原创 java进阶-day8

IO流文件从硬盘输入到内存中产生输入流(InputStream)。读。文件从内存输出到硬盘中产生输出流(OutputStream)。写。有的流是按照字节的方式读取数据,一次读取一个字节,什么类型的文件都可以读取。有的流是按照字符的方式读取数据的,一次读取一个字符,这种流是为了方便读取普通文本文件(.txt)而存在的。连word文件都无法读取。java中所有的流都是在java.io包下。java.io.InputStream 字节输入流java.io.OutputStream 字节输出流ja

2021-10-09 17:36:29 135

原创 java进阶-day7

集合集合不能直接存储基本数据类型,另外集合也不能直接存储java对象,集合当中存储的都是java对象的内存地址(引用)。集合也是一个对象,也有内存地址。不同的集合,底层会对应不同的数据结构。所有的集合类和集合接口都在java.util包下。Collection接口在没有使用“泛型”之前,Collection可以存储Object的所有子类型,但是使用了泛型后就只能存放某个具体的类型。接口不能new对象。但是可以Collection c=new ArrayList();利用多态创建对象,也就是实

2021-10-08 07:58:06 257

原创 Java进阶-day6

Java对日期的处理获取系统当前时间:在java.util包下,有一个叫Date的类。因为不在lang包下,所以新建这个对象需要导入包(alt+回车)。然后调用Date类的无参构造函数,精确到毫秒。Date nowTime=new Date();然后输出nowTime会调用Date的toString方法。将日期类型Date格式化,按照指定的格式进行转换。SimpleDateFormat类是Java.text包下的专门格式化日期的类。SimpleDateFormat sdf=new SimpleDat

2021-10-05 14:01:04 84

原创 Java进阶-day5

包装类型Java为8中基本数据类型对应准备了8中包装类型。包装类属于引用数据类型,父类是Object。当有一个方法,它的参数是Object,当想在这个方法中传进去一个数字是无法直接传进去的,这时候就需要传一个数字对应的包装类进去。byte-------java.lang.Byte 继承numbershort------java.lang.Short 继承numberint----------java.lang.Integer

2021-10-02 10:49:43 106

原创 Java进阶-day4

冒泡排序3 2 7 6 9首先拿着第一个数字3,和相邻的2比较,若左边大于右边,交换位置。然后变成 2 3 7 6 9。再用3和7比较,用7和6比较…。一共这样的比较循环4次。第一次循环留下9,第二次循环留下7,第三次留下6。也就是每次把最大的那个数放到最后一位。第一次循环比较4次,第二次循环比较3次。交换比较浪费。选择排序每一次从这堆参与比较的数据中找出最小值。拿着这个最小值和参与比较的最前面的元素进行交换。二分法查找必须是从小排到大。Arrays工具类的使用java.u

2021-09-30 20:32:45 162

原创 Java进阶-day3

数据array是一种引用数据类型。在堆内存。实际上是一个容器,容纳多个元素。可以存储基本数据类型,也可以存储引用数据类型。存的对象也就是引用数据类型是将对象的内存地址放到数组中。数组一旦创建,长度不可改变。int类型数组只能存储int类型,person类型数组只能存储person类型。数组中的内存地址是连续的。首元素的内存地址是作为整个数组的内存地址。优点:查询检索效率极高。(每个数组空间大小相同,第一个元素内存地址知道,内存地址是连续的,知道偏移量)缺点:随机增删效率很低(除了最后一

2021-09-28 20:42:35 121

原创 Java进阶-day2

抽象类抽象类也是一种引用数据类型。抽象类无法实例化对象。抽象类是类和类之间的共同特征。抽象类和抽象类还会有共同特征,还可以进一步抽象。修饰符列表 abstract class 类名{}子类继承抽象类,子类可以实例化对象。抽象类就是为了继承,所以不能出现final。抽象类有构造方法,是供子类使用的。抽象方法是没有实现的方法,没有方法体的方法:public abstract void dosome();一个非抽象的类继承一个抽象类,必须将抽象类中的抽象方法给“实现”了,也就是方法覆

2021-09-27 15:01:27 109

原创 Java进阶-day1

IDEA在IDEA中一个project相当于eclipse中的workspace。创建过程:创建一个empty project在空的工程下新建Module(模块),IDEA中模块类似于eclipse中的project。在Module下的src文件中新建类IDEA设置字体:ctrl+alt+s(settings设置)–>font快速生成main方法:psvm快速生成System.out.printl:sout删除一行:ctrl+y目录展开移动:左右上下键所有新建:alt+ins

2021-09-26 15:59:05 113

原创 Java语言基础-day8

封装封装的步骤所有属性私有化,使用private关键字修饰,表示私有的,修饰的所有数据只能在本类中访问,在外部程序中不能访问,属性很安全。对外提供简单的操作入口,以后外部程序想要访问这个类的私有属性,必须通过这些简单的入口访问: 对外提供两个公开的方法:set(修改)方法和get(读取)方法。set方法命名规范:public void setAge(形参){}get方法命名规范:public int getAge(形参){}set和get方法没有static修饰有static修饰的方法调用

2021-09-25 22:04:51 102

原创 Java语言基础-day7

EclipseJava的集成开发环境简称:IDE比较常用的IDE:eclipse和intellij idea面向对象的封装性m

2021-09-24 20:57:34 69

原创 java语言的基础-day6

面向对象1.面向过程:实现具体的过程优点:对于简单的程序,可以达到快速开发,前期投入成本较低。缺点:很难解决非常复杂的业务逻辑,导致元素之间的耦合度很高,拓展性很差。c语言等。2 . 面向对象:主要关注对象。优点:耦合度低,扩展力强。缺点:成本较高。3.面向对象的特征:封装,继承,多态。4.=采用面向对象的方式开发一个软件:面向对象的分析:ooa面向对象的设计:ood面向对象的编程:oop类类是现实世界中不存在的,是一个模板,是一个概念,是人类大脑思考抽象的结果。类代

2021-09-23 17:09:10 64

原创 Java语言的基础-day5

方法方法就是一段代码片段,可以完成某个特定的功能,并且可以被重复利用。方法定义在类体当中,可以定义多个。方法体中不能定义方法。修饰符列表 返回值类型 方法名 (形式参数列表){ 方法体 }修饰符列表:目前就用 public static。 有static修饰的话,调用需要类名.方法名(实际参数列表)返回值类型:不需要和形参类型一致。需要后面又return。也有可能方法不返回值,需要写void。不需要后面写return。形式参数:中间用,逗号隔开。方法

2021-09-23 12:51:04 66

原创 Java语言的基础-day4

输入从键盘到内存。首先:创建键盘扫描器java.util.Scanner s=new java.util.Scanner(System.in);然后:调用Scanner对象的next()方法开始接受用户输入String userInputContent=s.next();switch语句switch(i){case 1: case 2: case 3: case 10:System.out.println(10);break;default:}循环for,while,do whil

2021-09-22 20:23:07 64

原创 Java语言的基础-day3

标识符在Java程序中凡是程序员自己有权利命名的单词都是标识符。可以标识:类名,方法名,变量名,接口名,常亮名。不能以数字开头,区分大小写,不能用关键字。类名,接口名,后面每个单词首字母大写。常量名全部大写。变量名,方法名,首字母小写,后面每个单词首字母大写。字符单引号+字符双引号+字符串其他不加引号变量数据类型的作用是指导在内存中开辟空间的大小。变量是内存中一个有名字,有数据类型(大小),有字面值的一个空间。数据类型+变量名。变量名=字面值。=是一个赋值运算,把右边的值赋值给

2021-09-22 14:54:09 78

原创 Java语言的基础-day2

环境变量Windows操作系统如何搜索硬盘上的命令:首先会从当前目录下搜索,当前目录搜索不到,会从环境变量path指定的路径当中搜索。如果都没有就报错。JavaC命令的应用(编译)javac+源文件的绝对路径或者相对路径(.java);可以在文件目录上输入cmd直接将dos命令窗口转到此文件目录下。完成javac运行命令后,会生存字节码文件(.class)。源文件有几个类,就会生成几个字节码文件。Java命令的应用(运行)Java+类名;也要先将DOS窗口的目录切换到字节码文件目录上。Ja

2021-09-22 10:21:34 78

原创 Java语言的基础-day1

Java是完全面向对象的面向对象更让人理解,人类通常是以对象的方式认知世界的。Java的健壮性主要是因为Java中有一种机制:自动垃圾回收机制(GC机制)。例如c或c++,执行操作10+20=30的时候,需要内存中找出三个“坑”,第一个坑存10,第二个存20,第三个存30;而c和c++在程序完成后需要程序员自己手动的把这三个“坑”释放填满,否则会占用内存,导致计算机速度越来越慢。而Java中不需要程序员释放,因为JVM会调动GC机制。但是得等到垃圾存到一定量的时候才会去调动GC机制,所以垃圾清理不是

2021-09-18 15:45:32 91

原创 数据结构-什么是数据结构

程序=数据结构+算法数据Data整数,实数,文字,图像,声音等。数据元素 Data element也称为记录,结点或顶点。数据项类似一个整体的学生数据,姓名就是一个数据元素,还有年龄等。数据对象 Data Object性质相同的数据元素的集合。数据结构 Data Structure数据元素不是孤立存在的,他们之间存在某种关系,数据元素相互之间的关系称为结构。分为逻辑结构(数据之间)和物理结构或存储结构(数据和计算机之间)。逻辑结构的种类(1)线性结构:有且仅有一个开始和一个终点。

2021-09-17 09:53:56 79 1

原创 计算机网络-无线网络和移动网络

无线局域网WLAN无线局域网WLAN(wireless local area network)。802.11就是无线以太网的标准。凡是使用802.11系列协议的局域网又被称为Wi-Fi(wireless fidelity,无线保真度)。

2021-09-16 19:18:48 79

原创 计算机网络-应用层

域名系统DNSDNS(domain name system)是互联网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。用户与互联网上某台主机通信时,必须要知道对方的IP地址,而用户很难记住长达32位的二进制或点分十进制的主机地址,在应用层为了方便用户记忆各种网络应用,设置了便于记忆的主机名字。域名到IP地址的解析是由分布在互联网上的许多域名服务器程序共同完成的。当某一个应用进程要把主机名解析为IP地址时,该进程就调用解析程序,并成为DNS的一个客户,把带解析的域名放在DNS请求报中,以U.

2021-09-16 17:33:56 67

原创 计算机网络-运输层

进程之间的通信IP层来说,通信间的两段是两台主机。但是两台主机之间的通信说法是不够清楚的,因为真正通信的是两台主机的进程,是进程和进程之间的相互通信。在一台计算机中经常有多个应用进程同时分别和另一台主机中的多个应用进程通信。这表明运输层有一个很重要的功能–复用(发送方不同的应用进程都可以使用同一个运输层协议传送数据)和分用(接受方的运输层在剥去报文的首部后能够把这些数据正确交付给目的应用进程)。运输层的两个主要协议用户数据报协议UDP(User Datagram Protocol):UDP用户数据报.

2021-09-16 16:40:25 73

原创 计算机网络-网络层

网络层的服务网络在发送分组时不需要先建立连接。每一个分组也就是IP数据报独立发送,网络层不提供服务质量的承诺。网际协议IP网际协议IP是TCP/IP协议中的最主要的协议之一。此时将的是IPV4版本的协议,后面会讲新的版本IPV6。与IP协议配套使用的还有三个协议:地址解析协议ARP,网际控制报文协议ICMP,网际组管理协议IGMP。都在网络层。(1)虚拟互连网络:将网络互连起来要使用一些中间设备。物理层使用的中间设备:转发器(repeater)数据链路层使用的设备:网桥或桥接器(bridge.

2021-09-15 19:25:49 116

原创 计算机网络-数据链路层

使用点对点信道的数据链路层在进行数据通信时,两台计算机之间的数据通信旺旺要经过许多段链路(从一个结点到另一个结点一段物理线路,有线或无线)当需要在一条线路上传输数据时,除了必须有一条物理线路外,还必须有一些必要的通信协议来控制这些数据的传输,也就是硬件和软件加到链路上去,就构成了数据链路也称作逻辑链路。例如现在使用网络适配器来实现这些协议。数据链路层的协议数据单元–帧数据链路层把网络层交下来的数据构成帧发送到链路上,以及把接收到的帧中的数据取出并交给网络层,而网络层协议数据单元就是IP数据报(包,.

2021-09-15 09:55:43 129

原创 浅显的理解程序是如何在计算机上运行的

计算机系统是由硬件和系统软件组成的,他们共同来运行应用程序。信息就是位+上下文一个程序的生命是从一个源程序(source program)或者源文件(source file)开始的,该源程序是由程序员通过编辑器创建并保存为文本文件的,文件名就是(例如Hellow.c)。源程序实际上就是一个由0和1组成的位(比特)序列,这些位被组织成8个一组,称为字节,每个字节表示程序中的某个文本字符。大部分都使用ASCII码来表示文本字符。每行文本都是以一个看不见的换行字符“\n”结束的,所对应的整数值是10。只由

2021-09-11 21:09:42 247

原创 计算机网络-物理层

物理层的主要任务是确定与传输媒体的接口有关的一些特性:机械特性(规定了接线器的形状和尺寸等);电气特性(各条线上的电压范围);功能特性(某条线上电压的意义);过程特性(不同功能的出现顺序)。计算机内部多采用并行传输(并行传输是在传输中有多个数据位同时在设备之间进行的传输.一个编了码的字符通常是由若干位二进制数表示,如用ASCII码编码的符号是由8位二进制数表示的,则并行传输 ASCII编码符号就需要8个传输信道,使表示一个符号的所有数据位能同时沿着各自的信道并排的传输.并行传输时,一次可以传一个字符,收

2021-09-11 16:32:57 106

原创 C语言:求一元二次方程的根(函数方法)

简单的c一个函数只能返回一个值,但可以通过其他方法返回多个值。

2021-04-07 10:28:58 2748

原创 C语言:求两个数的最大公约数和最小公倍数(函数)

简单的c更相减损法。在这里bs函数调用了ys函数;

2021-04-06 21:06:19 473

原创 C语言:输出1到5 的阶乘

简单的c此处用到了静态变量,不会自动释放内存,内存中的值一直存在。

2021-04-06 17:47:23 1302

原创 C语言:求10个学生成绩的最高最低分和平均分

简单的c在此程序中用到了全局变量,当给全局变量赋值后,它的值不会释放或消除,只能被代替。全局变量的生命周期和程序的生命周期一样。

2021-04-06 17:27:03 3631

原创 C语言:求出一个矩阵中的最大值

简单的c

2021-04-05 17:01:54 1209

原创 C语言:用选择法对数组中10个整数排序

简单的c用到了数组形参改变则实参也会发生改变。

2021-04-05 16:34:30 607

原创 C语言:求学生的平均值

简单的c求学生的平均值。在c语言中,double类型的读入必须用"%lf";输出必须用"%f"。double和float的精度是不同的,故存储空间也是不同的,所以如果要读入double类型,必须要用%lf来读入,以免精度丢失。而输出,由于printf中并无对%lf的严格定义,故使用%lf不一定会出现正确结果。那使用%f输出又如何呢?由于c语言中的默认参数提升规则,%f输出的不论是float还是double都会被提升到双精度进行输出,并不会有精度丢失。...

2021-04-05 15:41:50 832

原创 C语言:10个元素,求最大的元素并是第几个元素

简单的c数组作为函数参数。

2021-04-05 14:45:39 358

原创 C语言:Hanoi汉诺问题(函数递归)

简单的c相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置64个金盘(如图1)。游戏的目标:把A杆上的金盘全部移到C杆上,并仍保持原有顺序叠好。操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C任一杆上。 由规律可以推出,移动n个盘子需要经历2^n-1次,分为三个步骤:(1)将A座上的n-1个盘子借助c移动到b座上;(2)将A座上的剩下的

2021-04-05 14:03:36 534

原创 C语言:求n的阶乘(函数的递归调用)

简单的c求n的阶乘。在此处犯了一个错误,就是scanf里面我加了转义字符\n;想象输入设备(键盘)连接着一个叫“缓冲”的东西,把缓冲认为是一个字符数组。当你的程序执行到scanf时,会从你的缓冲区读东西,如果缓冲区是空的,就阻塞住,等待你从键盘输入。现在假设你的缓冲区里有:abcd\n1234\n (其中\n是回车符)执行:scanf(“%s”,name);的时候,由于scanf是读数据直到看见空白符(空白符:指空格符、制表符、回车符)就停止的输入函数。所以执行后,把abcd存到了name中。缓冲区

2021-04-04 10:16:50 8137 1

原创 C语言:求第五个学生的年龄(函数的递归调用)

简单的c求第五个学生的年龄。

2021-04-04 09:50:06 1595 2

原创 C语言:输出图案

简单的c输出图案。

2021-04-03 16:23:09 647

原创 C语言:找出数组中的鞍点

简单的c找出数组中的鞍点。

2021-04-03 15:48:06 207

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除