自定义博客皮肤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)
  • 收藏
  • 关注

原创 Spring Boot的自动装配原理

自动装配是springboot的核心,一般提到自动装配就会和springboot联系在一起。实际上SpringFramework早就实现了这个功能。SpringBoot只是在其基础上,通过SPI的方式,做了进一步优化。SpringBoot定义了一套接口规范,这套规范规定SpringBoot在启动时会扫描外部引用jar包中的文件,将文件中配置的类型信息加载到Spring容器(此处涉及到JVM类加载机制与Spring的容器知识),并执行类中定义的各种操作。...

2022-07-20 19:12:47 36525 3

原创 JVM常用调优参数 ——JVM篇

JVM常用性能调优参数详解​ 在学习完整个JVM内容后,其实目标不仅是学习了解整个JVM的基础知识,而是为了进行JVM性能调优做准备,所以以下的内容就是来说说JVM性能调优的知识。一、性能调优​ 性能调优包含多个层次,比如:架构调优、代码调优、JVM调优、数据库调优、操作系统调优等等。​ 架构调优和代码调优是JVM调优的基础,其中架构调优是对系统影响最大的。性能调优基本上按照以下步骤进行:明确优化目标发现性能瓶颈性能调优通过监控及数据统计工具获得数据确认是否达到目标二、何时进

2022-03-18 22:18:40 21781 3

原创 JVM 基础到入门 —— JVM篇

JVM 基础到入门一、JVM 基础1.jdk2.jre3.javac 指令4.Java 指令5.jvm二、从跨平台的语言到跨语言的平台三、常见的虚拟机四、插件安装1.IDEA 插件 Bined2.IDEA 插件 jclasslib Bytecode Viewer​ Java可以获得如此广泛的认可,除了它拥有一门结构严谨、面向对象的编程语言之外,还有许多不可忽视的优点:它摆脱了硬件平台的束缚,实现了“一次编写,到处运行”的理想;它提供了一种相对安全的内存管理和访问机制,避免了绝大部分内存泄漏和指针越界问题

2022-01-09 22:06:58 1602 2

原创 Java基础知识复习大纲

知识大纲整理一、Java常量变量1.常量二、Java运算符三、Java循环四、Java数组五、Java函数一、Java常量变量1.常量    常量就是指在程序中直接出现的一些数据,也叫字面量。常量都有哪些:整数常量:在计算机中二进制,八进制,十进制,十六进制都可以代表常量。//整数常量 System.out.println(10); //十进制整数 System.out.println(0b1001); //二进制整数 打印出来是十进制 System.out.println(012

2021-09-19 16:27:43 877 2

原创 回溯算法之迷宫问题(Maze)

回溯算法之迷宫问题前言算法思路一、回溯算法二、经典问题之迷宫问题(Maze)(一)问题阐述前言    迷宫问题是回溯算法的经典问题算法思路一、回溯算法    回溯算法实际上是一个类似枚举的搜索尝试过程,主要是在搜素尝试过程中寻找问题的解,当发现已满足求解条件时,就“回溯”返回,尝试别的路径。    回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标,但当搜索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种不通就回退再走的技术称为回溯法,而满足回溯条件的某个状态的点称为“回

2021-07-22 21:39:36 18601 5

原创 如何在Linux里面安装Java的运行环境(详细过程)

如何在Linux里面安装Java的运行环境步骤如何在Linux里面安装Java的运行环境使用工具第一步1.1检查Linux服务器是否已经安装了Java环境1.2查看Linux服务器安装的jdk安装包的信息1.3 卸载已有不需要的安装包第二步2.1 下载jdk82.2 下载好后,用Xftp软件将压缩包移进Linux第三步3.1XShell,建立连接3.2通过XShell解压jdk安装包3.4首页vim,Shell语言配置环境变量第四步4.1使用source .bashrc 刷新一下.bashrc文件4.2通

2021-06-15 16:23:29 13845 4

原创 算法设计与分析 (知识点总结)

算法设计与分析目录算法设计与分析前言第一章 算法基础1.1 算法概述1.2 算法分析前言    通过学习掌握算法设计的主要方法,对算法的时、空复杂性有正确分析的能力,能够针对具体的应用问题选择合适的数据结构并设计结构清晰、正确有效的算法,为独立设计算法和对算法进行复杂性分析奠定坚实的理论基础。第一章 算法基础1.1 算法概述1.什么是算法?    算法(algorithm):算法是对特定问题求解步骤的描述,是指令的有限序列。就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值

