自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 TCP的滑动窗口

如果没有窗口的话,那么 TCP 每发送一段数据后都必须等到接收端确认后才能发送下一段数据, 这样做的话 TCP 传输的效率实在是太低了。为了提高TCP传输的效率就引进了滑动窗口的概念。窗口的大小就是无序等待应答包就可以继续发送数据包的最大值。操作系统内核为了维护这个滑动窗口,需要开辟发送缓冲区来记录当前还有那些数据没有应答;只有确认应答过的数据才能从缓冲区删掉。接收端响应: ACK的下一个序列码是多少,取决于接受到的连续数据包的最大序列号,也决定了发送端下一个数据包要发送的内容。发送端: 窗口下滑的依

2021-09-05 18:55:50 109

原创 虚拟内存是什么玩意

计算机的存储分级虚拟内存是啥让物理内存扩充更大的逻辑内存,从而让程序获得更多的可用内存。虚拟内存是一种存储模式,通过这种模式能让我们有种感觉,即:我们的内存本身能够处理远比内存大的多的数据或者文件。虚拟内存能够处理比本身更大的数据的原理其实非常简单,你可以简单理解为按需加载,在操作系统里面这种方式有个专有的称呼:Demand Paging,这是虚拟内存管理的一种最常见的策略。为啥要有虚拟内存在早期的计算机中是没有虚拟内存的概念,运行一个程序,会把这个程序全部装入内存,然后运行,当运行多个程序的

2021-09-03 14:06:36 146

原创 字节面试题

