自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (2)
  • 收藏
  • 关注

原创 硬路由、软路由、主路由、旁路由对比分析

日常生活中“路由器”对于每个人来说都是不会陌生的,简单来说我们上网就离不开路由器,而作为代码搬运工,路由器、路由等名词对我们来说更是需要深入了解的。一、路由1.概念  路由(routing)是指分组从源到目的地时,决定端到端路径的网络范围的进程。(出自James F.Kurose,Keith W.Ross著.陈鸣译.《计算机网络》:机械工业出版社,2009)路由工作在OSI参考模型第三层——网络层的数据包转发设备。路由器通过转发数据包来实现网络互连。  路由是指路由器从一个接口上收到数据包,根据数据

2021-03-30 18:09:01 40778 1

原创 Java的日志门面框架和日志实现框架

计算机系统中,日志无处不在,日志的作用不言而喻,这篇文章主要就是用来讲述和记录学习Java中的日志。一、日志的作用日志记录了系统行为的时间、地点、状态等相关信息,能够帮助我们了解并监控系统状态,在发生错误或者接近某种危险状态时能够及时提醒我们处理,同时在系统产生问题时,能够帮助我们快速的定位、诊断并解决问题。二、常用日志门面框架门面是Facade(外观模式)的实现,也称为门面模式,是对内部多个子系统的封装,并对外提供一套统一的使用接口,从而屏蔽各个子系统在使用上的不同,大大降低了系统的使用难度,同时

2021-03-25 12:47:11 462

原创 宽带和下载速度(下载速率)之间的区别

日常生活中我们家中“拉宽带”,运营商会说多少M(兆)的宽带什么的,到了我们这边,我们直观的感受不是多少M的宽带,而是多大的上网速度,我们一般是说多少多少兆每秒这种,有时候很容易让人把这两感念混淆,这篇文章就用于记录这两种概念之间的换算。我们所说的比如下载速度1M即1024K,这里的单位是字节(Byte),也就是说下载速度1M,就等于是1024K 的Byte。而运营商的几M的宽带,单位是比特(bit),就是说10M宽带实际上是指10M的bit,也是10*1024K的bit。而1个字节(Byte)等于8个

2021-03-25 11:03:03 4976

原创 Spring的DI/IOC原理分析

一、DI(Dependency Injection)“依赖注入”:是组件之间依赖关系由容器在运行期决定,形象的说,即由容器动态的将某个依赖关系注入到组件之中。依赖注入的目的并非为软件系统带来更多功能,而是为了提升组件重用的频率,并为系统搭建一个灵活、可扩展的平台。通过依赖注入机制,我们只需要通过简单的配置,而无需任何代码就可指定目标需要的资源,完成自身的业务逻辑,而不需要关心具体的资源来自何处,由谁实现。(1)谁依赖于谁:当然是应用程序依赖于IOC容器;(2)为什么需要依赖:应用程序需要IOC容器

2021-03-24 14:51:11 315

原创 IP地址分类和子网划分

身为一位代码搬砖人,网络知识必不可少,之前未注重网络方面知识的积累,靠着大学课堂上的基础走过来了,这篇文章就作为我第一篇网络方面的博客。一、IP地址分类这里说的IP地址是二级IP,也就是<网络号,主机号>形式的IP,这种IP分为五类:A,B,C,D,E类地址。网络号 net-id:它标志主机(或路由器)所连接到的网络。主机号 host-id:它标志该主机(或路由器)。下面直接通过两个从百度获得的图片说明:五类IP分类五类IP取值范围二、子网划分两级划分的缺点:(1) IP

2021-03-23 21:29:38 7074

原创 常见数据结构解析

计算机离不开数据结构,就算你不是科班的,只要是学计算机的,《数据结构》都会是我们的一门专业必修课,其重要性不言而喻。这篇文章主要就是记录一些我们日常用到的一些数据结构的简要分析和特点对比。一、数组(1)特点存储区间连续、内存占用严重、空间复杂度大。(2)优缺点优点:随机读取和修改效率高,原因是数组是连续的(随机访问性强,查找速度快),有对应的连续序号(下标),也就是索引号,能快速查询。缺点:插入和删除数据效率低,因插入数据,这个位置后面的数据在内存中都要往后移动,且大小固定不易动态扩展。二