2021-03-04 21:20:25 41962 7

原创 学习笔记之Vue中的vue-router(六)

vue-router

2023-04-03 03:35:00 553

原创 学习笔记之Vue3(七)

Vue2到Vue3,学习Vue3的基本使用

2023-04-03 03:34:10 6474 1

原创 学习笔记之Vuex(五)

学习Vue中的Vuex

2023-02-26 21:19:19 1008

原创 学习笔记之Vue中的Ajax(四)

学习Vue中的Ajax

2023-02-26 21:19:11 1826

原创 学习笔记之Vue脚手架(三)

学习使用Vue脚手架

2023-01-05 23:04:14 451

原创 ES6模块化

ES6模块化

2023-01-03 18:58:35 705

原创 学习笔记之Vue组件化编程(二)

学习Vue基础,通过学习Vue2掌握Vue相关技术,在过渡到Vue3

2022-12-31 01:06:50 808

原创 学习中间件之redis基础学习

Redis是一个开源的内存数据结构存储,用作数据库,缓存和消息代理;Memcached是一个免费的开源高性能分布式内存对象缓存系统,它通过减少数据库负载来加速动态Web应用程序。memcached是高性能的分布式内存缓存服务器。一般使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态web应用的速度、提高可扩展性。redis是一个开源的内存数据库,它以键值对的形式存储数据。

2022-11-06 21:30:58 609

原创 学习笔记之Vue基础学习(一)

学习Vue基础,通过学习Vue2掌握Vue相关技术,在过渡到Vue3

2022-11-06 21:00:16 1163

原创 MySQL数据库高级篇 —— MySQL数据库

MySQL数据库高级篇一、索引高级二、数据库日志1. MySQL物理文件的组成1.1 日志文件1.2 数据文件1.3 其他文件三、存储引擎1.1 InnoDB存储引擎1.2 MyISAM存储引擎InnoDB和MyISAM的区别四、锁机制1.1 乐观锁和悲观锁(从策略上划分)1.1.1 乐观锁1.1.2 悲观锁1.1.1.1 行级锁(从粒度角度划分)共享锁和排它锁(从读写角度划分)1.2 表级锁(从粒度角度划分)1.3 页级锁(从粒度角度划分)一、索引高级​ 索引(Index)是帮助MySQL高效获取

2022-04-21 00:10:27 3153

原创 Redis基础知识点

Redis基础这里写目录标题Redis基础一级目录二级目录三级目录一、什么是Redis?特点二、Redis应用场景三、Redis的下载和安装四、Redis服务的启动五、Redis命令行工具六、Redis基础知识七、Redis数据类型1. key(键)2. String(字符串)3.List(列表)4.Set(无序集合)5.Zset(有序集合)6.Hash(哈希)7.单指令(set)与多指令(mset)的选择八、Redis常用查询指令九、持久化概念9.1 RDB1. save指令2.bgsave指令3.RD

2022-04-19 12:47:09 899

原创 JVM 内存模型 —— JVM篇

JVM 内存模型一、JVM 体系结构​ Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而一直存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。JVM所管理的内存将会包括以下几个运行时数据区域。如下图所示:运行时数据区也是Java虚拟机的内存结构,如以下图所示:1.classfile 是字节码文件的部分。2.classloader 是类加载器。3.内存结构也就是运行时数据区。

2022-03-18 22:17:34 2259

原创 类加载和初始化 —— JVM篇

类加载和初始化一、Class Cycle(类的加载过程)类的周期一个类的完整生命周期如下:类的加载过程​ Class文件在我们硬盘中,需要加载到虚拟机中之后才能运行和使用,那么虚拟机是如何加载这些 Class 文件呢?​ 系统加载 Class 类型的文件主要三步:加载->连接->初始化。连接过程又可分为三步:验证->准备->解析。详见:jvm规范5.4 。1.Loading步骤(加载)类加载过程的第一步,主要完成下面 3 件事情:通过全类名获取定义此

2022-03-18 22:15:58 2296

原创 网络基础知识

