自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux 安装Mysql 详细教程

linux安装mysql趟坑总结

2022-09-02 19:01:46 986 1

原创 数据库双写

更换数据库,数据库双写过渡功能

2022-07-28 16:56:41 2434 1

原创 线程池总结(一)

Java线程Thread类,所有的线程对象都必须是Thread类或其子类的实例,Java可以用三种方式来创建线程:继承Thread类创建线程 实现Runnable接口创建线程 使用Callable和Future创建线程做一些简单的操作开启一个线程处理数据可通过上面方式来完成,但是频换创建销毁线程的话还是要用线程池更节省资源,降低系统开销而且还能提供定时执行,定期执行,单线程,并发控制等功能。想必很多人都看过阿里开发手册,里面提到一条:线程池不允许使用Exec...

2021-09-28 18:41:38 176

转载 缓存的七大经典问题

缓存在使用过程不可避免会遇到一些问题,这些问题也是面试中常被问及的问题,对于高频的问题大概归为了7类。具体内容下面如下1、缓存集中失效当业务系统查询数据时,首先会查询缓存,如果缓存中数据不存在,然后查询DB再将数据预热到Cache中,并返回。缓存的性能比 DB 高 50~100倍以上。很多业务场景,如:秒杀商品、微博热搜排行、或者一些活动数据,都是通过跑任务方式,将DB数据批量、集中预热到缓存中,缓存数据有着近乎相同的过期时间。当过这批数据过期时,会一起过期,此时,对这批数据的所有请求.

2021-06-24 16:20:06 617

原创 springboot 1.5.x升级2.1.18 踩坑

