自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java基础数据结构(1)

目录ArrayList和LinkedList的区别ArrayList和LinkedList的区别ArrayList是实现了基于动态数组的数据结构,如果内存不够,进行1.5倍扩容。而LinkedList是基于链表的数据结构,LinkedList是个双向链表,它同样可以被当作栈、队列或双端队列来使用对于随机访问get和set,ArrayList要优于LinkedList,因为LinkedList要移动指针。ArrayList想要get(int index)元素时,直接返回index位置上的元素,而Lin

2021-07-20 16:23:34 123

原创 Java中的String类相关知识

目录1.源码实现2.字符串比较3.字符串拼接操作:"+"3.1字符串常量+字符串常量3.2变量+字符串常量String StringBuilder StringBuffer和区别1.源码实现1)String类实现了Serializable、CharSequence、 Comparable接口。2)String实例的值是通过字符数组实现字符串存储的。3)String类被final关键字修饰,意味着String类不能被继承,并且它的成员方法都默认为final方法,字符串一旦创建就不能再修改。2.字符串

2021-07-20 16:07:40 183

原创 JavaSE基础(2)

目录异常异常的分类异常处理机制Object类中的方法final finally finaize的区别抽象类和接口的区别1.实现方法子类使用的关键词不一样是否有构造器可以使用的修饰符速度方面增加新方法对子类的影响子类能继承的数量反射反射的使用1.拿到当前类的class对象2.通过反射获取构造方法,生成当前类的对象3.通过class对象获取成员变量或者成员方法进行方法调用类加载类加载时机类加载过程1.装载阶段2.链接阶段3.初始化阶段异常异常机制是指当程序出现错误后,程序如何处理。异常的分类在 Java

2021-07-20 15:36:00 221

原创 JavaSE基础(一)

目录类和对象面向对象四大特征封装继承多态抽象final关键字static关键字static的作用修饰变量修饰方法修饰类单例模式饿汉单例模式懒汉单例模式解决方法访问限定符public :公共权限private:私有权限protected:受保护权限default:默认权限重写和重载重写重载重载和重写的区别类和对象面向对象四大特征封装封装就是把信息进行隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留

2021-07-19 17:26:13 116

原创 Java排序算法之快排

目录简介排序步骤算法实现简介快速排序(Quicksort)是对冒泡排序算法的一种改进。快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。排序步骤快速排序算法通过多次比较和交换来实现排序,其排序流程如下:(1)首先设定一个分界值mid,通过该分界值将数组分成左右两部分。(2)将

2021-05-01 17:39:50 179 1

原创 Java排序算法之希尔排序