2021-03-23 16:36:49 1157

原创 linux文件目录:/etc/hosts文件详解

这里的/etc/hosts作用同Windows下的hosts文件,Windows中host文件的目录一般为:C:\Windows\System32\drivers\etc\hosts。一、概念hosts —— the static table lookup for host name(主机名查询静态表)。hosts文件是linux系统中负责ip地址与域名快速解析的文件,以ASCII格式保存在/etc目录下,文件名为hosts,不同的linux版本,文件也可能不同,比如Debian的对应文件是/etc/

2021-03-22 17:05:06 3976

原创 JDK各版本新增特性

可能你经常会遇到面试官问你:“某某版本JDK的新特性你知道哪些?”这类问题,那这篇文章就用于记录常用的几个版本的JDK的新特性,方便学习理解。这篇文章暂时只是简介特点,后续会持续更新。推荐博文:《JDK1.5,1.6,1.7,1.8,1.9的新特性整理》一、jdk1.5新特性(2004年10月发布)1、泛型(Generics)2、增强for循环3、自动拆装箱(Autoboxing/unboxing)4、类型安全的枚举(Typesafeenums)5、静态导入(Static import)

2021-03-22 10:46:11 720 1

原创 Object类(Java)

protected native Object clone() throws CloneNotSupportedException;public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); }public final native Cla...

2021-03-22 10:31:23 154

原创 Spring中AOP的运用

Spring中的AOP(面向切面编程)运用十分广泛和方便,我们常用于日志、事务的处理,其实能够用到的地方远远不止于此,这篇文章主要就介绍AOP的用法和一些运用实例以及思路。

2021-03-22 00:07:10 2637 1

原创 日常遇到的死锁情况收录

死锁,在我们日常开发中是绕不开的一个话题,我们随时都可能遇到“死锁”的情况,曾经也有面试官问过我“你在日常开发中遇到过哪些死锁的情况?”,这篇文章就作为我的一篇死锁问题收录吧!一、情况一用户A访问A表,然后再访问B表;用户B访问B表,然后再访问A表。用户A获取到A表的锁,完成后需要取获取B表的锁,此时A表的锁没有释放;用户B获取到B表的锁,完成后需要获取A表的锁,此时B表的锁没有释放。这样A占据A表的锁,B占据B表的锁,并且想要获取对方的锁但自身拥有的锁也没释放,这样就形成了死锁。二、情况二用户A查

2021-03-21 18:25:44 557 3

原创 Zookeeper的学习理解

分布式服务早已盛行,也是我们日常必备的技能,我们常用的主要就是SpringCloud和Dubbo+Zookeeper两种分布式架构。这篇文章主要就讲述我在学习Zookeeper过程中的学习记录,以及一些理解。一、概念Zookeeper称为分布式协调服务。(1)做什么用的?解决的就是分布式协调问题。—服务治理用于解决分布式环境中多个进程之间的同步控制,让他们有序的访问某种临界资源。(2)微服务需要思考的几个问题?1.客户端如何访问这么多服务?2.服务之间如何通信?3.服务治理?怎样才能保证这

2021-03-21 15:07:35 235 1

原创 Java常量池

长期以来,我们都知道“常量词”这个词,但是对这个概念未必有足够的理解,这篇文章就来从概念,从源码上深入理解下Java常量池。概念介绍:  Java中的常量池通常指的是运行时常量池,是方法区中的一部分,一个JVM实例只有一个运行时常量池,各个线程共享该运行时常量池。  Java常量池中保存的是一份在编译期间就已经确认的数据(静态常量数据,在类加载前就已经被实例化了)。包含final常量的值(包括成员常量、局部常量和引用常量)、以及对象字面量的值。  在编译期间,每当给常量赋值它就会去检测常量池中是否存

2021-03-17 13:23:43 213

原创 MySQL查询和修改连接数

MySQL中如果是root帐号,你能看到所有用户的当前连接;如果是其它普通帐号,只能看到自己占用的连接。1.查看当前连接详情show processlist;和show full processlist;如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。show processlist;只列出前100条show full processlist;全列出show processlist;命令结果解析:Id:正在运行服务器线程idUser:用户名,连接中

