自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java加强--2.IO流

Java加强--2.IO流IO概述IO的分类字节流数据本质字节输出流【OutputStream】FileOutputStream类构造函数write(int b)write(byte[] b, int off, int len)数据追加续写换行字节输⼊流【InputStream】FileInputStream类构造函数read()read(byte[] b)读取有效字节字符流字符输⼊流【Reader】FileReader类构造函数read()read(char[] cbuf)读取有效字符字符输出流【Writ

2020-06-16 15:42:06 387

原创 Java加强--线程,线程池,锁,底层源码介绍及应用

Java加强--1.线程,线程池,锁,底层源码介绍及应用并发和并行线程与进程区别线程的两种模型用户级线程(ULT)内核级线程(KLT)Jvm线程模型创建线程继承ThreadThread 类常用方法实现Runnable实现Callable线程池创建线程安全线程同步同步代码块同步方法锁机制线程的生命周期线程终止的四种方式run()结束自动终止stop()方法启用volatile标志位(外部控制的自然死亡)interrupt()中断运行态和阻塞态线程线程池概述线程池的创建方式线程池的分类newCachedThre

2020-06-05 11:58:10 201

原创 Java基础--12.ArrayList,String,Math

Java基础--12.ArrayList,String,Math一. ArrayList1.1 概述1.2 使用步骤​ 1.2.1 查看类​ 1.2.2 查看构造方法​ 1.2.3 查看成员方法​ 1.2.4 常用方法和遍历​ 1.2.5 如何存储基本数据类型二. String2.1 概述2.2 使用步骤2.3 特点2.4 常用方法​ 2.4.1 判断功能的方法​ 2.4.2 获取功能的方法​ 2.4.3 转换功能的方法​ 2.4.4 分割功能的方法三. Math​3.1 概述3.2 基本运算一. Arr

2020-05-21 15:14:45 186

原创 Java基础--11.内部类

Java基础--11.内部类一. 概述二. 内部类的分类2.1 成员内部类2.2 局部内部类三. 匿名内部类​3.1 概述3.2 匿名内部类前提3.3 匿名内部类格式3.4 使用方式3.4 匿名内部类的本质3.5 匿名内部类的作用一. 概述​ 将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。二. 内部类的分类​ 按定义的位置来分​ 1. 成员内部内,类定义在了成员位置 (类中方法外称为成员位置)​ 2. 局部内部类,类定义在方法内2.1 成员内部类​ **成员内部

2020-05-20 10:04:55 171

原创 Java基础--10.final,static,权限修饰符

Java基础--10.final,static,权限修饰符一. final1.1 概述1.2 使用方式1.2.1 修饰类1.2.2 修饰方法1.2.3 修饰变量1.2.3.1 局部变量1.2.3.2 成员变量二. static2.1 概述2.2 定义和使用格式2.2.1 静态变量​ 2.2.2 静态方法​ 2.2.3 调用格式​ 2.2.4 静态代码块三. 权限修饰符​3.1 概述3.2 不同权限的访问能力一. final1.1 概述​ 那么我们能不能随意的继承API中提供的类,改写其内容呢?显然这是

2020-05-19 17:19:38 149

原创 Java基础--9.面向对象三大特性 封装,继承和多态

Java基础--9.面向对象三大特性 封装,继承和多态一. 封装1.1 封装概述1.2 封装步骤1.3 封装的操作 -- private1.4 封装优化1 -- this关键字1.5 封装优化2 -- 构造方法1.6 标准代码 -- JavaBean二. 继承2.1 继承概述2.2 继承的格式2.3 父类不可被继承的内容2.4 继承后的特点 -- 成员变量1.4.1 成员变量不重名1.4.2 成员变量重名2.5 继承后的特点 -- 成员方法1.5.1 成员方法不重名1.5.2 成员方法重名 -- 重写2.6

2020-05-19 09:44:36 235

原创 Java基础--8.接口

Java基础--8.接口一. 概述二. 定义格式2.1 含有抽象方法2.2 含有默认方法和静态方法2.3 含有私有方法和私有静态方法三. 基本的实现​3.1 实现的概述3.2 抽象方法的使用3.3 默认方法的使用​ 3.3.1 继承默认方法​ 3.3.2 重写默认方法3.4 静态方法的使用3.5 私有方法的使用四. 接口的多实现4.1 抽象方法4.2 默认方法4.3 静态方法4.4 优先级的问题4.5 接口的多继承4.6 其他成员特点一. 概述​ 接口: 是Java语言中一种引用类型,是方法的集合,如果