Narayana支持已被删除,pom中删除相关依赖 spring-boot-starter-jta-narayana。 java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.<init>([Ljava/lang/Object;)V 升级spring-cloud 版本至Greenwich.SR6 ChannelAwareMessageListener 包路.

2021-02-04 10:45:27 875

转载 MySQL聚集索引和非聚集索引

MySQL的Innodb存储引擎的索引分为聚集索引和非聚集索引两大类,理解聚集索引和非聚集索引可通过对比汉语字典的索引。汉语字典提供了两类检索汉字的方式,第一类是拼音检索(前提是知道该汉字读音),比如拼音为cheng的汉字排在拼音chang的汉字后面,根据拼音找到对应汉字的页码(因为按拼音排序,二分查找很快就能定位),这就是我们通常所说的字典序;第二类是部首笔画检索,根据笔画找到对应汉字,查到汉字对应的页码。拼音检索就是聚集索引,因为存储的记录(数据库中是行数据、字典中是汉字的详情记录)是按照该索引排序的;

2020-12-18 14:46:04 420

原创 dokcer打filebeat镜像

Filebeat容器主要负责将app容器里面的日志推送到kafka, 为了降低耦合度及后续的维护难度,创建filebeat容器的时候可将filebeat.yml配置文件以configmap的方式实现。本文是单独打的filebeat镜像,当然也有在项目中集成的。因为项目针对日志在宿主机上设置了挂载点,filebeat镜像也设置同样的挂载点,这样就能取到日志完成发送。Dockerfile文件内容FROM centosMAINTAINER youcaige# Install FilebeatW.

2020-12-11 18:37:05 566 1

原创 nested exception is io.lettuce.core.RedisCommandExecutionException: ERR invalid expire time in setex

线上时不时会报出类似的报错,看代码以为key为空取值问题,结果本地调试后发现并不是,于是通过打印详细报错找到了大概方向。错误信息: Error in execution; nested exception is io.lettuce.core.RedisCommandExecutionException: ERR invalid expire time in setexorg.springframework.data.redis.RedisSystemException: Error in ex..

2020-12-09 16:40:30 18783 1

原创 “marketplace plugins are not loaded”或Plugins搜不到插件

新装的机器上想装下maybatisX插件方便,mapper跳转到xml。结果出现了下面的诡异情况:网上搜了一下原因,应该是插件市场的网址被屏蔽,可能因为我们都是破解版的,破解过程产生的问题。解决办法如下:1.File->Appearance&Behavior->System Settings->Updates->User secure connection,因为其安全验证开启,所以访问不到:https://plugins.jetbrains.com/, 导致搜不到

2020-05-15 18:48:23 2983 1

原创 SourceTree 3.3.8安装跳过注册教程

我的是Win10, 最新下载的SourceTree版本为3.3.8,前提是本地安装了git。 跳过注册安装的步骤如下: 访问官网下载SourceTree最新版本 点击访问 安装SourceTree 3.3.8,执行到选择 bitbucket 的界面退出。 到 C:\Users{当前用户名}\AppData\Local\Atlassian\Source...

2020-04-13 11:30:20 8031 2

原创 git clone时curl 18 transfer closed with outstanding read data remaining

下载自己github上的项目,结果因为太慢,失败了好几次,以为公司网络问题,回到住所后下载也出现了这个问题,这就没法忍了,于是上网查了下,特此记录下。git clone时报RPC failed; curl 18 transfer closed with outstanding read data remaining 错误原因1:缓存区溢出。curl的postBuffer的默认值太小,我...

2020-04-12 23:49:38 1218

原创 JAVA锁的膨胀过程

看到这个标题的时候我的确也有些蒙,之前也很少看这方面的文章,整理下,填充下自己的空白。一、背景在 Java 语言中,使用 Synchronized 是能够实现线程同步的,即加锁。并且实现的是悲观锁,在操作同步资源的时候直接先加锁。加锁可以使一段代码在同一时间只有一个线程可以访问,在增加安全性的同时,牺牲掉的是程序的执行性能,所以为了在一定程度上减少获得锁和释放锁带来的性能消耗,在 jd...

2019-07-18 11:25:52 5260 4

原创 Jvm 内存浅析 之GC小结

Java从诞生至今,20多年过去,仍是使用最为广泛的语言。这仰赖于Java提供的各种技术和特性,让开发人员能优雅的编写高效的程序。今天我们就来说说Java的一项基本但非常重要的技术内存管理了解C语言的同学都知道,在C语言中内存的开辟和释放都是由我们自己来管理的,每一个new操作都要对于一个delete操作,否则就会参数内存泄漏和溢出的问题,导致非常槽糕的后果。但在Java开发过程中,则完全不需...

2019-07-16 20:07:34 134

原创 在浏览器地址栏输入一个URL后回车,背后会进行哪些技术步骤?

为了让更多读者理解这个问题,接下来派出男主角小明出场,采用拟人的手法来阐述整个过程。小明听说最近两天知乎有一个帖子挺火,问题的提出者是腾讯的总裁 Pony Ma,有一个回答是这样的:于是小明想去看看精彩评论,于是开始了网上冲浪之旅。。。小明打开浏览器,输入http://zhihu.com敲回车键。在小明眼里,浏览器是自己的小奴才,让你干啥就干啥。浏览器才不这么看,鄙人也...

2019-03-26 11:54:12 782

转载 java.lang.Exception 中常见异常的解释

一般面试中java Exception(runtimeException )是必会被问到的问题常见的异常列出四五种,是基本要求。更多的。。。。需要注意积累了常见的几种如下:NullPointerException - 空指针引用异常ClassCastException - 类型强制转换异常。IllegalArgumentException - 传递非法参数异常。Arithmetic...

2019-03-04 17:52:52 16091

原创 Java 实现单例模式,竟然有 9 种方法,肯定有你没见过的

一. 什么是单例模式 因进程需要,有时我们只需要某个类同时保留一个对象,不希望有更多对象,此时,我们则应考虑单例模式的设计。 二. 单例模式的特点 单例模式只能有一个实例。单例类必须创建自己的唯一实例。单例类必须向其他对象提供这一实例。 三. 单例模式VS静态类 在知道了什么是单例模式后,我想你一定会想到静态类,“既然只使用一个对象,为何不干脆使用静...

2019-02-22 18:08:54 152

转载 史上最污技术解读,让你秒懂IT术语

假设你是一位女性,你有一位男朋友,于此同时你和另外一位男生暧昧不清,比朋友好,又不是恋人。你随时可以甩了现任男友,另外一位马上就能补上。这是冷备份。假设你是一位女性,同时和两位男性在交往,两位都是你男朋友。并且他们还互不干涉,独立运行。这就是双机热备份。假设你是一位女性,不安于男朋友给你的安全感。在遥远的男友未知的地方,和一位男生保持着联系,你告诉他你没有男朋友,你现在处于纠结期,一旦你和...

2019-02-22 17:43:36 689

转载 MySql中的锁机制

讲到锁大家应该都不陌生。像是Java中常见的采用CAS算法实现的乐观锁,典型的例子就是原子类,通过CAS自旋实现原子操作的更新,悲观锁通常都是Synchronized和Lock实现。乐观锁与悲观锁 乐观锁:每次读数据的时候都认为其他人不会修改,所以不会上锁,而是在更新的时候去判断在此期间有没有其他人更新了数据,可以使用版本号机制。在数据库中可以通过为数据表增加一个版本号字段实现。读取...

2018-09-12 16:42:57 180

转载 mysql+mycat搭建稳定高可用集群,负载均衡,主备复制,读写分离

数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境。主要思路简单说,实现mysql主备复制--&gt;利用mycat实现负载均衡。比较了常用的读写分离方式,推荐mycat,社区活跃,性能稳定。测试环境MYSQL版本:Server version: 5.5.53,到官网可以下载WINDWOS安装包。注意:确保mysql...

2018-09-11 18:03:31 299

转载 扫盲,为什么分布式一定要有Redis?

考虑到绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Value 两个操作,对 Redis 整体缺乏一个认知。所以我斗胆以 Redis 为题材,对 Redis 常见问题做一个总结,希望能够弥补大家的知识盲点。 本文围绕以下几点进行阐述: 为什么使用 Redis 使用 Redis 有什么缺点 单线程的 Redis ...

2018-09-10 19:12:22 168

原创 java中Redis5大基本类型的操作--StringRedisTemplate用法

redis存储格式 上一篇文章讲述jedis的使用,实际开发中使用更多的是StringRedisTemplate,本文将通过一些简单的操作来介绍其用法。因为用的是springBoot框架,所以只需要按规定样式配置文件即可。spring项目则可以通过使用xml配置bean的方式完成。 redis配置文件# REDIS (RedisProperties)# Redis数据库索引...

2018-09-07 15:51:06 4171

原创 java中Redis5大基本类型的操作--jedis用法

存储格式 大家都知道redis支持的存储类型(String/List/Hash/Set/SortedSet ),但是不一定在工作中都用到过,希望通过整理的这篇文章,让初学者都能知道在java中如何使用redis以及redis对这几种数据类型的操作。基本用法jedis就是集成了redis的一些命令操作,封装了redis的java客户端。提供了连接池管理。一般不直接使用jedis...

2018-09-07 11:19:51 1136

转载 Java基础知识30问

1. 面向对象和面向过程的区别面向过程优点: 性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。缺点: 没有面向对象易维护、易复用、易扩展面向对象优点: 易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护...

2018-08-30 17:26:14 150

原创 Spring 中获取 request 的几种方法,及其线程安全性分析

概述 在使用Spring MVC开发Web系统时,经常需要在处理请求时使用request对象,比如获取客户端ip地址、请求的url、header中的属性(如cookie、授权信息)、body中的数据等。由于在Spring MVC中,处理请求的Controller、Service等对象都是单例的,因此获取request对象时最需要注意的问题,便是request对象是否是线程安全的:当有大量并...

2018-08-30 17:13:30 155

原创 spring的@Transactional注解详细用法

概述事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性。 Spring Framework对事务管理提供了一致的抽象,其特点如下: 为不同的事务API提供一致的编程模型,比如JTA(Java Transaction API), JDBC, Hibernate, JPA(Java Persistence API和JDO(Java Data Object...

2018-08-30 17:04:55 134

转载 69 道 Spring 面试题和答案

Spring 概述 1. 什么是spring?Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。 2. 使用Spring框架的好处是什么? 轻量:Spring 是轻量的,基本的版本大约...

2018-08-30 16:53:59 233

转载 Java面试中常问的数据库方面问题

MySQL为什么用自增列作为主键 如果我们定义了主键(PRIMARY KEY),那么InnoDB会选择主键作为聚集索引、如果没有显式定义主键,则InnoDB会选择第一个不包含有NULL值的唯一索引作为主键索引、如果也没有这样的唯一索引,则InnoDB会选择内置6字节长的ROWID作为隐含的聚集索引(ROWID随着行记录的写入而主键递增,这个ROWID不像ORACLE的ROWID那样可引用...

2018-08-30 16:27:40 163

原创 java基础学习笔记二

1.数据库索引使用小技巧弊端:1.占用磁盘空间2.对dml(插入,修改,删除)操作有影响,变慢使用场景:满足以下条件的字段,才应该 创建索引a:肯定在where条件经常使用b:该字段的内容不是唯一的几个值(如sex)c:字段内容不是频繁变化不会出现在where子句中字段不该创建索引 2.数据库优化之分表分表分为水平(按行)分表和垂直(按列)分表 ...

2018-08-24 18:13:26 154

转载 史上最全 Java 多线程面试题及答案

这篇文章主要是对多线程的问题进行总结的,因此罗列了40个多线程的问题。这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,但是本文写作的重心就是所有的问题都会按照自己的理解回答一遍,不会去看网上的答案,因此可能有些问题讲的不对,能指正的希望大家不吝指教。 1、多线程有什么用?一个可能在很多人看来...

2018-08-24 18:10:29 141

原创 java基础学习笔记一

1.servlet生命周期加载servlet的class--&gt;实例化servlet--&gt;调用servlet完成初始化--&gt;响应请求(servlet的service方法)--&gt;servlet容器关闭时(servlet的destory方法)2.forward和redirect的区别forward转向 ,浏览器地址栏不变化,服务器端的转向,不用客户端重新发送请求,一次...

2018-08-24 18:05:10 176

空空如也

空空如也

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

TA关注的人

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