2021-03-16 15:03:36 332

原创 MySQL中忘记用户密码怎么办?MySQL如何获取用户密码

日常使用MySQL的过程中我们时常会遇到忘记用户密码的情况,面对这种情况我们该如何解决呢?直接更改用户密码?当然这是可行的,但对于有大量运用的数据库直接更改密码牵连很多,所以并不提倡这种方式,哪该怎么做呢?咱是不是可以反向破解密码呢?答案是肯定的。这篇文章主要就讲述MySQL如何破解密码。一、获取用户密码首先,我们知道MySQL中有专门存放用户信息的表,即mysql库中的user表。其中字段user即为用户名,password字段为用户密码,需要注意的是MySQL5.7及之后的版本用的都是authen

2021-03-16 11:55:30 2347

原创 MySQL中误删数据如何恢复

这个问题可能你在面试中或者日常中都会遇到,那么这篇文章就亲测进行编写,即为了巩固学习,也为了以后遇到这种情况能够自如应对。首先我们知道MySQL中数据库表的增删改操作都会在binlog日志中有相关记录,所以我们恢复数据也同样离不开binlog日志,同样我们日常做好数据备份也是必不可少的。首先将之前一次的备份文件导入,然后将binlog日志文件转换成sql文件,再将其中的删除语句给删了,然后将这个日志文件转换而来的sql文件导入即可恢复数据。其中用到的一些命令:show master logs;sh

2021-03-15 15:56:20 2249

原创 MySQL的备份和恢复

整了半天MySQL的数据备份,结果思路被其他的问题牵走了,第二天才发现我忘了记录,没有找到自己关于MySQL数据备份的相关博客,所以为了方便今后查阅,也方便学习巩固,特此写一篇关于MySQL数据备份以及恢复的博客。一、实例这里先附上我在Windows中MySQL进行的备份和恢复实例操作。#备份C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqldump -u root -p my_test student > C:\Users\ZLJ\Des

2021-03-14 23:55:14 192

原创 Windows上MySQL开启Binlog日志以及如何查看

MySQL的Binlog日志内容量巨大,这里就不赘述了,后面有时间会做专门的关于MySQL的Binlog日志的总结,不过我们也得知道Binlog日志是干啥的。一、Binlog日志1.什么是Binlog日志?binlog是记录所有数据库表结构变更(例如CREATE、ALTER TABLE…)以及表数据修改(INSERT、UPDATE、DELETE…)的二进制日志。binlog不会记录SELECT和SHOW这类操作,因为这类操作对数据本身并没有修改,但你可以通过查询通用日志来查看MySQL执行过的所有语

2021-03-14 21:31:02 5588

原创 Windows中通过cmd登陆MySQL

首先我们都知道,当我们在Windows中安装MySQL后,我们可以在“开始”中找到客户端界面对应的快捷键,点击即会弹出MySQL客户端窗口,输入密码即完成登陆。但这里要说的是如何通过cmd登陆MySQL。步骤如下:1.首先需要找到MySQL的程序路径,然后在cmd中跳转到该路径的bin目录下(因为mysql.exe就是在该目录下)。2.命令登陆:mysql -uusername -ppassword例如:C:\WINDOWS\system32>cd C:\Program Files\MyS

2021-03-14 19:22:13 1571

原创 Windows中cmd运行得到提示“发生系统错误 5。拒绝访问。”

这个提示符或许你曾经遇到过吧!我则是因为“net stop mysql”命令得到的这个提示,然后经过一番查阅,发现原来是:cmd权限太低,需要提升cmd权限,也就是提升成为管理员权限。下面就来说说怎么做吧:方式一:1.在开始菜单栏的搜索框中输入cmd,查看到“命令提示符”2.右键点击“命令提示符”,选择“以管理员身份运行”然后打开会打开管理员身份运行的命令行界面这样做有一个局限性,就是每次都这样才能打开管理员权限下的cmd界面下面是我打开后正常运行命令的界面:C:\WINDOWS\syste

2021-03-14 17:51:55 2315