2020-05-18 23:07:34 112

原创 Java基础--7.抽象类

Java基础--7.抽象类一. 概述二. abstract使用格式2.1 抽象方法2.2 抽象类2.4 抽象的使用三. 注意事项一. 概述​ 父类中的方法,被它的子类们重写,子类各自的实现都不尽相同。那么父类的方法声明和方法主体,只有声明还有意义,而方法主体则没有存在的意义了。我们把没有方法主体的方法称为抽象方法。Java语法规定,包含抽象方法的类就是抽象类。​ 定义​ 抽象方法 : 没有方法体的方法。​ **抽象类:**包含抽象方法的类。二. abstract使用格式2.1 抽象方法

2020-05-17 22:20:05 155

原创 Java基础--6.类与对象

Java基础--6.类与对象二. 类和对象2.1 类2.2 对象2.3 关系三. 类的定义3.1 成员变量和局部变量的区别四. 对象的使用​ Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下,使用Java语言去设计、开发计算机程序。 这里的对象泛指现实中一切事物,每种事物都具备自己的属性和为。​ **特点:**面向对象思想是一种更符合我们思考习惯的思想,它可以将复杂的事情简单化,并将我们从执行者变成了指挥者.面向对象的语言中,包含了三大基本特征,即封

2020-05-17 22:18:35 111

原创 Java基础--5.数组

Java基础--5.数组一. 概述二. 数组的定义2.1 方式一2.2 方式二2.3 方式三三. 数组的访问四. 数组的常见操作4.1 数组异常4.1.1 数组越界异常(ArrayIndexOutOfBoundsException)4.1.2 空指针异常(NullPointerException )4.2 数组遍历4.3 数组获取最大值元素4.4 数组反转4.5 数组排序4.6 数组作为参数4.7 数组作为方法返回值一. 概述​ **容器:**是将多个数据存储到一起,每个数据称为该容器的元素。​ 数组

2020-05-17 22:17:44 93

原创 Java--4.方法

Java--4.方法一. 概述二. 定义2.1 两个明确三. 方法的调用3.1 调用方法的三种形式3.1.1 直接调用3.1.2 赋值调用3.1.3 输出语句调用四. 方法重载一. 概述​ 我们在学习运算符的时候,都为每个运算符单独的创建一个新的类和main方法,我们会发现这样编写代码非常的繁琐,而且重复的代码过多。能否避免这些重复的代码呢,就需要使用方法来实现。​ **方法:**就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。当我们需要这个功能的时候,就可以去调用。这样即

2020-05-17 22:16:53 85

原创 Java基础--3.流程控制语句

Java基础--3.流程控制语句一. 概述二. 判断语句2.1 判断语句1 -- if2.2 判断语句2 -- if .... else2.3 判断语句3 -- if...else if...else2.4 if语句和三元运算符的互换2.5 if语句注意事项三. 选择语句3.1 选择语句 -- switch3.2 case的穿透性四. 循环语句4.1 循环概述4.2 循环语句1 -- for4.3 循环语句2 -- while4.4 循环语句3 -- do...while4.5 循环语句的区别4.6

2020-05-11 21:42:47 103

原创 Java基础--2.常量,变量,数据类型,运算符

Java基础--2.常量,变量,数据类型,运算符一. 常量1.1 定义1.2 分类二. 变量2.1 定义2.2 变量的组成2.3 变量的格式三. 数据类型3.1 数据类型分类3.2 基本数据类型3.3 变量的定义3.4 定义变量注意事项四. 数据类型转换4.1 自动转换4.2 强制转换五. 运算符5.1 定义及分类5.2 算术运算符5.2.1 注意事项5.3 赋值运算符5.4 比较运算符5.5 逻辑运算符5.6 三元运算符一. 常量1.1 定义​ 常量:是指在Java程序中固定不变的数据1.2 分

2020-05-11 21:41:04 168

原创 Java基础--1.Java概述

