- 博客(49)
- 资源 (6)
- 收藏
- 关注
原创 阿里云 服务之前设置的密钥登陆,关闭了密码登录,现在打开密码登录
输入vim /etc/ssh/sshd_config。切换用户 sudo -i。将这一项设置为yes。
2024-05-15 16:03:26 243
原创 java源码----集合系列1----ArrayList,linkedList
ArrayList,LinkedList源码解析,从源码分析,纵向对比两者的原理
2023-05-10 21:23:38 732
原创 聚簇索引和非聚簇索引
目录1、聚簇索引和非聚簇索引概念2、聚簇索引和非聚簇索引的关系3、聚簇索引和非聚簇索引的索引结构3.1 非局促索引3.2局促索引 3.3 INNODB和MYISAM的主键索引与二级索引的对比:聚簇索引:将数据存储与索引放到了一块,索引结构的叶子节点保存了行数据 非聚簇索引:将数据与索引分开存储,索引结构的叶子节点指向了数据对应的位置如下图所示,一张表 聚簇索引和非聚簇索引的关系 非聚簇索引的叶子结点存储的是索引列的值,它的数据域是聚簇索引即ID,聚簇索引叶子结点存储的是对应的数据。聚簇索引默
2022-07-04 17:03:33 20509
原创 红黑树,B-树,B+树比较
平衡二叉树红黑树(时间复杂的 Olog(n)) 又叫自平衡二叉查找树所谓的自平衡是指在插入和删除的过程中,红黑树会采取一定的策略对树的组织形式进行调整,以尽可能的减少树的高度,从而节省查找的时间。红黑树的特性如下结点是红色或黑色 根结点始终是黑色 叶子结点(NIL 结点)都是黑色 红色结点的两个直接孩子结点都是黑色(即从叶子到根的所有路径上不存在两个连续的红色结点) 从任一结点到每个叶子的所有简单路径都包含相同数目的黑色结点以上性质保证了红黑树在满足平衡二叉树特征的前提下,.
2022-06-07 22:01:09 463
原创 依据mysql5+ 创建新用户,并为新用户赋分配database
1,建用户create user 'sweet'@'%' identified by '199960902'sweet ----用户名% ----可被链接的ip199960902 ----密码2,建库CREATEDATABASEIFNOTEXISTSstudy DEFAULTCHARACTER SETutf8DEFAULTCOLLATE utf8_unicode_cistudy --------库名DEFAULT CHARACTE...
2022-05-22 23:19:24 152
原创 java8----从永久带到元空间(Metaspace)
前言java里面垃圾回收效果最差的是永久代,而且永久代溢出也是一个非常常见的问题,从java7开始,原来存储于永久代的数据就不断的被移到其他位置,有不少数据都移动到了堆区,比如字符串常量池挪到了堆区,在java8最终将永久代移除,另外新增了一个区,也就是元空间(Metaspace),元空间承接了部分永久代的数据。本文接下来介绍元空间一、永久代永久代与元空间有千丝万缕的联系,首先来看一下永久代。永久代更规范的名字的叫做方法区,永久代是方法区的一种实现方式,方法区是java规范中定义的,只有h
2022-04-26 10:33:00 1188
原创 深入理解Mysql索引底层数据结构与算法
整理下mysql索引底层数据结果和算的的学习笔记1、为什么索引能够帮助mysql高效获取数据? 我们都知道mysql数据是以文件的形式存储在磁盘上的。 那磁盘是有一圈一圈的磁道组成的 磁头移动到不同磁道,磁盘旋转,这样就可以读取到数据 磁盘存取原理1.寻道时间(速度慢,费时)2.旋转时间(速度较快) cpu读取数据都是从内存去读,内存去磁盘读取数据,内存读取磁盘数据大小都是一页的大小单位,一页=10kb 总结: 通过上面的一些知识,...
2022-04-01 00:47:05 202
原创 阿里云Centos8.2执行 yum install -y yum-utils 报错问题解决
问题描述:阿里云部署docker 执行yum install -y yum-utils报错CentOS-8 - AppStream 19 kB/s | 2.3 kB 00:00 Errors during downloading metadata for repository 'AppStream': - Status...
2022-02-27 10:26:53 9338 6
原创 阿里云通过密钥链接服务器,并关闭密码访问
1、准备工作1、创建 并下载密钥,2、链接工具:putty说明:阿里云在生成私钥后会自动将公钥文件生成在阿里云服务器中,位置在 /root/.ssh2,转换密钥文件格式2.1 打开puttygenputtygen界面puttygen界面 有三块区域 key,Action,Parameters 区域在Action区域点击Load按钮,弹出界面文件类型选All Files,选中阿里云生成的密钥文件在Parameters区域...
2022-02-23 13:35:00 2105
原创 Linux 下各个目录的作用及内容
在 Linux 下,我们看到的是文件夹(目录):在早期的 UNIX 系统中,各个厂家各自定义了自己的 UNIX 系统文件目录,比较混乱。Linux 面世不久后,对文件目录进行了标准化,于1994年对根文件目录做了统一的规范,推出 FHS ( Filesystem Hierarchy Standard ) 的 Linux 文件系统层次结构标准。FHS 标准规定了 Linux 根目录各文件夹的名称及作用,统一了Linux界命名混乱的局面。无论何种版本的 Linux 发行版,桌面、应用是 Linux
2021-12-19 14:47:15 572
原创 TCP/IP五层网络架构及OSI参考模型
OSI是Open System Interconnection的缩写,意为开放式系统互联,他是一个定义得非常好的协议规范。。国际标准化组织(ISO)制定了OSI模型,该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架。OSI模型把网络通信的工作分为7层,OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 ;其中高层(即7、6、5、4层)定义了应用程序的功能,下面3层(即3、2、1层)主要面向通过网络的端到端的数据流。1.
2021-12-14 14:45:43 2622
转载 Java 程序如何正确地打日志
什么是日志简单的说,日志就是记录程序的运行轨迹,方便查找关键信息,也方便快速定位解决问题。我们 Java 程序员在开发项目时都是依赖 Eclipse/ Idea 等开发工具的 Debug 调试功能来跟踪解决 Bug,在开发环境可以这么做,但项目发布到了测试、生产环境呢?你有可能会说可以使用远程调试,但实际并不能允许让你这么做。所以,日志的作用就是在测试、生产环境没有 Debug 调试工具时开发、测试人员定位问题的手段。日志打得好,就能根据日志的轨迹快速定位并解决线上问题,反之,日志输出不好不能
2021-07-23 10:33:27 677
原创 cron表达式详解
Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: (1)Seconds Minutes Hours DayofMonth Month DayofWeek Year (2)Seconds Minutes Hours DayofMonth Month DayofWeek 一、结构 corn从左到右(用空格隔开):秒 分 小时 月份中的日期 月份 星期中的日期 年份 二、各字段的含义 字段 ..
2021-01-13 10:00:11 878
原创 从文字中取出关键字替换并兼容简单计算
1,问题场景一些场景中需要用到固定的消息模板,但是模板中某几个关键字段要能够具备可替换的功能,就需要奖模板中的关键字提取出来进行替换2,代码实现,2.1实现简单的替换2.1.1代码实现将需要替换的信息放到文字的中括号内,然后利用Pattern 和Matcher 调用正则表达式\\[(.*?)] 获取文字中所有中括号里面的字符,再从msgFragmentMap中获取对应的值进行替换public String replaceMsgFild(String requestId,Str.
2021-01-12 15:07:44 178
原创 Oracle中的LOB字段解读
问题背景:LOB字段是Oracle数据库用于存储大数据对象的字段类型,包括BLOB、CLOB、NLOB、BFILE;当LOB字段大小超过4k时,数据库会单独为该LOB字段分配额外的BLOB Segments存储BLOB对象,存储在lobsegment中的lob缺省不在缓冲区缓存,对于lob的读写都是物理IO,代价非常高,所以对于大于4kb的lob字段更新效率非常低;被删除或更新的BLOB字段所占用空间不会自动批量回收,当所在表有大量的删除、更新操作时,BLOB所在Segments会迅速耗尽空间.
2020-11-26 20:34:25 2589
原创 反射方法中的异常的捕捉
1,问题场景:我们通常在java开发中采用自定义异常,在业务中遇到非系统错误时抛出自定义异常,并在上层进行捕获,就能知道业务的具体出错信息。这种方法很常用,但是如果采用反射去自动调用某个方法时,却不能捕获到用户自定义的异常。1.1代码演示如下:其中BusinessException是自定义异常定义Man对象,里面的setWork方法抛出自定义BusinessException异常package com.cc.utils;import com.cc.tools.exception
2020-11-26 19:16:02 1822
原创 设计模式总结--------调停者模式
目录1,使用场景2,准备工作2.1 person类2.2 Students类2.3 Teacher类3 调停者3.1 接口 MediatorInterface3.2 实现类:MasterJiImplMasterJiImpl类实现了调停者接口中的switchCall方法,对任意发过来的请求进行处理和转发,实现person对象之间的调用,这几个类的结构图如下4 演示先定义2个老师对象,3个学生对象,通过MasterJiImpl的addPers...
2020-11-08 09:52:21 620
原创 spring boot @Cacheable key生成策略(keyGenerator配置)
pring cache缓存的key默认是通过KeyGenerator生成的,通过继承CachingConfigurerSupport类实现对KeyGenerator的灵活配置1.前期工作-缓存前缀枚举的创建package com.sgcc.config;/** * @author 作者 Your-Name:**** @version 创建时间:2020年9月23日 下午2:07:52 * 类说明 活动缓存前缀枚举*/public enum AcOperatorEnum {
2020-09-24 17:05:14 10123 3
原创 Eclipse常用快捷键收录
Eclipse 常用快捷键目录Eclipse 常用快捷键注释 Ctrl+/快速修复 Ctrl + 1删除当前行 Ctrl+d格式化整个文档 Ctrl+Shift+f插入空行 Shift + Enter编辑窗口最大化 Ctrl + m显示大纲 Ctrl + O查找Java类文件 Ctrl + Shift + T查找引用 Ctrl+Shift+G后退历史记录Alt+ ←、Alt+ →快速查找选定的内容 Ctrl+K重命名Alt+Shift+R...
2020-09-17 09:49:57 170
原创 比较java枚举成员使用equal还是==
问题我知道Java枚举会被编译成一个包含私有构造参数和一堆静态方法的类,当去比较两个枚举的时候,总是使用equals()方法,例如:public useEnums(SomeEnum a){ if(a.equals(SomeEnum.SOME_ENUM_VALUE)) { ... } ...}除此之外,我也可以使用 == 替代equals() 方法public useEnums2(SomeEnum a){ if(a == Som
2020-08-28 11:15:27 420
原创 在一个千万级的数据库查寻中,如何提高查询效率?
1)数据库设计方面:a. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。b. 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0...
2020-08-20 09:45:22 934
原创 RocketMq入门
本文首先引出消息中间件通常需要解决哪些问题,在解决这些问题当中会遇到什么困难,Apache RocketMQ作为阿里开源的一款高性能、高吞吐量的分布式消息中间件否可以解决,规范中如何定义这些问题。然后本文将介绍RocketMQ的架构设计,以期让读者快速了解RocketMQ。消息中间件需要解决哪些问题?Publish/Subscribe发布订阅是消息中间件的最基本功能,也是相对于传统RPC通信而言。在此不再详述。Message Priority规范中描述的优先级是指在一个消息队列中,每条消
2020-08-13 14:45:22 182 1
原创 千万级数据库删库及备份
场景:公司一张表在前期设计时没有考虑数据量以及代码设计上的不足,导致数据库存量达到三千万。导致后台系统无法操作,只能走脚本来操作,在修改代码不足,后考虑对数据库进行数据删除及备份,保存14天数据,备份30天(累计存储44天)前期工作:原表:simple_ac_mq_message备份表:simple_ac_mq_message_back...
2020-02-14 14:43:10 936
转载 数据库分区、分表、分库、分片(转载)
一、分区的概念数据分区是一种物理数据库的设计技术,它的目的是为了在特定的SQL操作中减少数据读写的总量以缩减响应时间。分区并不是生成新的数据表,而是将表的数据均衡分摊到不同的硬盘,系统或是不同服务器存储介子中,实际上还是一张表。另外,分区可以做到将表的数据均衡到不同的地方,提高数据检索的效率,降低数据库的频繁IO压力值,分区的优点如下:1、相对于单个文件...
2019-12-26 15:08:41 369
原创 Eclipse快捷命令总结
新公司用的开发工具是UAP Studio ,一个类似于eclipse的开发工具。但是eclipse的操作命令都忘的差不多了。在此做个总结以下快捷键有可能和其他软件的快捷键冲突。请注意alt+/(快速插入)ctrl+1(自动修复)自动生成返回值类型Ctrl + D 删除当前行Ctrl + Alt + ↓(复制当前行到下一行)Ctrl+Alt+↑ 复制当前行到上一行...
2019-10-25 14:30:03 239
原创 Get请求和Post请求的区别
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。当你在面试中被问到这个问题,你的内心充满了自信和喜悦。你轻...
2019-10-24 07:58:52 254
原创 Linux常用命令及大文件操作命令总结
文件和目录cd /home 进入 '/ home' 目录'cd .. 返回上一级目录cd ../.. 返回上两级目录cd 进入个人的主目录cd ~user1 进入个人的主目录cd - 返回上次所在的目录pwd 显示工作路径ls 查看目录中的文件ls -F 查看目录中的文件ls -l 显示文件和目录的详细资料ls -a 显示隐藏文件 、ls *[0-9...
2019-10-20 23:38:57 271
原创 面试问题总结
基础篇1、谈谈多态,及多态的好处多态,父类引用指向子类。当把不同的子类对象都当做父类类型来看待,可以屏蔽不同子类对象之间的实现差异,从而写出通用的代码达到通用编程,以适应需求的不断变化。在实际开发中,父类类型作为方法形式参数,传递子类对象给方法,进行方法的调用,更能体现出多态的拓展性和便利方便代码维护和拓展2、谈谈继承,继承得好处从上层往下层看,当定义类B时,如果类A有...
2019-10-15 21:27:18 196
原创 Elasticseach集群搭建
目录Elasticseach集群简介集群的相关概念集群cluster节点node分片和复制Elasticseach集群的搭建修改每台服务器配置node1节点node2节点node3节点添加索引和映射总结Elasticseach集群简介Elasticseach集群是一个P2P类型(使用gossip协议)的分布式系统,除了集群状态管理以外,...
2019-10-14 18:32:47 223
原创 Elasticsearch基础总结
Elasticsearch简介ElasticSearch 是一个基于Luncene的搜索服务。它提供了一个分布式多用户能力的全文搜索引擎,基于RestFul web接口Elasticsearch是java语言开发的满足Apache许可条件的开放源码,是一种流行的企业级搜索引擎。ElasticSeach用于云计算中,能够达到实时搜索,文档可靠,快速,安装使用方便。 ...
2019-10-13 22:05:37 830
原创 redis介绍及spring data redis方法总结
越来越发现包括redis在内的非关系型数据库在工作实现中重要性。利用redis做数据的缓存处理、防止对数据库的恶意攻击等都有很大帮助。在这里做个redis的系统介绍,和常用方法总结,供以后参看并和朋友们分享。Redis安装请自行百度,本篇文章redis部署在window10专业版上,且添加在了window服务进程当中,还有用到redis的桌面化工具redis-desktop-manage...
2019-10-13 18:02:59 857
原创 SSM框架整合配置文件编写
配置步骤说明红色为提示信息绿色为bean标签引入的类紫色为非bean标签的标签头蓝色代表标签的name属性名一、Dao层1、导入数据源配置文件(context:property-placeholder)2、创建DataSource数据源对象(本例采用Druid作为数据源)(DruidDataSource)3、创建SqlSessionFactoryBean对...
2019-08-27 19:29:22 530
原创 Java的IO流方法总结
目录一 IO流1、1 字节流、字符流1、1、1使用字节流实现文件复制1、2 缓冲流1、3 转换流1、4 序列化流1.5 打印流二 、总结:一 IO流Java中I/O操作主要是指使用java.io包下的内容,进行输入、输出操作。I 是输入(input)也叫做读取数据,O是输出(Output)也叫做作写出数据。 IO流根据数据的流向...
2019-08-26 22:03:14 660
原创 File类方法总结及使用Lambda表达式实现文件过滤
目录准备工作:在F:\blackhorse\mavenproject下创建FileIOUpload项目1、1 字段摘要1、2构造方法1、3静态成员方法1、4 常用方法1、5文件遍历小Demo1、6使用Lambda表达式实现文件过滤1、7总结:准备工作:在F:\blackhorse\mavenproject下创建FileIOUpload项目java....
2019-08-26 18:35:05 2376
原创 properties配置文件和xml配置文件的解析
配置文件都有其特有的书写格式,如properties的配置文件就是等号连接的键值对,xml的配置文件就是一个一个的标签。而读取不同配置文件方法也不一样。但都需要先获取配置文件,而那些直接获取配置文件的方法内部也都是封装了获取配置文件流的方法目录一、获取流 文件二、解析properties配置文件2-1、使用Proerties对象读取2-2、使用抽象类ResourceB...
2019-07-22 20:45:21 1598
mchange-commons-java-0.2.12.jar+c3p0-0.9.5.2.jar+c3p0-config.xml
2019-06-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人