原创 linux操作:Xshell生成密钥对验证连接Linux系统

日常我们一般通过“用户-密码”验证登陆Linux系统,但我们有时候也会通过密钥对的形式连接系统,可能你新入职一个单位的时候,你的leader会跟你说:“待会发个你的公钥给我!”。这时候你就应该要知道这是为了给你连接系统,那么如何快速生成自己的密钥呢?方式有很多种,这里就记录下我们常用的一种通过Xshell如何生成密钥对。一、生成过程1.工具栏中点击“工具(T)”2.点击“新建用户密钥生成向导(W)”3.密钥类型:RSA,密钥长度:20484.下一步生成公钥对5.下一步输入用户密钥的名称和密码6

2021-03-14 15:03:27 2396

原创 linux文件目录:日志文件

linux文件目录:日志文件

2021-03-14 02:13:46 466

原创 linux文件目录:systemd的service文件说明

历史版本中的linux对服务的操作是通过service来完成的。若创建用户自定义的服务,则需要较为复杂的操作。目前linux新的发行版已经内置了systemctl来操作服务。一、systemd有系统和用户区分系统(/user/lib/systemd/system/)用户(/etc/lib/systemd/user/)一般系统管理员手工创建的单元文件(service文件)建议存放在/etc/systemd/system/目录下面。二、内容介绍service脚本分为3个部分:[Unit] [Serv

2021-03-14 01:53:48 17749

原创 linux文件目录:/usr/lib/systemd/system目录作用

systemd有系统和用户区分:系统(/user/lib/systemd/system/)用户(/etc/lib/systemd/user/)一般系统管理员手工创建的单元文件建议存放在/etc/systemd/system/目录下面。/usr/lib/systemd/system目录自动存放启动文件的配置位置,里面一般包含有XXXXX.service。 当我们利用systemctl查看服务状态时,如下:[admin@localhost system]$ systemctl status mysq

2021-03-14 01:32:05 12866

原创 linux命令:crontab

一、定义crontab是用来定期执行程序的命令。crond 命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。作用途径:系统周期性所要执行的工作;用户自定义的任务,例如本文所言。二、语法crontab [ -u user ] file或crontab [ -u user ] { -l | -r | -e }crontab:用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user:指设定指定 user 的时程表,这个前

2021-03-13 19:28:57 1653

原创 斜杆“/”和反斜杠“\”的区别

斜杠和反斜杠是我们长期接触到的,有时就会搞混这些东西,这里就记录一下简单的区别。一、正斜杠表示除法,分隔,在windows系统中通常用来分隔命令行参数,/ 表示选项等。不能作为文件名isiss/。正斜杠"/"在某些文档里面表示“顿号”,如通讯方式GSM/GPRS/3G,表示这三类通讯方式都可以支持。二、反斜杠在windows系统中,\ 用来表示目录。而在unix系统中,/ 表示目录。由于web遵循unix命名,所以在网址(URL)中,/ 表示目录。鉴于不同的人对正反有不同的理解。有部分中国

2021-03-13 15:42:49 4416

原创 Java中list、map等容器为空和为null的区别

开发过程中你应该都会遇到这种情况,我们需要判断集合是否为空并且是否为null,那这里就来详细讲讲这两者的区别。首先,我们要知道,Java中新建一个list对象,默认值是空,而非null;而当我们连接数据库查询返回集合,当没有查询到数据时,返回的集合便是null。沿用一个例子: 我有一个空着的水杯(list),而你没有,那你是null,我的size为0。你想装水就需要自己去买个水杯(new ArrayList();),但是我就可以直接装水(list.add(水))。你要是没有杯子直接倒水,水就流出去啦(

2021-03-11 13:18:42 1087

原创 Java中八种基础数据类型各占多少字节和取值范围

Java中的八种基础数据类型是我们日常一直在使用中,这篇文章就用来复习和巩固该基础知识。一、详解基本类型字节区间默认值byte(位)1字节=8bits-128~1270short(短整数)2字节=16bits-32768~327670int(整数)4字节=32bits-2147483648~21474836470long(长整数)8字节=64bits-9223372036854774808~92233720368547748070f

2021-03-11 00:56:35 984

原创 Java中的i=i+1和i+=1以及i++和++i详解

一、i=i+1和i+=1(1)概念i=i+1使用简单赋值运算,i+=1使用复合赋值运算。简单赋值运算和复合赋值运算的最大差别就在于:  复合赋值运算符会自动地将运算结果转型为其左操作数的类型(即将不管i是什么数据类型,都会将右边int的1转换为i的类型)。(2)实例//方式一:byte i=7;i+=1;//方式二:byte i=7;i=i+1;第一种写法编译没问题,而第二种写法却编译通不过。原因就在于,当使用复合赋值运算符进行操作时,即使右边算出的结果是int类型,系统也会将其值

2021-03-10 15:04:33 14954

原创 原码、补码、反码概念及相互转换问题

一、原码在数值前直接加一符号位的表示法,正数符号位是0,负数符号位是1。例如:  符号位  数值位[+7]原=   0  0000111 B[- 7]原=   1  0000111 B二、补码1、概念正数:正数的补码和原码相同。负数:负数的补码则是符号位为“1”,数值部分按位取反后再在末位(最低位)加1。也就是“反码+1”。负数求补码步骤:(1)原码符号位为1不变,整数的每一位二进制数位求反得到补码(2)反码符号位为1不变,反码数值最低位加1,得到补码。2、实例例如:  符号位  

2021-03-10 14:15:34 1228

原创 二进制、八进制、十六进制和十进制的相互转换

这篇的内容算是计算机基础了,若长期没想到这方面的问题或许会忘记,这篇文章就是我用来简单记录,复习并方便今后查阅而写的。一、十进制十进制就是人们常用的计数方式,逢九进一。9遇到1变成十;19遇到1变成20;999遇到1变成1000。二、二进制如果说十进制是人类的计算度量单位,那么二进制就是机器识别的计算度量单位,逢二进一。在计算机中,有个概念叫位,一个byte是8位,八位的二进制(0或1),我们下面讨论的都将以8位为准,例如1,在计算机中显示为00000001,那么计算机中1+1=2,则逢2进1就

2021-03-10 13:27:40 566

原创 Java中的隐式类型转换和显式类型转换

一、隐式类型转换隐式类型转换也叫做自动类型转换。1、规则:从存储范围小的类型到存储范围大的类型。2、转换方向:byte→short(char)→int→long→float→double(这里指的是只有前面的数据类型能随便转换成后面的)—实际开发中这样的类型转换很多,但没有为这种转换提供专门的语法,都是由虚拟机自动完成。3、例子:byte b = 10;short sh = b;这里在赋值时,JVM首先将b的值转换为short类型,然后再赋值给sh。二、显式类型转换显式类型转换也叫做强制

2021-03-10 11:11:19 6226

原创 MySQL和Oracle中where条件语句的执行顺序

面试的时候你可能遇到过面试官提出:SQL的书写顺序,SQL的执行(解析)顺序,WHERE条件执行顺序等问题。这篇文章就简要总结下上面的几个问题。一、MySQL中SQL的书写顺序和执行顺序sql编写顺序:select distinct…from…join…on…where…group by…having…order by…limit…sql解析顺序:from…on…join…where…group by…having…select distinct…order by…limit…二、MySQL和O

2021-03-03 23:20:03 4855 4

原创 初次遇到新事物的思考方式

作为一个搬砖人,技术领域浩瀚无边,我们随时可能遇到一些新的事物,遇到新事物的时候怎样去思考、学习?这几乎是每天都会遇到的问题,往往会忽略这个接受新事物的过程,直接接受,然后还有可能是模棱两可的认知,为了这个我今天思考了一下,总结几个小步骤,虽然会比较慢,但还是能加深认知的,促进学习的。1.XX是什么?2.为什么要用呢?3.用来干啥的呢?4.为什么要用?5.什么时候用?...

2021-03-02 15:34:08 624

JVM指令手册.docx

简单整理出文档形式,官网也可下载,这里是我自行整理的一份,方便查阅。

2021-08-20

DB2错误码.xlsx

该资源是我将DB2错误码进行整合的一个excel,方便下载随时查阅

2021-07-13

空空如也

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

TA关注的人

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