目录概念算法思想算法实现算法分析概念希尔排序(Shell’s Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本,可以针对中等规模大小进行排序。希尔排序是基于插入排序的以下两点性质而提出改进方法的:1、插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率。2、但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位。算法思想先取一个小于n的整数gap作为第一个增量,把文件的全

2021-04-22 15:58:51 186

原创 Java排序算法之插入排序

目录概念基本思想算法实现编程优化概念插入排序,一般也被称为直接插入排序。相对于少量元素的排序来说是一个有效的算法。插入排序是一种最简单的排序方法,它的基本思想是将一个数据插入到已经排好序的有序表中,从而形成一个新的、数据增加1的有序表。基本思想插入排序的工作方式像许多人排序一手扑克牌。开始时,我们的左手为空并且桌子上的牌面向下。然后,我们每次从桌子上拿走一张牌并将它插入左手中正确的位置。为了找到一张牌的正确位置,我们从右到左将它与已在手中的每张牌进行比较。拿在左手上的牌总是排序好的,原来这些牌是桌子

2021-04-19 21:23:21 148

原创 Java排序算法之选择排序

目录一、什么是选择排序二、算法实现编程实现一、什么是选择排序选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。二、算法实现1、初始状态:无序区为R[0,…,n-1](共n个元素),有序区为空。2、第1趟排序设置一个变量i,让i从0至n-2循环的同时,对比数组中元素i跟

2021-04-19 18:17:26 719

原创 Java排序算法之冒泡排序

目录一、什么是冒泡排序二、算法原理三、算法实现编程实现程序的优化一、什么是冒泡排序冒泡排序是一种较为简单的排序算法。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。二、算法原理(1)对相邻元素进行比较。如果第一个比第二个大,就交换他们两个。(2)对每一对相邻元素都进行(1)操作,从开始第一对到结尾的最后一对。最后的元素应该会是最大的数。(3)对所有的元素重复以上的步骤,除了最后一个。(

2021-04-19 17:07:56 279

原创 Java中的synchronized关键字

文章目录并发编程概念线程同步问题synchronized关键字底层原理synchornized的使用场景并发编程概念并发编程是为了提高程序的执行速度,在宏观上使得多个任务同时执行,则需要启动多个线程,但事实启动多个线程之后,不管针对单核cpu还是多核cpu线程进行上下文切换(cpu 通过)给每一个线程分配时间片,只有说拿到时间片的线程才可以执行,通常时间片很短,所以才会感觉到多个线程在并行操作,存在线程不安全性。一个正确执行的并发程序,满足并发编程的三大特性,原子性、可见性、有序性1) 原子性所谓原

2021-02-23 19:46:43 90

原创 Java线程基础

文章目录线程和进程的概念进程和线程的认识多线程和多进程的区别线程的创建线程的生命周期线程中的常用方法线程和进程的概念进程和线程的认识1)进程指的一段正在运行的程序一个程序运行中可以执行过个任务,任务称之为线程。2)进程是程序执行过程中资源分配和管理的基本单位,线程是cpu执行最小单位。进程拥有自己的独立的地址空间,每启动一个进程,系统就会分配地址空间。进程可以拥有多个线程,各个线程之间共享程序的内存空间。为什么出现线程?每个进程有自己独立的地址空间,多并发请求,为每一个请求创建一个进程,从而导致

2021-02-23 19:15:26 78

原创 Java中HashMap相关知识点

