自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux常用命令手册大全

关机/重启/注销常用命令作用shutdown -h now即刻关机shutdown -h 1010分钟后关机shutdown -h 11:0011:00关机shutdown -h +10预定时间关机(10分钟后)shutdown -c取消指定时间关机shutdown -r now重启shutdown -r 1010分钟之后重启shutdown -r 11:00定时重启reboot重启init 6重启init

2022-02-17 16:47:47 372

原创 MySQL5.7 四种日志文件

mysql 日志包括:错误日志,二进制日志,通用查询日志,慢日志等一:通用查询日志:记录建立的客户端连接和执行的语句1)show variables like '%verision%'; 显示数据库版本号,存储引擎等信息mysql> show variables like '%version%';+-------------------------+------------------------------+| Variable_name | Value |+-----------

2022-01-21 11:26:20 184

原创 synchronized锁升级优化过程

如果一开始是无锁状态,那么第一个线程获取索取锁的时候,判断是不是无锁状态,如果是无锁(001),就通过CAS将mark word里的部分地址记录为当前线程的ID,同时最后倒数第三的标志位置为1,即倒数三位的结果是(101),表示当前为轻量级锁。下一个如果该线程再次获取该锁的时候,就直接判断mark word里记录的线程ID是不是我当前的线程ID,如果是的话,就成功获取到锁了,即不需再进行CAS操作,这就是相对轻量级锁来说,偏向锁的优势(只需进行第一次的CAS,而无需每次都进行CAS,当然这个理想过程是没有其

2021-11-12 15:44:50 238

原创 一文彻底搞懂ConcurrentHashMap

直接上jdk7与jdk8对ConcurrentHashMap底层实现的对比图,对比如下图:jdk7的ConcurrentHashMap底层结构是Segment数组,可以在初始化的时候指定Segment数组的长度,并且不可变。而Segment继承了ReentrantLock,它存储数据的实现与HashMap很像。也就是说jdk7的ConcurrentHashMap可以看成是由线程安全的HashMap组成的一个map数组,数组的长度决定了支持的最大的并发量。jdk8的ConcurrentHashMa

2021-11-11 14:50:42 309

原创 彻底玩转git

一般来说,日常使用只要记住下图6个命令,就可以了。Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库在当前目录新建一个Git代码库$ git init新建一个目录,将其初始化为Git代码库$ git init [project-name]下载一个项目和它的整个代码历史$ git clone [url]二、配置 Git的设置文件为.gitconfig,它可以在用户主目录下.

2021-09-18 17:31:19 71

原创 Spring bean的生命周期

找工作的时候有些人会被问道Spring中Bean的生命周期,其实也就是考察一下对Spring是否熟悉,工作中很少用到其中的内容,那我们简单看一下。在说明前可以思考一下Servlet的生命周期:实例化,初始init,接收请求service,销毁destroy;Spring上下文中的Bean也类似,如下1、实例化一个Bean--也就是我们常说的new;2、按照Spring上下文对实例化的Bean进行配置--也就是IOC注入;3、如果这个Bean已经实现了BeanNameAware接口,会调用它

2021-06-17 22:04:50 262

原创 大厂面试必问的Hashmap

1.谈一下HashMap的特性?1.HashMap存储键值对实现快速存取,允许为null。key值不可重复,若key值重复则覆盖。2.非同步,线程不安全。3.底层是hash表,不保证有序(比如插入的顺序)2.谈一下HashMap的底层原理是什么?基于hashing的原理,jdk8后采用数组+链表+红黑树的数据结构。我们通过put和get存储和获取对象。当我们给put()方法传递键和值时,先对键做一个hashCode()的计算来得到它在bucket数组中的位置来存储Entry对象。当获取对象.

2021-06-04 14:15:16 105

原创 Spring MVC工作流程

1、springmvc工作原理图2、springmvc工作流程1、 用户向服务端发送一次请求,这个请求会先到前端控制器DispatcherServlet(也叫中央控制器)。2、DispatcherServlet接收到请求后会调用HandlerMapping处理器映射器。由此得知,该请求该由哪个Controller来处理(并未调用Controller,只是得知)3、DispatcherServlet调用HandlerAdapter处理器适配器,告诉处理器适配器应该要去执行哪个Controller4

2021-06-04 14:07:49 78

原创 Java虚拟机之垃圾回收

1.如何判断对象可以回收1.1 引用计数法1.2可达性分析法Java 虚拟机中的垃圾回收器采用可达性分析来探索所有存活的对象扫描堆中的对象,看是否能够沿着 GC Root对象 为起点的引用链找到该对 象,找不到,表示可以回收哪些对象可以作为 GC Root四种引用强引用只有所有 GC Roots 对象都不通过【强引用】引用该对象,该对象才能被垃圾回收软引用(SoftRef...

2020-05-07 21:38:51 117

原创 Java虚拟机之内存结构

内存结构1. Program Counter Register 程序计数器(寄存器)作用:是记住下一条jvm指令的执行地址特点: 是线程私有的 不会存在内存溢出2. Java Virtual Machine Stacks (Java 虚拟机栈)每个线程只能有一个活动栈帧,对应着当前正在执行的那个方法2.2 栈内存溢出栈帧过多导致栈内存溢出栈帧过大导致栈内存溢出...

2020-05-07 16:22:06 144

原创 Mysql应用

1.1 mysql该mysql不是指mysql服务,而是指mysql的客户端工具。语法 :mysql [options] [database]1.1.1 连接选项参数 : -u, --user=name 指定用户名 -p, --password[=name] 指定密码 -h, --host=name 指定服务器IP或域名 -P, --port=# 指定连接端口...

2020-05-05 15:22:38 350

原创 Mysql艺术

1. 应用优化前面章节,我们介绍了很多数据库的优化措施。但是在实际生产环境中,由于数据库本身的性能局限,就必须要对前台的应用进行一些优化,来降低数据库的访问压力。1.1 使用连接池对于访问数据库来说,建立连接的代价是比较昂贵的,因为我们频繁的创建关闭连接,是比较耗费资源的,我们有必要建立 数据库连接池,以提高访问的性能。1.2 减少对MySQL的访问1.2.1 避免对数据进行重复检索在...

2020-05-05 15:20:54 200

原创 Mysql高级

1. Mysql的体系结构概览[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pPhsLykH-1588663095811)(assets/000001.jpg)]整个MySQL Server由以下组成Connection Pool : 连接池组件Management Services & Utilities : 管理服务和工具组件SQL Inte...

2020-05-05 15:19:29 721 1

原创 Mysql入门

MySQL高级课程简介序号Day01Day02Day03Day041Linux系统安装MySQL体系结构应用优化MySQL 常用工具2索引存储引擎查询缓存优化MySQL 日志3视图优化SQL步骤内存管理及优化MySQL 主从复制4存储过程和函数索引使用MySQL锁问题综合案例5触发器SQL优化常用SQL技巧...

2020-05-05 15:17:54 954

原创 spring data redis 基本使用

stringRedisTemplate.opsForValue().set(“test”, “100”,60*10,TimeUnit.SECONDS);//向redis里存入数据和设置缓存时间stringRedisTemplate.opsForValue().get(“test”)//根据key获取缓存中的valstringRedisTemplate.boundValueOps(“test”)...

2020-04-20 10:05:12 79

原创 git常用命令

查看当前分支 git branch查看当前项目中文件状态 git status将所有文件添加到暂存区 git add .提交当前项目中的文件 git commit -m ‘提交说明’将本地新创建的本地分支推送到远程仓库 git push -u origin 分支名称将本地分支推送到远程仓库 git push切换到主分支 git checkout master将本地其他分支合并到主分...

2020-04-10 18:26:16 72

原创 docker虚拟化

1 Docker简介1.1 什么是虚拟化​ 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。...

2019-12-09 16:37:54 149

原创 mybatis的注解开发以及xml的多表查询配置

public interface ClusterMessageMapper { // Insert @Insert("insert into cluster_manager(cluster_name, cluster_time, cluster_address, cluster_access_user, cluster_access_passwd) " + ...

2019-10-03 17:14:11 97

原创 mapper的配置方式

第一种依据 Mapper 类 具体路径 配置 Mapper这种情况下,如果是非注解模式的话xml配置文件必须和这个类在同一级目录,且与Mapper类同名<configuration> <mappers> <!-- class 级别的指定 --> <mapper class="com.best...

2019-10-03 16:39:31 883

原创 MySQL 表的约束、数据库设计及多表查询

DQL 查询语句– 查询所有数据,使用年龄降序排序 select * from student order by age desc;– 查询所有数据,在年龄降序排序的基础上,如果年龄相同再以数学成绩升序排序select * from student order by age desc, math asc;五个聚合函数– 查询年龄大于 20 的总数select count(*) f...

2019-10-03 15:59:56 151

原创 mysql的入门及CRUD操作

DDL 操作数据库直接创建数据库 db1create database db1;– 判断是否存在,如果不存在则创建数据库 db2create database if not exists db2;– 创建数据库并指定字符集为 gbk create database db3 default character set gbk;– 查看所有的数据库show databases;– 查看某个...

2019-10-03 14:54:33 114

空空如也

空空如也

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

TA关注的人

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