Java基础--1.Java概述一.什么是Java语言二.Java语言发展历史三.Java语言能做什么四.Java虚拟机——JVM五.JRE 和 JDK六.添加注释comment七.标识符一.什么是Java语言​ Java语言是美国Sun公司(Stanford University Network/斯坦福大学网络公司),在1995年推出的高级的编程语言。所谓编程语言,是计算机的语言,人们可以使用编程语言对计算机下达命令,让计算机完成人们需要的功能。二.Java语言发展历史​ 1995年Sun公司

2020-05-11 21:39:46 104

原创 VUE全家桶项目实战-- 9.组件新增/编辑对象

VUE全家桶项目实战-- 9.组件新增/编辑对象一.Dialog 对话框<template> <div><el-button type="text" @click="openDialog('1',row)">新增</el-button> <!-- 列表区每一行后面操作区域的按钮,利用scope.row可以获取...

2020-05-07 22:59:34 200

原创 VUE全家桶项目实战-- 8.组件分页区

VUE全家桶项目实战-- 8.组件分页区一.Pagination 分页一.Pagination 分页<template> <!-- @size-change: 页面大小改变绑定的函数 @current-change:页码更改绑定的函数 :current-page:当前页码 :page-size:页面大小 :total: 总记录数 layout:组件...

2020-05-07 22:20:32 214 1

原创 VUE全家桶项目实战-- 7.组件表格区

VUE全家桶项目实战-- 7.组件表格区一.Table表格二.拓展一.Table表格<template> <!-- :data : 显示的集合数据 width:表格宽度 border : 是否带有纵向边框 --> <el-table :data="list" style="width: 100%"> <!-- ...

2020-05-06 22:57:42 249

原创 VUE全家桶项目实战-- 6.组件布局和操作区

VUE全家桶项目实战-- 6.组件布局和操作区一.组件布局,大致分为3个区域:操作区,列表区,分页区二.操作区域1. Select 选择器2.Input 输入框3.DateTimePicker 日期时间选择器一.组件布局,大致分为3个区域:操作区,列表区,分页区二.操作区域1. Select 选择器<!-- v-model: 绑定的值,也可以是一个对象 :value = ite...

2020-04-26 22:21:24 294

原创 VUE全家桶项目实战-- 5.标签页的组件缓存/删除缓存和退出登录

VUE全家桶项目实战-- 5.标签页的组件缓存/删除缓存和退出登录一.标签页的优化1.vue 代码2.组件名称为各个组件的name对应的值3.添加删除标签的js 代码二.退出登录1.vue代码2.相关JS代码3.登录的JS代码一.标签页的优化​ 功能实现为:点击菜单,添加标签,同时缓存组件页面内容,点击不同的标签,组件会记录之前的内容,页面记录不会更改,删除标签,则不会缓存组件内容,下一次再点...

2020-04-25 22:35:30 385

原创 VUE全家桶项目实战-- 4.后台首页布局

VUE全家桶项目实战-- 4.后台首页布局一.页面布局二.创建Home组件三.路由index.js 文件配置主页路径四.添加welcome组件一.页面布局<el-container> <el-header>Header</el-header> <el-container> <el-aside width="200px"&gt...

2020-04-21 23:06:50 498

原创 VUE全家桶项目实战-- 3.根界面和路由的配置,登录界面设计

VUE全家桶项目实战-- 3.根界面和路由的配置,登录界面设计一.App.vue 根界面的配置二.在components 路径下创建login.vue三.配置路由router四.后端跨域配置一.App.vue 根界面的配置<template> <div id="app"> <!-- 路由占位符,这里设置这个就可以了 --> <rout...

2020-04-20 19:45:04 756

原创 VUE全家桶项目实战-- 2.vue-cli 脚手架安装项目

VUE全家桶项目实战-- 2.vue-cli 脚手架安装项目一.下载项目(使用vue-cli 2.0安装)二.依赖下载三.启动项目一.下载项目(使用vue-cli 2.0安装)​ 在目标文件夹中打开CMD 窗口vue init webpack vue-admin-master(项目名,不要有中文,不要大写)二.依赖下载​ cmd : cnpm install​ 用cnpm 比用 n...

2020-04-10 15:19:06 148

原创 VUE全家桶项目实战-- 1.软件安装

