自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

白先森的博客

互联网技术

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

原创 springboot启动原理,基于2.1.6(1)--SpringApplication实例化

1.项目入口//springboot项目入口public static void main(String[] args) { SpringApplication.run(GoodsCenterApplication.class, args); }2.run方法的操作流程将在下一节进行分析public static ConfigurableApplicationContext run(Class<?> primarySource, String... args) { r

2020-07-14 15:07:27 243

原创 Synchronized 耗时的原因,用户态切换内核态耗时的原因

Synchronized 是基于底层操作系统的 Mutex Lock 实现的,每次获取和释放锁操作都会带来用户态和内核态的切换,从而增加系统性能开销。用户态切换内核态的过程如下开销的地方1、切换线程上下文,需要保护和恢复寄存器数据2、切换到执行内核线程的时候,内核代码对用户不信任,需要进行额外的检查。3、内核线程执行完返回过程有很多额外工作,比如检查是否需要调度等4、...

2019-12-05 11:45:50 3332 5

原创 JVM 堆中的对象的内存区域

注意:如果对象为数组,那么在对象头中还必须有一块用于记录数组长度的数据,因为虚拟机可以通过普通java对象的元数据信息确定java对象大小,但是从数组对象的元数据中却无法确定数组大小。...

2018-03-15 16:08:02 301

原创 几张图介绍MyISAM和InnoDB的数据分布以及主键索引和二级索引的数据分布区别

表结构:           create table layout_test (                    col1 int NOT NULL,                    col2 int NOT NULL ,                    PRIMARY KEY (col1),                    KEY (col2)            )...

2018-02-28 14:24:30 2073 1

转载 B-tree/b+tree 原理以及聚簇索引和非聚簇索引

转自:https://www.cnblogs.com/shijianchuzhenzhi/p/6666537.htmlB-Tree介绍B-Tree是一种多路搜索树(并不是二叉的):       1.定义任意非叶子结点最多只有M个儿子;且M&gt;2;       2.根结点的儿子数为[2, M];       3.除根结点以外的非叶子结点的儿子数为[M/2, M];       4.每个结点存放至...

2018-02-28 13:34:37 28765 2

原创 mysql对于很长的字符列的索引方案

