自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

用代码征服天下

Java学习之路

  • 博客(111)
  • 收藏
  • 关注

原创 这次彻底读透 Redis

0. Redis 基础如果对 Redis 还不了解的同学可以先看一下这篇 Redis 基础文章 ,这里面介绍了 Redis 是什么,以及怎么用1. Redis 管道我们通常使用 Redis 的方式是,发送命令,命令排队,Redis 执行,然后返回结果,这个过程称为Round trip time(简称RTT, 往返时间)。但是如果有多条命令需要执行时,需要消耗 N 次 RTT,经过 N 次...

2022-10-26 10:41:00 213

原创 一条 SQL 语句是如何执行的

1. select 语句执行过程一条 select 语句的执行过程如上图所示1、建立连接连接器会校验你输入的用户名和密码是否正确,如果错误会返回提示,如果正确,连接器会查询当前用户对于的权限。连接器的作用就是校验用户权限2、查询缓存MySQL 中有个缓存的概念,当你在执行一条 SQL 查询语句时,MySQL 会先去缓存中查看是否有对应的记录,如果有,则直接返回,如果没有,则取数据库中...

2022-10-14 14:11:00 277

原创 博客园图片无法显示

今天粉丝反馈博客图片无法显示,看了一下,图床是可以正常访问的,不知道什么原因,后来看了博客园后台编辑博文处有一个提取图片的功能,非常好用,可以将图床上的图片全部提取到博客园站内,这样就不会出现图片访问的问题了在编辑器右下方,有个提取图片按钮,点击一下便可以将图床提取到博客园站内,非常好用,大家快去试试吧...

2022-10-13 12:00:00 466

原创 一文读懂 MySQL 锁

1 MySQL 锁简介1.1 什么是锁锁是计算机用以协调多个进程间并发访问同一共享资源的一种机制。MySQL中为了保证数据访问的一致性与有效性等功能,实现了锁机制,MySQL中的锁是在服务器层或者存储引擎层实现的。1.2 锁用来解决什么问题锁是用来解决并发事务的访问问题,我们已经知道事务并发执行时可能带来的各种问题,最大的一个难点是:一方面要最大程度地利用数据库的并发访问,另外一方面还要...

2022-10-12 13:56:00 150

原创 一文读懂 MySQL 索引

1 索引简介1.1 什么是 MySQL 的索引官方定义:索引是帮助 MySQL 高效获取数据的数据结构从上面定义中我们可以分析出索引本质是一个数据结构,他的作用是帮助我们高效获取数据,在正式介绍索引前,我们先来了解一下基本的数据结构2 索引数据结构2.1 Hash 索引Hash 索引是比较常见的一种索引,他是通过计算出记录对应的 hash 值,然后根据计算结果,存储在对应位置。查询...

2022-10-11 10:36:00 236

原创 数据库基础

1 范式化设计1.1 第一范式(1NF)无重复的列定义所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。简而言之,第一范式就是无重复的列。...

2022-10-08 10:21:00 107

原创 Comparison method violates its general contract! 问题