VUE全家桶项目实战-- 1.软件安装一.安装node.js​二.安装淘宝镜像三.安装vue/vue-cli/webpack/webpack-cli一.安装node.js​ 注意事项:尽量不要安装在C盘,(这个后期再讲)​ 安装完在装路径下cmd: npm -v​ 出现版本号就安装成功​ 1.再文件夹下新增node_cache,node_global 两个文件夹​ 2.设置环境变量...

2020-04-10 14:52:37 277

原创 JVM-对象存活算法和自救

JVM- 对象存活算法和自救1.引用计数算法2.可达性分析算法(主流)3.引用定义4.对象的自救1.引用计数算法​ 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器减1;任何时刻计数器为0的对象就是不可能再被使用的.​ 缺点: 它很难解决对象之间相互循环使用的问题,也就导致引用计数法无法通知GC收集器回收他们;2.可达性分析算法(主流)​ 基...

2019-12-31 14:40:56 231 1

原创 对象的内存布局及访问定位

对象的内存布局及访问定位1.对象头a.存储对象自身的运行时数据b.对象执行它的类元数据指针2.实例数据3.对齐填充​ 1.使用句柄​ 2.使用指针访问1.对象头a.存储对象自身的运行时数据​ 如哈希码,GC分代年龄,锁状态标志,线程持有的锁,偏向线程ID,偏向时间戳等,这部分数据的长度再32位和64位的虚拟机(未开启压缩指针中分别为32 bit 和 64 bit),官方称他为"Mark W...

2019-12-20 16:37:26 84

原创 对象的创建--虚拟机过程

对象的创建--虚拟机过程1.检查2.分配内存空间​ a.指针碰撞分配​ b.空闲列表分配3.初始化零值4.对象设置1.检查​ 虚拟机遇到一个new 指令是,首先会检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并切检查这个符号引用代表的类是否已被加载,解析和初始化过.​ 如果没有,则必须先执行相应的类加载过程;如果有,则会分配内存空间2.分配内存空间​ 对象所需内存的大小在类加...

2019-12-20 11:26:53 89

原创 mysql查询优化器的错误执行和优化处理类型

查询优化器一.导致优化器选择错误的执行计划的原因1.统计信息不准确2.执行计划中的成功估算不等同于实际执行的成本3.MySQL是基于成本模型选择最优的计划4.MySQL不考虑其他的并发执行的查询5.MySQL 不是任何时候都是基于成本的优化6.MySQL 不会考虑其不受控制的操作的成本7.无法估算所有可能的执行计划二.优化策略的分类​ 1.静态优化(编译时优化)​ 2.动态优化(运行时优化)三.M...

2019-12-09 15:59:30 847

原创 Java 虚拟机运行时数据区相关简介

Java 虚拟机运行时数据区一.展示图二.相关区域简介及作用1.程序计数器:2.Java虚拟机栈:3.本地方法栈:4.Java堆:5.方法区:6.运行时常量池:7.直接内存:一.展示图二.相关区域简介及作用1.程序计数器:​ 是一块较小的内存空间,可以看做当前线程所执行的字节码的行号指示器.字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支,循环,跳转,异...

2019-12-09 10:02:29 70

原创 查询状态

查询状态1.查询指令​ 利用show full processlist 指令查看mysql当前所有的线程正在执行的状态(结果集中Command列表示当前状态)2.字段解释​ Id:相当于序列号​ User: 显示当前线程的用户​ host:显示这个语句是从哪个ip地址上发来的​ db: 目前连接的数据库​ Command: 当前线程的状态​ Time: 持续的时间(s)​ 3...

2019-12-04 19:09:34 752

原创 mysql查询执行路径

查询执行路径1.客户端发送一条查询给服务器2.服务器先检查查询缓存,如果命中了缓存,则立刻返回存储再缓存中的结果.否则进入下一步阶段.3.服务器端进行SQL解析,预处理,再由优化器生成对应的执行计划4.MySQL根据优化器生成的执行计划,调用存储引擎的API来执行查询5.将结果返回给客户端...

2019-12-04 17:03:26 367

原创 explain 的使用和解析

explain 的使用和解析一.作用二.示例三.解析1.id(两种情况)2.select_type3.table4.partitions5.type6.possible_keys7.key8.key_len9.ref10.rows11.filtered12.Extra一.作用​ 使用explain这个命令去查看一个这些SQL语句,查看查询中表的读取顺序,查询类型,可以使用的索引,正在使用的索引...