这里写目录标题HashMap使用HashMap底层结构HashMap源码分析HashMap常见面试题HashMap使用哈希表哈希表也称散列表,根据关键码值key 进行访问的数据结构,也就是说,能够将关键码映射到表中一个位置我们就可以去访问其记录value,加快查找的速度,这个映射函数叫做散列函数,存放记录的数组叫做散列表。数组:寻址容易O(1),插入和删除困难O(N)链表:寻址困难O(N),插入和删除容易O(1)综合两者的特性,变成了一个寻址容易,插入删除也容易的数据结构哈希表有多种不同的结构(

2021-02-23 18:53:04 305 1

原创 Linux一些操作合集之网络

文章目录pingifconfignetstatpingping 命令是用来测试TCP/IP 网络是否畅通或者测试网络连接速度的命令,对确定网络是否正确连接,以及网络连接的状况十分有用。简单的说,ping就是一个测试程序,如果ping运行正确,大体上就可以排除网络访问层、网卡、Modem的输入输出线路、电缆和路由器等存在的故障,从而缩小问题的范围。ping命令的原理是根据计算机唯一标示的IP 地址,当用户给目的地址发送一个数据包时,对方就会返回一个同样大小的数据包,根据返回的数据包用户可以确定目的主机的

2021-02-21 16:41:51 151

原创 Linux一些操作合集之计算机组成与进程

文章目录指令进程PIDPCB进程管理命令pspstreejobsfg bgkillpkillkillAlltoppidstat指令(1) 指令 : 是指示计算机执行某种操作的命令。一条指令通常由两部分构成:地址码 和操 作码。(2) 程序 : 由一条一条的指令构成。(3) 指令周期 :cpu 每取出并执行一条指令所需的全部时间称为指令周期。(4) 指令系统 :计算机能够执行的全部指令的集合称为该计算机的指令系统。(5) RISC :精简指令系统计算机。(6) CISC :复杂指令系统计算机。

2021-02-21 16:34:47 113

原创 Linux一些操作合集(2)

文章目录文件查看命令文本查看数据统计文件编辑命令vim命令vim配置文件find命令grep命令文件查看命令文本查看cat查看文件内容合并文件往文件中写入数据, Ctrl+d 是结束输入more当一个文件的内容超过一个屏幕能显示的行数,使用 more 可以分屏显示文件内容。使用方式: more filenameless文本内容查看器,查看文件内容,但是文件内容不会显示到界面上head显示文件前 n 行的内容tail显示文件后 n 行的内容数据统计wc统计文件中单

2021-02-21 16:09:33 80

原创 Linux一些操作合集(1)

文章目录终端基本操作查看命令使用开机与重启runlevel路径用户管理创建新用户切换用户修改用户密码删除用户文件操作查看文件创建文件删除文件文件复制与重命名修改文件权限编辑文件打包压缩终端基本操作终端打开方式:ctrl +alt+t、右键打开终端放大 :ctrl shift + 放小:ctrl -命令清屏 :clear ctrl + l查看命令使用man + 命令帮助手册,用来查看命令、系统调用,库函数等帮助信息1:查看命令的帮助2:查看可被内核调用的函数的函数的版

2021-02-21 15:54:06 89

原创 Linux基本认识

文章目录什么是LinuxLinux和Windows的区别Linux有哪些发行版本Linux目录结构家目录的概念什么是LinuxLinux 就是一组软件,而软件分为操作系统软件和应用软件,当然 Linux 属于操作系统软件。计算机是由一堆硬件组成的,为了有效的控制这些硬件资源,于是乎就有了操作系统的 产生,操作系统除了有效的控制这些硬件资源的分配,并提供计算机运作所需要的功能(如网络功能)之外,为了要提供程序设计师更容易开发软件的环境,所以操作系统也会提供一 组系统调用的接口。而 Linux就是一款十分

2021-02-21 15:14:46 324

原创 Java实现银行家算法(进程数和资源数需从键盘输入)

Java实现银行家算法文章目录Java实现银行家算法前言银行计算法概述主要思路1.初始化2.进行银行计算法2.进入安全性算法程序流程图源代码运行结果前言本文参考了还我瓶邪这位博主的代码,在此基础上做了一些修改,改成需要从键盘输入获得资源数目和进程数目以及初始情况下的可用资源量银行计算法概述避免死锁算法中最有代表性的算法是Dijkstra E.W 于1968年提出的银行家算法:银行家算法是避免死锁的一种重要方法,防止死锁的机构只能确保上述四个条件之一不出现,则系统就不会发生死锁。通过这个算法可

2020-12-13 15:33:23 1784

原创 Java类和对象(继承、多态、封装)

Java类和对象概念面向对象编程:类和对象把一系列具有相同属性和行为的物体归为一个类,如:class 人{属性,行为}继承和多态方法重载继承:子类对象具有父类的实例域和方法类与类关系组合关系: has a继承: is anew出来的对象的属性以及方法:父类继承下来的自己增加的同包路径:默认权限跨包路径:子类访问父类,父类参数用protected修饰面试题:Java继承为什么只能单继承不能多继承?会出现棱形继承重写在方法前加一个@Override,重写子类继

2020-11-17 16:25:56 181

原创 Java迷宫项目代码

java迷宫项目项目介绍:一个网格迷宫由n行m列的单元格组成,每个大院要么是空地(用0表示),要么是障碍物(用1表示)。你的任务是找一条从起点到终点的移动序列,其中只能上下左右移动到相邻单元格。任何时候都不能在有障碍物的单元格中,也不能走到迷宫之外。起点为左上角和终点右下角。项目功能:解决迷宫路径查找问题,寻找一条从左上角迷宫入口到右下角迷宫出口的一条有效路径,0代表可走,1代表不能行走,找到请输出最终的迷宫和路径信息,找不到请输出不存在有效路径。项目所用知识点:采用Java面向对象思想,二维数

2020-11-10 22:30:14 1569 1

空空如也

空空如也

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

TA关注的人

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