给你两个线程交替打印1到100拜托下次别让我写好难啊package 笔试;public class Main implements Runnable{ private boolean runNow; private Object lock; private int num; public Main(boolean runNow , Object lock,int num){ this.runNow = runNow; this.

2021-08-31 21:42:47 86

原创 创建索引的原则

创建索引的原则1 选择唯一性索引,设在主键的列上,可以快速的通过该索引来确定某条记录。2 为需要经常排序、分组和联合操作的字段建立索引。经常需要ORDER BY、GROUP BY、DISTINCT和UNION等操作的字段,排序操作会浪费很多时间。如果为其建立索引,可以有效地避免排序操作。3 为经常需要根据范围进行搜索的列上4 在经常使用where子句的列上面创建索引5 在经常需要根据范围进行搜索的列上6 在经常需要搜索的列上对那些在查询中很少使用或者参考的列不应该创建索引对于那些很少数据值

2021-08-25 18:25:54 295

原创 索引失效的场景

1 or语句的前后没有同时使用索引。(or左右查询字段只有一个是索引,该索引失效)2 复合索引未使用左列字段,即不是使用的第一列索引,索引失效3 like 查询的时候 以%开头,索引无效4 存在索引列的数据类型隐形转换,则用不上索引,比如列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引5 where中在索引字段上使用not,<>,!=(不等于操作符是永远不会用到索引的,因此对它的处理只会产生全表扫描。key<>0 改为 key>0 or key&

2021-08-25 16:44:13 57

原创 左连接 右连接 自连接

左连接 : left join返回的是左表所有记录和右表连接字段相等的记录右连接:返回的是右表所有的记录和左表连接字段相等的记录内连接:只返回两个表中连接字段相等的行全外连接返回左右两个表所有的记录和表中连接字段相等的字段...

2021-08-25 13:22:19 58

原创 类的生命周期

类加载机制JVM把描述类的数据从class文件加载到内存,并对数据进行校验、准备、解析、初始化,最终形成JVM可以直接使用的Java类型的过程。类的加载过程加载:查找并加载类的二进制数据1 通过一个类的权限名来获取其定义的二进制字节流2 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构3 在Java堆中生成一个代表这个类的java.lang.Class对象,作为对方法区中这些数据的访问入口。连接验证确保Class文件的字节流中包含的信息符合当前虚拟机的要求,并且不会危害虚拟机

2021-08-20 16:07:45 51

原创 ThreadLocal

ThreadLocal是啥ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。多线程中使用,线程之间不相关,解决了变量并发访问的冲突问题。1 在进行对象跨层传递的时候,使用ThreadLocal可以避免多次传递,打破层次间的约束。2 线程间数据隔离3 进行事务操作,用于存储线程事务信息。4 数据库连接,Session会话管理。ThreadLocal的原理1 set()方法set()用来设置当前线程中变量的副本1 首先获取到了当前线程t2 后

2021-08-17 22:09:09 55

原创 多线程常见的API方法

进程和线程的区别1 进程是操作系统进行资源分配的最小单位,线程是操作系统进行任务调度的最小单位2 进程之间的地址空间和资源都是相互独立的,一个进程中的线程是共享本进程的地址空间和资源的3 一个进程可以拥有多个线程,多个线程拥有自己的程序计数器,虚拟机栈,本地方法栈,共享进程里的堆和方法区。4 一个进程奔溃了,不会影响其他进程,而一个线程崩溃了会影响其他线程,可能会导致整个进程崩溃。Start()和run()的区别1 start方法是线程启动的方法,run方法是用于执行线程运行时候的代码,run方

2021-08-06 17:20:54 149

原创 Synchronized关键字

synchronized关键字是啥?1 syn是通过给对象头加锁,就是设置对象头的锁状态的方式,用来控制线程同步的,可以用来修饰 方法 代码块 ,可以保证原子性,有序性,可见性,1.6之前syn是重量级锁,效率很低下,在1.6之后进行优化,比如说:锁消除,偏向锁,轻量级锁,重量级锁减小了锁操作的开销。(代码块同步是使用monitorenter和monitorexit指令实现的,线程执行monitorenter指令时尝试获取monitor的所有权,monitorexit退出monitor,不再是这个mo.

2021-08-05 23:37:48 264

原创 生产者消费者模型

1 问题描述生产者生成一定量的数据放到缓冲区中,然后重复此过程;与此同时,消费者也在缓冲区消耗这些数据。生产者和消费者之间必须保持同步,要保证生产者不会在缓冲区满时放入数据,消费者也不会在缓冲区空时消耗数据。不够完善的解决方法容易出现死锁的情况,此时进程都在等待唤醒。1 利用缓冲区解决 管程法package 生产者消费者模型;// 利用缓冲区解决 管程法// 生产者 消费者 缓存区 产品public class Storage { public static void main(Str

2021-08-04 18:54:04 60

原创 多线程之 死锁

死锁是啥死锁: 是指的是两个或者两个以上的线程在执行的过程中,互相持有对方的资源并且不主动释放造成的恶性循环。死锁的四个必要条件1 互斥条件:线程对所分配的资源具有排他性,即一个资源只能被一个线程占有,直到这个资源被释放2 请求与保持条件:一个线程因为请求被占有资源而发生阻塞的时候,对已经获得的资源保持不放。3 不剥夺条件:线程已获得的资源,在其未使用完之前不能被强行释放,只能在自己使用完毕才能释放这个资源。4 循坏等待条件:当发生死锁的时候所有的线程都会形成一个死循环,造成永久阻塞。如何解决

2021-08-04 14:01:35 117

原创 用户线程和守护线程

1.用户线程和守护线程的区别 1.主线程结束后用户线程还会继续运行,JVM存活 2.如果没有用户线程,都是守护线程,那么JVM结束(所有的线程都会结束)2.用户线程和守护线程的适用场景 守护线程是一种特殊的线程,在后台默默地完成一些系统性的服务,比如垃圾回收线程、JIT线程都是守护线程。与之对应的是用户线程,用户线程可以理解为是系统的工作线程,它会完成这个程序需要完成的业务操作。如果用户线程全部结束了,意味着程序需要完成的业务操作已经结束了,系统可以退出了。所以当系统只剩下守护进程的时候,java虚

2021-08-02 16:56:13 94

原创 java复习垃圾收集器

1. Serial收集器单线程工作的收集器,Stop The World :它进行垃圾收集时, 必须暂停其他所有工作线程, 直到它收集结束2. ParNew收集器是Serial收集器的多线程版本3. Parallel Scavenge 收集器基于标记-复制算法实现的收集器 多线程 注重吞吐量 自适应调节4. Serial Old 收集器 Serial收集器的老年代版本, 它同样是一个单线程收集器, 使用标记-整理算法5. Parallel Old 收集器Parallel S

2021-08-02 15:40:14 55

原创 java复习之JVM

JVM JDK JRE 的关系JDK:Java Development Kit 是提供给java开发人员使用的,其中包含了Java的开发工具,也包括了JRE。所以安装了JDK,就无需再单独安装JRE了。其中的开发工具:编译工具(javac.exe),打包工具(jar.exe)等JVM:是Java虚拟机,Java程序需要运行在虚拟机上,不同的平台有自己的虚拟机,因此Java语言可以实现跨平台。JRE:Java虚拟机和Java程序所需的核心类库等。核心类库主要是java.lang包:包含了运行Java程序

2021-08-01 15:26:12 100

原创 线程池的优势是啥

线程池的优势是啥1 线程是稀缺资源,使用线程池可以减少创建和销毁线程的损耗,每个工作线程都可以重复使用2 可以根据系统的承受能力,调整线程池中的工作线程的数量,防止消耗过多内存导致服务器奔溃线程池的创建1 使用工具类 Executors创建1 newSingleThreadExecutor: 创建一个单线程的线程池,这个线程池只有一个线程在工作。2 newFixedThreadPool : 创建一个固定大小的线程池,每次提交一个任务就会创建一个线程,直到线程达到线程池的大小3 newCache

2021-07-31 20:30:59 571

原创 常见的排序算法

常见的排序算法可以分为两大类: **非线性时间比较类排序**:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序。算法的复杂度1 冒泡排序在无序的区间里通过相邻数的比较,将最大的数的冒泡到无序空间的最后,持续这个过程,让数组整体有序 /* * 冒泡排序 * 时间复杂度 为 O(n^2)

2021-07-30 16:01:48 60

原创 java多线程复习之synchronized

JVM中对象分为三部分对象头:Mark Word(标记字段):默认存储对象的HashCode,分代年龄和锁标志位信息。它会根据对象的状态复用自己的存储空间,也就是说在运行期间Mark Word里存储的数据会随着锁标志位的变化而变化。Klass Point(类型指针):对象指向它的类元数据的指针,虚拟机通过这个指针来确定这个对象是哪个类的实例。**实例变量:**这部分主要是存放类的数据信息,父类的信息。填充数据:于虚拟机要求对象起始地址必须是8字节的整数倍,填充数据不是必须存在的,仅仅是为了字节对齐

2021-07-29 17:18:22 156

原创 java复习之CAS

CAS原理什么是CASCAS是一条CPU并发原语,用于判断内存中某个位置的值是否为预期值,如果是则更改为新的值,如果不是就重新获取这个值再判断修改,这个过程是原子的。CAS机制中使用了3个基本操作数:内存地址V,旧的预期值A,要修改的新值B。CAS原理CAS并发原语体现在Java中就是sun.misc.Unsafe类中的各个方法。调用UnSafe类中的CAS方法,JVM会帮我们实现CAS汇编指令。这是一套完全依赖于硬件的功能,通过它实现了原子操作。由于CAS是一种系统原语,原语属于操作系统用语,原

2021-07-29 15:33:23 69

原创 java复习多线程Volatile关键字

1 volatile关键字能保证可见性,代码重排序,但是不能保证原子性,只能修饰变量volatile关键字如何保证可见性当一个变量被volatile关键字修饰的时候,当它的值别修改的时候会立即从缓存中刷新到主内存中,其他线程如何监听这个值的时候,就会发现这个变量已经修改,会重新拉取主内存的值到缓存中。缓存一致协议 ;底层实现主要是通过汇编lock前缀指令,它会锁定这块内存区域的缓存(缓存行锁定)并写回到主内存中。volatile关键字为啥不能保证原子性如果一个变量被volatile修饰了,那么肯定可

2021-07-29 13:02:28 44

原创 抽象类和接口

抽象类:抽象类不能被实例化,要想使用只能创建该抽象类的子类,然后让子类重写抽象类中的抽象方法。抽象方法没有方法体(只声明,不实现,具体的实现要由子类实现)抽象类可以包含非抽象方法,也可以包含字段抽象方法必须是pubulic抽象类不能被实例化要用abstract关键字声明抽象类抽象类可以由构造器一个类只能继承一个抽象类abstract class shape { private String name; shape(String name){ this.

2021-07-27 13:00:31 31

原创 设计模式之单例模式

**单例模式:就是只有一个实例**,并且它自己负责创建自己的对象,这个类提供了一种访问其唯一对象的方式,可以是直接访问,不需要实例化该类的对象。一个类只能构建一个对象的模式。核心代码就是:构造方法私有化**1 懒汉模式用的时候才去检查有没有实例,如果有则返回,没有则新建public class Singleton { private Singleton(){} //私有构造函数 private static Singleton instance = null; //单例对象

2021-07-27 12:13:14 33

原创 HashMap

HashMapHashMap是hash表的一种实现,数据采用键值对的方式存储,解决冲突采用的是链地址法,当有数据发生冲突时,将冲突的部分链接成链表。HashMap是一种数据结构,可以快速的帮我们存取数据,在jdk1.7的时候采用的是数组加链表的形式,1.8之后采用的是数组加链表还有红黑树的形式,当链表个数大于8个时候就会变成红黑树,如果长度降到7之后又会变成链表,黑树的出现解决了因为链表过长导致查询速度变慢的问题,因为链表的查询时间复杂度是O(n),而红黑树的查询时间复杂度是O(logn)。Hash

2021-07-25 22:22:14 83

原创 在浏览器输入一个url按下回车会发生什么

回答一URL,统一资源定位符,l简单点就是网址=ip或域名 + 端口号 + 资源位置 + 参数 + 锚点1.输入一个网址之后,首先浏览器通过查询DNS,查找这个URL的IP地址,(通过层层向上级DNS服务器查找直到找到对应URL的IP地址)2.得到目标服务器的IP地址及端口号(http 80端口,https 443端口),会调用系统库函数socket,请求一个TCP流套接字。客户端向服务器发送HTTP请求报文(1)应用层:客户端发送HTTP请求报文。(2)传输层:(加入源端口、目的端口)建立连

2021-07-25 18:04:23 179 1

原创 面向对象的三大特征

封装隐藏对象的属性和实现细节,仅对外提供公共的访问方式,将变化隔离,便于使用,提高复用性和安全性继承继承是多态的前提使用extends 指定父类java一个类只能继承一个父类子类可以继承父类所有非private的属性和方法子类也可以拥有自己的方法和属性多态多态是指:程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编译时候并不明确,而是要等程序运行的时候才知道,*即一个引用变量会指向那个类的实例对象,该引用调用的方法到底是那个类的方法,必须有程序运行时候才能决定。*实现

2021-07-25 18:00:15 37

原创 重载和重写的区别

两者的区别:方法是重载和重写都是实现多态的方式,区别在于前者是实现编译时候的多态性,后者是实现运行时候的多态性重载:发生在一个类里面,方法名称相同,参数列表不同(参数类型不同,个数不同,顺序也不同),与方法的返回值和访问修饰符无关,即重载不能根据方法的返回类型进行区分。重写:发生在父子类中,方法名,参数列表必须相同,返回值小于或者等于父类,访问修饰符大于等于父类,如果父类的方法访问修饰符为private就不能被子类重写。构造器是否可被重写构造器不能继承,所以就不能被重写,但是可以重载。方法重载的

2021-07-25 17:10:16 39

原创 Mysql 的优化

Mysql的优化方式选取合适的字段属性使用连接来代替子查询使用联合来代替手动创建的临时表事务锁定表外键使用索引优化查询语句

2021-07-24 19:05:20 43

原创 MYSQL的锁

锁的分类select .... for update -- 会使用行级锁表级锁锁的是一张表,锁的颗粒度最大,发生锁冲突的概率最大,不会发生死锁,并发度底表级锁有两种一种是表锁一种是元素锁*表锁有两种表现形式表共享读锁表独占写锁元数据锁 MDL 元数据当对一个表做增删改差操作的时候,加MDL读锁;当要对表做结构变更操作的时候加MDL写锁;行级锁每次锁的是一行数据,锁定的粒度最小,发生锁冲突的概率最低,并发度最高。可能会发生死锁应用在InnoDB的存储引擎中行锁:

2021-07-23 22:54:16 45

原创 mysql 如何设计一个数据库

糟糕的数据库设计数据冗余,浪费空间数据库插入和删除都比较麻烦程序的性能差良好的数据库设计节省空间保证数据库的完整性方便我们开发系统软件开发中关于数据库的设计分析需求:分析业务和需求处理的数据库的需求概要设计:设计关系图E-R图设计数据库的步骤(个人博客)1 收集信息,分析需求用户表(用户登录注销,用户的个人信息 写博客,创建分类 )分类表(文章分类,谁创建的)文章表(文章的信息)有链表(友练信息)自定义表(系统信息,某个关键字,或者一些字段) key : va

2021-07-23 20:42:51 457

原创 java复习 事务

数据库怎么存放数据 : 先把数据放到表里 再把表放到数据库里一个数据库可以有多个表 表名字不能相同表有一些特征,这些特性定义了数据库在表中如何存储表由列组成,我也成为字段所有表都是由一列或者多列组成的表中的数据是按行存储的什么是事务(Translation)数据库的事务是指一组sql语句组成的数据库逻辑处理单元,在这组的sql操作中,要么全部执行成功,要么全部执行失败事务是一个不可分割的数据库操作序列,也就是数据库控制并发控制的基本单位;组成: 一个数据库事务通常包含对数据库进行读和写的一个

2021-07-23 17:34:13 65

原创 关系型数据库 和 非关系型数据库

什么是关系型数据库?系型数据库指的是使用关系模型(二维表格模型)来组织数据的数据库。什么是关系模型关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。常见的关系型数据库管理系统MysqlSQLiteOracleIBM DB2关系型数据库的优势?采用二维表结构非常贴近正常开发逻辑支持通用的SQL语句丰富的完整性大大减少了数据冗余和数据不一致的问题。并且全部由表结构组成,文件格式一致;可以用SQL句子多个表之间做非常繁杂的查询关系

2021-07-23 16:31:29 924

原创 数据结构 — 二叉树的详解与实现

1 树型结构1.1 概念树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且只有一个父结点;除了根结点外,每个子结点可以分为多个不相交的子树 。1.2 树的概念节点的度: 一个节点含有的子树的个数称为该节点的度; 如上图 A的度为6.树的度: 一棵树中,最大的节点的度称为树的度; 如上图:树的度为

2021-07-22 20:20:19 81

原创 java复习 数据库 索引

索引是啥? index索引是一种能帮助MYSQL提高查询效率的数据结构索引是一种特殊的文件,包含这对数据库表里所有记录的引用指针索引是一种数据结构。数据库的索引是数据库管理系统中一个排序的数据结构,以协助快速查询,更新数据库表中的数据。索引的通常实现使用B树或者B+树通俗的说索引就是一个目录,表相当于书,数据相当于书里的内容,通过内容建立索引形成目录索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。索引的优势大大的加快数据的查询速度索引的缺点1 维护索引耗费数据库资源2 索

2021-07-22 19:28:48 252

原创 HsahMap如何实现顺序读取?

用LinkedHashMap : LinkedHashMap是HashMap的子类HashMap是无序的,简单来说LinkedHashMap是一个有序的HashMap。LinkedHashMap提供的节点添加了两个属性before和after节点,用来生成双向循环列表的,这样每次在Map中添加值都会追加到链表的最后一位,这样就按照插入顺序生成了一个链表LinkedHashMap实现有序key值的关键就是根据插入顺序另外维护了一个按照插入顺序作为标记的双向循环列表,这样在获取所有数据进行循环获取时获取到的

2021-07-22 16:38:36 350

原创 java复习之网络 —— 网络层 和 数据链路层

网络层:复杂的网络环境中确定一个合适的路径,负责提供基本的数据传送功能,负责地址管理和路由器的选择IP协议P地址分为两个部分, 网络号和主机号网络号: 保证相互连接的两个网段具有不同的标识;主机号: 同一网段内, 主机之间具有相同的网络号, 但是必须有不同的主机号;网段的划分可见,IP地址与子网掩码做与运算可以得到网络号, 主机号从全0到全1就是子网的地址范围;IP地址和子网掩码还有一种更简洁的表示方法,例如140.252.20.68/24,表示IP地址为140.252.20.68, 子网

2021-07-19 12:45:50 88

原创 JAVA复习之网络—— 传输层TCP/UDP协议

传输层*负责数据能够从发送端传输到接受段,负责可靠的传输*端口号是啥?**物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。我们这里将要介绍的就是逻辑意义上的端口。0 - 1023: 知名端口号, HTTP, FTP, SSH等这些广为使用的应用层协议, 他们的端口号都是固定的.1024 - 6...

2021-07-18 16:39:46 267 2

原创 java复习网络重点协议 —— 应用层

应用层应用层的作用: 为用户的应用进程提供网络通信服务的应用层的协议: HTTP协议HTTP协议http协议是干嘛的?HTTP: 超文本传输协议,规定了浏览器和万维网服务器之间互相通信的规则。是一种应用层协议,工作在TCP之上。HTTP就是一个通信规则,通信规则规定了客户端给服务的发送的内容格式,也规定了服务器给客户端的内容格式。客户端发送给服务端称为请求协议 服务端发送给客户端称为响应协议它是通过请求和响应交换达成的通信的无状态是一种不保存状态的协议无连接 每次连接就只处理一个请求处

2021-07-17 11:48:53 238

原创 JAVA复习之网络 —— 网络的传输流程

网络的传输流程网络传输路径的起点: IP地址 终点:IP地址网络数据传输是基于网络硬件设备一个一个的传输(一跳一跳)每一个传输的起点和终点都是基于MAC地址每一次传输都涉及路由器和主机,都有封装和分用IP与MAC的区别:IP是路途总体的起点和终点;MAC是路途上每个区间的起点和终点1 网络互连 (集线器)集线器的作用:只做数据的转发**ARP协议:**建立IP与MAC的映射主机ARP缓存表ARP协议建立了主机IP地址和MAC地址的映射关系在网络通讯时,源主机的应用程序知道目的主

2021-07-16 16:16:39 307

原创 java复习之网络

网络的基础理论 —— 网络分层**1 OSI七层模型**应用层:表示层会话层传输层网络层数据链路层物理层*TCP/IP五层模型*应用层: 应用程序间沟通的层,为用户的进程提供网络通信服务协议: 域名协议DNS协议 HTTP协议 SMTP协议传输层: 负责数据能够从发送端传输到接收端,负责可靠传输协议:TCP协议 UDP协议网络层:负责提供基本的数据传送功能,负责地址管理和路由器的选择。让每一块数据包都能够到达目的主机(但不检查是否被正确接收)协议: IP协议数据链路

2021-07-16 11:27:21 47

原创 Java中的数组

什么是数组数组的本质是存放相同类型的数据的集合,数组的内存是连续的,数组可以通过下标来访问其中的元素。创建一维数组定义一个数组的同时经行初始化。动态初始化数据类型 [ ] 数组名称=new 数据类型 [ ] { 初始化数据 };代码示例int[] arr= new int[] {1,2,3}静态初始化数据类型 [ ] 数组名称= {初始化数据} 代码示例int [ ...

2019-10-20 17:34:42 107

空空如也

空空如也

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

TA关注的人

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