引言今天下午正在摸鱼,这时候突然客户在群里反馈,说今天数据没有了,催我赶紧去看,于是我连上客户服务器,打开今天的项目日志,看到了下面的错误Comparison method violates its general contract问题原因花了几分钟解决,记录一下先看下之前的代码,功能就是获取指定目录下最近修改的文件名称,里面用到了Arrays.sort 排序/** 读取特定目录...

2022-08-04 15:16:00 362 1

原创 volatile 关键字详解

volatile,可以当之无愧的被称为Java并发编程中“出现频率最高的关键字”,常用于保持内存可见性和防止指令重排序。保持内存可见性内存可见性(Memory Visibility):所有线程都能看到共享内存的最新状态。失效数据以下是一个简单的可变整数类:public class MutableInteger { private int value; p...

2022-07-22 16:03:00 180

原创 Spring 核心概念

Spring 核心概念引言本文主要介绍 Spring 源码中使用到的一些核心类1. BeanDefinitionBeanDefinition表示Bean定义,BeanDefinition 中存在很多属性用来描述一个Bean的特点。比如:class,表示Bean类型scope,表示Bean作用域,单例或原型等lazylnit:表示Bean是否是懒加载initMethodNam...

2022-07-10 11:29:00 94

原创 Spring IOC 为什么能降低耦合

有同学在学习 Spring 框架中可能会问这样的问题,为什么通过依赖注入就可以降低代码间的耦合呢?我通过 new 生产对象不也可以吗,不就是一行代码的不同,一个是 @Resource 注入,一个是 new 创建,怎么就降低耦合了?今天博主就带大家来一步步剖析这个问题一、传统方式创建对象通常我们是这样创建对象的WuliCar wuli = new WuliCar();wuli.run...

2022-06-26 15:43:00 117

原创 Java 常见面试题

一、搜索1、什么是SolrSolr是一个Java开发的基于Lucene的 企业级 开源 全文搜索 平台。 它采用的是反向索引,即从关键字到文档的映射过程。 Solr的资源以Document为对象进行存储,每个文档由一系列的 Field 构成,每个Field 表示资源的一个属性。 文档的Field可以被索引, 以提工高性能的搜索效率。 一般情况下文档都包含一个能唯一表示该文档的id字段。2、...

2022-03-20 15:04:00 125

原创 String、StringBuilder和StringBuffer的区别

StringString是一个不可变类,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁。有关String更详细的介绍,请看这篇文章每天都在用String,你真的了解吗?StringBufferStringBuffer对象则代表一个字符序列可变的字符串,当一个StringBuffer被创建以后,通过StringBuffer提供的append()、insert()、reverse...

2022-03-19 08:16:00 87

原创 Switch对String的支持

Java 7中,switch的参数可以是String类型了,这对我们来说是一个很方便的改进。到目前为止switch支持这样几种数据类型:byte short int char String 。但是,作为一个程序员我们不仅要知道他有多么好用,还要知道它是如何实现的,switch对整型的支持是怎么实现的呢?对字符型是怎么实现的呢?String类型呢?有一点Java开发经验的人这个时候都会猜测swit...

2022-03-18 16:02:00 784

原创 Java序列化,看这篇就够了

1.什么是序列化Java序列化是指把Java对象转换为字节序列的过程,而Java反序列化是指把字节序列恢复为Java对象的过程:序列化:对象序列化的最主要的用处就是在传递和保存对象的时候,保证对象的完整性和可传递性。序列化是把对象转换成有序字节流,以便在网络上传输或者保存在本地文件中。核心作用是对象状态的保存与重建。反序列化:客户端从文件中或网络上获得序列化后的对象字节流,根据字节流中所...

2021-01-29 16:51:00 203

原创 Mysql修改、添加、删除字段

1.添加字段1.在末尾添加字段(1)语法ALTER TABLE <表名> ADD <字段名> <数据类型> [约束条件];语法格式的说明:<表名> 为数据表的名字;<字段名> 为所要添加的字段的名字;<数据类型> 为所要添加的字段能存储数据的数据类型;[约束条件] 是可选的,用来对添加的字段进行约束。这...

2021-01-28 16:28:00 666

原创 深入理解Enum(枚举类)

Java 枚举为什么要引入枚举类一个小案例你写了一个小程序,不过好久不用了,突然有一天,你想使用一下它。程序要想正确运行,需要将今天星期几存到数据库里。这个时候,你开始犯难了。当初的你还很年轻,不懂程序界的险恶,设计这个程序的时候,傻不拉几把这个字段设计为int类型的,用0代表周日,1代表周一。。。6代表周六,添加的时候就setWeekday(0)。但是这么长时间没用了,你忘记自己是从周...

2021-01-22 08:35:00 378

原创 定时任务应该这么玩

1.场景在电商系统中会经常遇到这样一种场景,就是商品的定时上下架功能,总不能每次都手动执行吧,这个时候我们首先想到的就是利用定时任务来实现这个功能。目前实现定时任务主要有以下几种方式:JDK自带 :JDK自带的Timer以及JDK1.5+ 新增的ScheduledExecutorService;第三方框架 :使用 Quartz、elastic-job、xxl-job 等开源...

2021-01-21 08:39:00 613

原创 此流非彼流——Stream详解

Stream是什么?Java从8开始,不但引入了Lambda表达式,还引入了一个全新的流式API:Stream API。它位于java.util.stream包中。Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理...

2021-01-20 09:17:00 225

原创 Lambda表达式你会用吗?

函数式编程在正式学习Lambda之前,我们先来了解一下什么是函数式编程我们先看看什么是函数。函数是一种最基本的任务,一个大型程序就是一个顶层函数调用若干底层函数,这些被调用的函数又可以调用其他函数,即大任务被一层层拆解并执行。所以函数就是面向过程的程序设计的基本单元。Java不支持单独定义函数,但可以把静态方法视为独立的函数,把实例方法视为自带this参数的函数。而函数式编程(请注意多了一...

2021-01-19 08:29:00 193

原创 职场人应该知道的事

1.关于主动你是否每天早上第一个到公司,晚上最后一个离开公司,甚至连周末都会去公司加班,工作勤勤恳恳,兢兢业业。你认为以自己的方式努力工作后,就会得到领导的赏识。可是,一次、两次甚至三次,领导都把机会给了别人。这类的人想法是,我这么努力的工作,你为什么不提拔我呢?你的问题在于,缺乏主动性。在工作中,主动性不仅体现在像老黄牛一样把工作做好,还要主动和领导沟通,主动承担更多,更重要的责任...

2020-08-23 10:15:00 237

原创 批量转化字符编码

今天在做项目中,需要用到一些CSS和JS文件,于是将之前项目中的文件拷贝过来,项目运行时发现出现乱码,于是便开始修改,结果改的时候发现四五十个文件,这不得改半天!索性自己写了个工具类,批量修改字符编码,几秒钟完事,分享给大家,以后再也不用单独修改编码了。import java.io.BufferedReader;import java.io.BufferedWriter;impor...

2020-08-21 18:06:00 229

原创 Linux用户管理

1.用户添加用户$useradd -m username该命令为用户创建相应的帐号和用户目录/home/username;用户添加之后,设置密码:密码以交互方式创建:$passwd username删除用户$userdel -r username不带选项使用 userdel,只会删除用户。用户的家目录将仍会在/home目录下。要完全的删除用户信息,使用-r选项;帐号切...

2020-08-21 09:06:00 85

原创 Linux进程管理与性能监控

1. 进程管理工具这一节我们介绍进程管理工具;使用进程管理工具,我们可以查询程序当前的运行状态,或终止一个进程;任何进程都与文件关联;我们会用到lsof工具(list opened files),作用是列举系统中已经被打开的文件。在linux环境中,任何事物都是文件,设备是文件,目录是文件,甚至sockets也是文件。用好lsof命令,对日常的linux管理非常有帮助。1.1. ...

2020-08-20 09:23:00 141

原创 Linux磁盘管理

日程磁盘管理中,我们最常用的有查看当前磁盘使用情况,查看当前目录所占大小,以及打包压缩与解压缩;1.查看磁盘空间查看磁盘空间利用大小:df -h-h: human缩写,以易读的方式显示结果(即带单位:比如M/G,如果不加这个参数,显示的数字以B为单位)$df -h/opt/app/todeav/config#df -hFilesystem Size ...

2020-08-19 17:05:00 95

原创 每天都在用String,你真的了解吗?

1.String概述java.lang.String 类代表字符串。Java程序中所有的字符串文字(例如"abc")都可以被看作是实现此类的实例String 中包括用于检查各个字符串的方法,比如用于比较字符串,搜索字符串,提取子字符串以及创建具有翻译为大写或小写的所有字符的字符串的副本。2.String源码分析2.1.String成员变量// String的属性值,Stri...

2020-08-18 09:19:00 163

原创 写给迷茫的年轻人

作为一个在职场打拼了两年的人,我遇到过很多问题,也踩过许多坑,对于如何选择职业、工作也有自己的一份理解,今天分享出来,希望给迷茫中的年轻人一些帮助。1.考研是就业的缓兵之计?要不要考研,这几乎是每一个大学生都曾面临的问题,包括我在内。考研当然有很多好处了,比如说可以去更好的大学学习,拥有更高的学位,可以认识更多厉害的校友等等。但是你是否真的想好了你为什么考研?考研对于你有多大的帮助?...

2020-08-16 10:01:00 222

原创 Linux文本处理详细教程

1. 文本处理本节将介绍Linux下使用Shell处理文本时最常用的工具: find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk; 提供的例子和参数都是常用的; 我对shell脚本使用的原则是命令单行书写,尽量不要超过2行; 如果有更为复杂的任务需求,还是考虑python吧;1.1. find 文件查找查找txt和pdf文件:find...

2020-08-07 13:49:00 292

原创 Linux文件及目录管理

1. 学会使用命令帮助1.1. 概述在linux终端,面对命令不知道怎么用,或不记得命令的拼写及参数时,我们需要求助于系统的帮助文档; linux系统内置的帮助文档很详细,通常能解决我们的问题,我们需要掌握如何正确的去使用它们;在只记得部分命令关键字的场合,我们可通过man -k来搜索;需要知道某个命令的简要说明,可以使用whatis;而更详细的介绍,则可用info命令;查看...

2020-08-05 17:34:00 135

原创 window.showModalDialog()用法

1.定义window.showModalDialog()用来创建模态对话框语法为:vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures]);参数:(1)sURL :指定对话框要显示的文档的URL,字符串,必填(2)vArguments:要向对话框传递的参数,变体(数组、变量等),选填(3)s...

2020-08-05 11:38:00 405

原创 Window open使用教程

定义和用法open() 方法用于打开一个新的浏览器窗口或查找一个已命名的窗口。语法window.open(URL,name,specs,replace)参数说明URL可选。打开指定的页面的URL。如果没有指定URL,打开一个新的空白窗口name可选。指定target属性或窗口的名称。支持以下值:_blank - URL加载到一个新的窗口。这是默认_pa...

2020-08-05 11:05:00 350

原创 JS获取网页屏幕宽度和高度

网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.body.offsetWidth (包括边线的宽)网页可见区域高: document.body.offsetHeight (包括边线的高)网页正文全文宽: document.body.scrollWidth...

2020-08-05 10:54:00 77

原创 transform的使用方法

transform的含义是:改变,使…变形;转换在排版当中去合理的使用transform会使我们的排版看起来高大上那么一点。接下来给大家介绍一下这个神奇的小东西都有什么属性会有什么效果。1.旋转rotaterotate:通过指定的角度参数对原元素指定一个效果。如果设置的值为正数表示顺时针旋转,如果设置的值为负数,则表示逆时针旋转。如:transform:rotate(30deg...

2020-08-03 16:13:00 6276

原创 Vuex详细教程

1.认识Vuex1.1Vuex是做什么的官方解释:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用 集中式存储管理 应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex 也集成到 Vue 的官方调试工具 devtools extension,提供了诸如零配置的 time-travel 调试、状态快照导入导出等高级调试功能。状态管...

2020-08-01 08:51:00 131 1

原创 DB2导入数据库

1.登录服务器首先使用db2用户登录到需要导库的服务器,通常用户名和密码为db2inst1/db2inst12.导出数据库cd到导出目录,如bak创建db2move文件夹: mkdir db2movecd db2move连接数据库:db2 connect to CREDITDB CREDITDB是你的数据库名称,连接时需要修改成自己的导出数据库数据:db2...

2020-07-31 14:03:00 683

原创 Vue Router详细教程

1.什么是路由1.1路由简介说起路由你想起了什么?路由是一个网络工程里面的术语。路由(routing)就是通过互联的网络把信息从源地址传输到目的地址的活动。 --- 维基百科额,啥玩意? 没听懂。在生活中,我们有没有听说过路由的概念呢? 当然了,路由器嘛。路由器是做什么的? 你有想过吗?路由器提供了两种机制: 路由和转送。路由是决定数据包从来源到目的地的路径。转送将输入端的数...

2020-07-31 10:07:00 8590 6

原创 Vue CLI使用

1.Vue CLI介绍如果你只是简单写几个Vue的Demo程序, 那么你不需要Vue CLI。如果你在开发大型项目, 那么你需要, 并且必然需要使用Vue CLI,使用Vue.js开发大型应用时,我们需要考虑代码目录结构、项目结构和部署、热加载、代码单元测试等事情。如果每个项目都要手动完成这些工作,那无疑效率比较低效,所以通常我们会使用一些脚手架工具来帮助完成这些事情。CLI是什么意...

2020-07-30 08:58:00 102

原创 IDEA自动导包

我们在使用IDEA开发的过程中,经常需要导入很多包,那么如果每次都手动导入的话非常麻烦,我们现在希望IDEA能够自动帮助我们导入我们需要的包,删除无用的包第一步:首先我们选择File里面的setting第二步:我们选择General中的Auto Import,然后将图中的两项勾选上到此大功告成...

2020-07-28 09:38:00 493

原创 Cannot set property 'branchdata' of undefined

今天在使用axios时,向服务器发送请求然后将返回的数据赋值给branchdata时控制台报了这样的错Cannot set property 'branchdata' of undefined代码如下:this.$axios .get('/demo/org-info/get-branchorg') .then(function(res) { this.bra...

2020-07-27 17:34:00 122

原创 关闭Vue Eslint语法检查

在使用VScode编辑器vue开发过程中,v-for在Eslint的规则检查下出现报错:Elements in iteration expect to have ‘v-bind:key’ directivesEslint规则检查显示如下:报错信息如下:[eslint-plugin-vue][vue/require-v-for-key]Elements in iteration ...

2020-07-27 16:35:00 1855

原创 Webpack前世今生

在正式介绍Webpack之前,先给大家说明一下前端为什么需要模块化1.为什么需要模块化1.1JS原始功能在网页开发的早期,js制作作为一种脚本语言,做一些简单的表单验证或动画实现等,那个时候代码还是很少的。那个时候的代码是怎么写的呢?直接将代码写在<script>标签中即可。随着ajax异步请求的出现,慢慢形成了前后端的分离,客户端需要完成的事情越来越多,代码量也是...

2020-07-22 08:53:00 190

空空如也

空空如也

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

TA关注的人

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