网络基础一、计算机网络七层架构1.1 物理层    主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由 1、0 转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的模数转换与数模转换)。这一层的数据叫做比特。    总结:以二进制数据形式在物理媒体上传输数据。1.2 数据链路层    主要将从物理层接收的数据进行 MAC 地址(网卡的地址)的封装与解封装。常把这一层的数据叫做帧。在这一层工作的设备是交换机,数据通

2022-01-27 21:44:53 524

原创 Discuz论坛的搭建

Discuz论坛的搭建(1)连接光驱,将光驱挂载到/mnt目录下[root@localhost ~]# mount /dev/sr0 /mnt(2)配置本地源[root@localhost ~]# cd /etc/yum.repos.d/ //切换到YUM源配置的目录[root@localhost yum.repos.d]# vim csa.repo //编辑一个新文件 创建本地源配置[base]name = baseosbaserul = file:///mntgpgch

2022-01-23 22:26:52 2035

原创 Linux基础知识汇总与实践 —— Linux篇

Linux基础知识汇总与实践一、Linux系统基础指令与文本编辑器1.Linux系统基础指令1.1 关机和重启1.2 帮助命令1.3 目录操作命令1.4 文件的操作1.5 如何给文件写入数据2.Linux系统文本编辑器2.1 一般模式2.2 编辑模式2.3 命令模式二、Linux文件系统操作1. Linux目录结构2. Linux文件类型3. cat more less head tail文本查看4. wc cut sort uniq grep文本统计排序筛选三、日期与时间命令、搜索命令、解压缩命令1. 日

2022-01-23 22:21:24 1143

原创 如何实现并发的原子性,可见性和有序性 —— Java并发

如何实现并发的原子性,可见性和有序性前言一、原子性(Atomicity)1.原子性的定义2.实现原子性的保障技术二、可见性(Visibility)1.可见性的定义2.实现可见性的保障技术三、有序性(orderly)1.有序性的定义2.实现有序性的保障技术四、happens-before原则前言     在Java并发编程中通常会遇到三个问题: 原子性问题、可见性问题、有序性问题。所以以下将会通过实例来解析这Java并发中的三大特性。一、原子性(Atomicity)1.原子性的定义     即一个操

2022-01-22 23:00:38 888

原创 内存屏障与java的内存屏障 —— JVM篇

内存屏障与java的内存屏障内存屏障前言一、什么是内存屏障?二、volatile变量规则1.volatile简介2.volatile原理3.volatile特性4.volatile变量规则四、内存屏障的标准硬件上面的内存屏障Java的内存屏障五、X86架构的内存屏障Store BarrierLoad BarrierFull Barrier六、volatile引出的可见性和重排序问题,内存屏障是如何解决的八、CAS九、锁内存屏障前言     在学习JVM的乱序问题的时候,为了现在的CPU效率的提高,会做

2022-01-20 22:23:49 1918

原创 class 文件结构 —— JVM篇

class 文件结构一、class文件二、魔数(Magic Version)三、class 文件版本号四、常量池CONSTANT_POOL_COUNT(常量个数)CONSTANT_POOL(常量池表)五、修饰符(access_flags)六、类的名称(this_class)七、父类的名称(super_class)八、接口的数量(interfaces_count)九、接口(interfaces)十、变量的数量(fields_count)十一、变量(fields)十二、方法的数量(methods_count)十

2022-01-08 22:13:35 606

原创 Java中的反射机制(详解)