1.模拟哈希索引   新建一列用于存储该字符列的hash值(哈希函数不要使用SHA1(),MD5(),因为会产生很长的字符串,浪费空间,比较也慢,最好是返回整数的hash函数),在该列建立索引,查询时必须在where子句中包含常量值,以避免hash冲突(      例如:SELECT  id                 FROM urlT                 WHERE url_h...

2018-02-27 18:19:55 6914 1

原创 mysql 一条sql实现插入或更新 on duplicate key update

表中数据:执行插入两条主键冲突的数据,如果包含该主键则更新列name:insert into  t_my (id,`name`) VALUES (2,'bob2'),(3,'bob3') on DUPLICATE KEY UPDATE `name` = VALUES(`name`);更新之后表数据为:前提是表有主键或者唯一索引,若有多个索引都冲突,则只根据一个索引更新。如需根据条件更新则可以使用m...

2018-02-27 14:21:44 8583

原创 mysql 数据类型

1 整数类型   TINYINT  SMALLINT MEDIUMINT  INT BIGINT 分别使用 8,16,24,32,64位存储空间,存储范围是-2的(n-1)次方到2的(n-1)次方-1,其中n是存储空间位数。unsigned属性不允许负值,大致可以使正数的上限提高一倍。可以指定正数类型的宽度,例如int(11),对大多数应用没有意义:因为不会限制值的合法范围,只是规定了mysql的...

2018-02-26 17:59:38 150

转载 tess4j 版本识别图片(版本3.1.0) 提示找不到模块

操作系统环境 win7tess4j版本3.1.0代码           File file = new File("c:/test.jpg")           Tesseract instance = new Tesseract();             File tessDataFolder = LoadLibs.extractTessResources("te

2017-08-04 16:37:34 9563 1

原创 maven 创建javaweb项目

查看本地mvn安装命令mvn -version   开始创建:mvn archetype:create -Dgroup=org.bob -Dartifactid=test -DarchetypeArtifactId=maven-arhcetype-webapp****如果为3.0+版本maven 命令需将create改为generate之后就可以在eclip

2017-07-14 17:23:48 218

转载 mysql配置主从

转载自:http://369369.blog.51cto.com/319630/790921mysql主从复制(超简单)怎么安装mysql数据库,这里不说了,只说它的主从复制,步骤如下:1、主从服务器分别作以下操作:  1.1、版本一致  1.2、初始化表,并在后台启动mysql  1.3、修改root的密码2、修改主服务器master:   #vi /etc/my.cnf       [mysq...

2017-07-01 19:15:13 187

转载 centos6.5安装mysql5.6

1.查看操作系统相关信息。[root@linuxidc ~]# cat /etc/issue CentOS release 6.5 (Final) Kernel \r on an \m [root@linuxidc ~]# uname -a Linux linuxidc 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC

2017-07-01 17:06:49 225

转载 redis 官方集群配置,实践遇到的问题

参考redis集群配置实践过程出现的问题:提示slot  XXX   is already busy,是因为redis.conf文件的cluster-config-file 参数没有打开或者是集群中的配置文件都指向了一个文件,需要为每个配置文件分别指定单独的文件

2017-04-28 16:08:24 284

原创 监测redis服务器运行情况 哨兵工具

哨兵工具两个作用:1.监测主数据库和从数据库是否运行正常                                 2.主数据出现故障时自动将从数据库转换为主数据库哨兵配置文件:sentinel monitor mymaster   192.168.1.254 6379 1;                          mymaster自定义主库名称,只需监测主库

2017-04-27 14:54:59 693

原创 redis 主从配置/复制

通过 INFO replication  来查看当前redis服务器的主从状态两种方式 ,只需操作从服务器,1 配置文件修改  2 命令修改配置文件修改:配置从服务器redis配置文件slaveof 参数,slaveof   host  port;需要重启redis命令修改:对于运行的redis  只需在从服务器上使用命令  slaveof  host port ;

2017-04-27 14:29:07 238

原创 redis的持久化 RDB AOF

RDB方式的持久化是通过快照完成的,可以修改配置文件的dir和dbfilename两个参数分别指定快照文件的存储路径和文件名。RDB触发的情况:1. 根据规则自动快照  配置文件中配置 save  M N,代表在时间m内被更改的键的个数大于N,即符合快照条件,同时可  以存在多个条件                              2.用户执行save或bgsave命令

2017-04-27 11:16:37 228

原创 redis 消息队列 发布、订阅模式

向队列中放入元素命令  lpush key value1 value2 value3,rpush  key value1 value2 value3;从队列中取元素命令  lpop  key;rpop key;blpop key timeout;brpop key timeout; lpop 和brpop的区别是当列表为空的时候,lpop会每隔一秒会调用一次lpop命令查看是否有新任务,而

2017-04-27 11:06:30 1847

原创 redis 常用命令

启动redis:redis-server;默认端口为6379        redis-server --port 6380;自定义端口 停止redis :        kill -9 redisPid ;根据pid强制杀死redis进程远程连接redis:(redis3.0默认启用安全防护模式,需要通过xxxx:6379> CONFIG SET protected-mo

2017-04-26 09:57:21 421

原创 Centos 安装redis

本文是通过源码编译安装redis最新稳定版本下载地址 http://download.redis.io/redis-stable.tar.gz完整安装命令:wget  http://download.redis.io/redis-stable.tar.gztar xzf redis-stable.tar.gz                cd redis-st

2017-04-26 09:24:06 273

空空如也

空空如也

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

TA关注的人

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