2019-12-03 11:27:55 163

原创 HMacMD5 签名生成方式

HMacMD5 签名生成方式一.工具类​ 原文地址: https://blog.csdn.net/chy2z/article/details/80828770>package cn.gdmcmc.iovs.hamcmd5.hamacmd5;import java.security.MessageDigest;import java.security.NoSuchAlgorithm...

2019-11-29 15:41:55 916

原创 AES 128加解密

AES 128位加解密一.AES 简介二. EncryptionUtil 工具类三.AesMain一.AES 简介​ 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标...

2019-11-28 16:30:19 227

原创 高德地图--逆地理编码,批量转化

高德地图---逆地理编码一.使用场景二.前期准备三.使用案例1.所需jar包2.测试代码3.GeocodeUtil 工具类(批量查询)四.所遇问题​ 1.地址连接​ 2.返回的地址为[]​ 3.坐标点类型一.使用场景​ 因公司需要,新增一个根据经纬度查询所在地址的需求​ 例如: 113.305377,23.140492​ 广东省广州市越秀区黄花岗街道广州动物园二.前期准备​ 申请...

2019-11-25 10:21:45 1559

原创 高性能的索引策略

高性能的索引策略 ---- 一索引的优点高性能的索引策略---真正的发挥这些索引的优势1.独立的列2.前缀索引和索引选择性3.多列索引索引的优点​ 1.索引大大减少了服务器需要扫描的数量​ 2.索引可以帮助服务器避免排序和临时表​ 3.索引可以将随机I/O变成顺序I/O高性能的索引策略—真正的发挥这些索引的优势1.独立的列​ 如果查询中的列不是独立的,则MySQL就不能使用索引.独立...

2019-11-17 17:07:05 117

原创 B-Tree 索引的相关介绍

B-Tree索引一.概念二.二叉树和平衡二叉树三.B-Tree索引的查询类型1.全值匹配2.匹配最左前缀3.匹配列前缀4.匹配范围值5.精确匹配某一列并范围匹配另外一列6.只访问索引的查询四.B-Tree索引的限制1.只能匹配最左前缀2.不能跳过索引中的列3.范围查找右边的列都不能使用索引一.概念​ B-Tree(多路搜索树,并不是二叉的),是一种常见的数据结构.使用B-Tree结构可以显著减...

2019-11-08 15:10:29 170

原创 哈希索引的介绍和应用

哈希索引一.哈希表1.概念二.哈希索引1.概念2.举例3.哈希索引的限制三.自定义哈希索引​ 1.创建思路​ 2.示例​ 3.触发器维护​ 4.截取MD5()函数返回值一.哈希表1.概念​ 哈希表又称散列表(Hash table),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,...

2019-11-08 11:53:35 1140 1

原创 mysql 常见指令

mysql常见指令一.控制台连接数据库二.DDL(Data Definition Language)数据定义语言1.创建数据库​ 2.显示所有数据库3.显示创建数据库的定义信息​ 4.修改数据库的定义格式​ 5.删除数据库​ 6.查看正在使用的数据库​ 7.使用/切换数据库​ 8.创建表格式​ 9.快速创建一个和表结构相同的表10.查看使用的数据库中所有的表​ 11.查看表结构​ 12.查看创建表...

2019-11-06 11:30:10 406 1

原创 Java日志框架

Java日志框架简介及其应用Java日志简介​ 简单的说,日志就是记录程序的运行轨迹,方便查找关键信息,也方便快速定位解决问题。​ 我们Java程序员在开发项目时都是依赖 Eclipse/ Idea 等开发工具的 Debug 调试功能来跟踪解决 Bug,在开发环境可以这么做,但项目发布到了测试、生产环境呢?所以,日志的作用就是在测试、生产环境没有 Debug 调试工具时开发、测试人员定位问题...

2019-11-05 19:24:11 161

原创 Java单元测试的介绍及应用

Java单元测试的介绍及应用Java单元测试的介绍​ 单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。例如,你可能把一个很大的值放入一个有序list 中去,然后确认该值出现在list 的尾部。或者,你可能会从字符串中删除匹配某种模式的字符,然后确认字符串确实不再包含这...

2019-11-05 19:18:05 653

空空如也

空空如也

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

TA关注的人

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