反射机制Class类1.在Java中,数据类型分为两大类:基本数据类型,引用数据类型;出来基本数据类型的int,double,float等等,Java的其他类型全部都是class(包括interface),也就是引用数据类型,例如:字符串:StringObjectRunnableException…    进过思考,我们可以得出结论:class(包括interface)的本质是数据类型(Type),无继承关系的数据类型无法赋值:例如:Number n = new Double(123

2021-11-12 16:37:38 1939

原创 MySQL数据库查询练习(二)

MySQL数据库查询练习练习01(行转列):行转列:有一张学生成绩表sc(sno学号,clazz课程,score成绩),需要查询出每个学生的语文,数学,英语成绩(行转列,一个学生只要一行记录)。查询得到如下结果:方法一:-- 行转列select distinct a.sno, (select score from sc b where a.sno = b.sno and b.clazz = '语文') as '语文',(select score from sc b where a.sn

2021-11-10 21:13:59 1357

原创 MySQL数据库查询练习(一)

MySQL数据库查询练习练习01练习02练习01如下有一个department表,employee表,jobs表,job_grade表,locations表先创建以上五个表,然后再进行一下练习;-- 子查询select * from employees;-- 1.查询 最低工资 大于 50号部门最低工资 的 部门id 和 其最低工资select min(salary) from employees where department_id = 50; -- 50号部门最低工资se

2021-11-05 21:28:05 1669

原创 MySQL数据库

MySQL一、什么是MySQL二、三大类型1.数据类型​ 数据类型决定了数据在计算机中的存储格式,代表不同的信息类型。2.日期和时间类型​ 表示时间值的日期和时间类型3.字符串类型​ 字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT。该节描述了这些类型如何工作以及如何在查询中使用这些类型。三、主键主键:(Primary Key)又称主码,用于唯一的标识表中的每一条记录,可以定义表中的一列或多列为主键,主键上既不能有两行相同的值,也不能

2021-10-29 20:59:51 656

原创 Java中的常用类的选择题总结练习

常用类的选择题练习Java选择题练习:(牛客网)Java选择题练习:regex类(正则表达式)(牛客网)Java选择题练习:String类(牛客网)Java选择题练习:Object类(牛客网)Java选择题练习:基本数据类型(牛客网)Java选择题练习:(牛客网)1.Java Application 源程序的主类是指包含有( )方法的类。正确答案: AA、public static void main方法B、toString方法C、init方法D、actionPerfromed方法解析:j

2021-10-13 21:16:52 780

原创 Java中异常、集合、File和IO流选择题总结练习

异常、集合、File和IO流选择题练习Java选择题练习:(牛客网)Java选择题练习:(牛客网)

2021-10-13 21:16:41 642

原创 Java中的File类与IO流(IO概述,File类,字节流,字符流,转换流,流的操作规律,其他常用流)

File类与IO流IO概述IO流File类File类的构造函数和分隔符File类的获取相关文件和文件夹的创建文件和文件夹的删除子文件与文件过滤器获取文件夹全部内容删除文件夹全部内容字节流与字符流OutputStreamInputSteam复制文件操作复制文件夹操作复制文件夹操作+过滤BufferedInputStream与BufferedOutputStream字节流与编码InputStreamReaderOutputStreamWriterFileReaderFileWriterBufferedReade

2021-10-10 21:21:27 260

原创 Java面向对象篇选择题总结练习

Java面向对象篇选择题练习

2021-09-26 21:19:20 4934

原创 Java面向对象知识点复习大纲

Java面向对象知识点总结

2021-09-25 21:48:31 389

原创 Java语法基础篇选择题练习

Java语法基础篇Java选择题练习:数组(牛客网)Java选择题练习:运算符(牛客网)Java选择题练习:常量变量(牛客网)Java选择题练习:循环(牛客网)Java选择题练习:函数(牛客网)Java选择题练习:数组(牛客网)1.假设一个 list初始化为{2,9,5,4,8,1}。 在第一轮冒泡排序后,list变成了()?正确答案: DA 2, 9, 5, 4, 8, 1B 2, 9, 5, 4, 1, 8C 2, 5, 9, 4, 8, 1D 2, 5, 4, 8, 1, 9解

2021-09-23 17:01:55 7948

原创 Java选择题练习:数据结构与算法(牛客网)

Java选择题练习:数据结构与算法1.下面程序的输出结果是什么。public class A2{ public static void main(String[] args){ int[] a={2,4,6,8,3,6,9,12}; doSomething(a,0,a.length-1); for(int i=0;i<=a.length-1;i++) System.out.print(a[i]+" "); } private static void

2021-09-21 23:34:45 318

原创 Java选择题练习:线程(牛客网)

Java选择题练习:线程1.高优先级的线程比低优先级的线程运行得更快。正确答案: BA、对B、错解析:此题注意是文字游戏,高优先级的线程与低优先级的线程只是运行的优先级,没有速度上比谁快。...

2021-09-21 23:18:33 1683

原创 Java中的异常总结详解(异常类型、声明异常、抛出异常、捕获异常)

Java 异常解析前言前言

2021-08-24 23:49:47 25690 3

原创 Java中的时间日期类

常用类解析:时间日期类前言前言

2021-08-24 20:50:48 321

空空如也

空空如也

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

TA关注的人

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