自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于AOP+自定义注解实现多数据源动态切换

使用Spring AOP和自定义注解实现多数据源动态切换,下面直接上Demo自定义注解import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Retention(RetentionPolicy.RUNTIME)@Target({Elem

2021-04-16 17:34:56 550 4

原创 SpringBoot整合多数据源配置实战

近期在处理项目整合的task,涉及到多数据源配置,现将具体实践分享给大家。配置多数据源1.application.yml配置spring: datasource: druid: driver-class-name: com.mysql.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource ........ ........first: datasource: passw

2020-11-03 17:01:52 317 3

原创 MySQL执行计划解析看这篇就够了

现实开发中,为了优化SQL,需要了解SQL语句的具体执行过程,可以使用explain+SQL语句来模拟优化器执行SQL查询语句,从而知道MySQL是如何处理SQL语句的。mysql> explain select * from staffs;+----+-------------+--------+------------+------+---------------+------+---------+------+------+----------+-------+| id | select_

2020-08-28 16:40:41 911 1

原创 Apollo添加Namespace不生效

近期做项目配置迁移到Apollo,项目比较特殊,同属测试环境同一个集群有两套配置(workspace、online),添加Namespace不生效,一直读取的是默认Namespaceapp: id: ******apollo: meta: ******* cluster: testing3 bootstrap: enabled: true namespaces: application_workspace.yml启动服务 控制台一直提示Load Apollo C

2020-08-26 20:25:07 3397 1

原创 K8S实战_贝亲商城

最近学习了K8S相关知识,并实战了贝亲商城项目,现将实战流程做以下总结:一.构建NFS文件共享master(172.16.228.177)节点设置共享路径vi /etc/exports*/usr/local/beiqin/dist 172.16.228.177/24(rw,sync)/usr/local/beiqin/sql 172.16.228.177/24(rw,sync)*查看设置是否生效exportfs/usr/local/beiqin/dist 172.16.228.177/2

2020-08-24 23:37:29 1214 2

原创 FastDFS集群环境搭建

FastDFS集群搭建

2022-06-17 18:17:07 2211 1

转载 Optional的妙用

空指针是我们最常见也最讨厌的异常,写过 Java 程序的同学,一般都遇到过 NullPointerException—— 为了不抛出这个异常,我们便会写如下的代码:SysUser user = getUserById(id);if (user != null) { String username = user.getUsername(); System.out.println("Username is: " + username); // 使用 username}但是很多时候,我

2021-07-05 16:03:17 678

原创 java用ffmpeg获取音频信息及转化音频采样率、比特率、声道数量、格式

近期接到一个音频转换的需求,涉及音频信息获取、格式转换、采样率、比特率、声道数量改变,现将具体demo分享给大家。首先先安装ffmpeg,安装后的bin目录如下所示:我们主要用ffprobe、ffmpeg这两个执行程序,其中ffprobe用于获取音频流信息、ffmpeg用于音频转换,下面直接上代码获取音频信息 public String getAudioInformation(String filePath) { Runtime run = null; Process

2020-11-24 17:12:06 3992 1

原创 认识异或运算

异或(eor)是一个数学运算符,它应用于逻辑运算。异或运算:相同为0,不同为1;可以理解成无进位相加。异或运算性质:(1) 0 ^ N = N; N ^ N = 0(2) 满足交换律、结合律、自反下面由几个问题入手,深入理解异或运算(^)一.如何不用额外变量交换两个数num1 = num1 ^ num2;num2 = num1 ^ num2;num1 = num1 ^ num2;二.一个数组中有一个数出现了奇数次,其他数都出现了偶数次,怎样找到并打印这个数private static

2020-11-04 18:39:12 1362

转载 理解Spring定时任务@Scheduled的两个属性fixedRate和fixedDelay

fixedRate和fixedDelay都是表示任务执行的间隔时间fixedRate和fixedDelay的区别:fixedDelay非常好理解,它的间隔时间是根据上次的任务结束的时候开始计时的。比如一个方法上设置了fixedDelay=5*1000,那么当该方法某一次执行结束后,开始计算时间,当时间达到5秒,就开始再次执行该方法。fixedRate理解起来比较麻烦,它的间隔时间是根据上次任务开始的时候计时的。比如当方法上设置了fiexdRate=5*1000,该执行该方法所花的时间是2秒,那么3秒后

2020-09-30 13:56:27 2164

原创 死锁分析及避免死锁

什么是死锁死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。产生死锁下面我们看一个简单的demopublic class DeadLockDemo { public static void main(String[] args) { for (int i = 1; i <= 100000; i++) {

2020-09-17 15:29:48 406

原创 Spring Cloud五大组件入门实战

简介Spring Cloud是实现微服务架构的一系列框架的有机集合。在Spring Boot基础上构建的,用于简化分布式系统构建的工具集。是拥有众多子项目的项目集合。利用Spring Boot的开发便利性,巧妙地简化了分布式系统基础设施(服务注册与发现、熔断机制、网关路由、配置中心、消息总线、负载均衡、链路追踪等)的开发。技术架构技术点剖析Eureka单机双节点部署1.修改本机hosts文件127.0.0.1 euk1.com127.0.0.1 euk2.com

2020-09-11 14:49:26 368

原创 Java内存模型和内存屏障

存储器层器结构Java并发内存模型每个线程都有各自的工作内存,对变量的一系类操作都是在工作内存中完成。假设主内存变量x原始值为1,线程1从主内存取出变量x,修改x的值为2,在线程1未将变量x写回主内存的时候,线程2拿到变量x的值仍然为1,这样就产生了数据不一致问题。怎样保存数据一致性?缓存锁 + 总线锁Intel CPU实现缓存锁采用的是MESI协议:当读取标记为Invalid状态的缓存行内容时,读取失效,需要强制从主存中读取;特殊情况,有些无法被缓存的数据或跨越多个缓存行的数据,依然需要使

2020-09-04 23:59:05 181

原创 JVM Class加载过程详解

类加载过程JVM会通过加载、连接、初始化3个步骤来对该类进行初始化类加载器类加载器可以分为4种:启动类加载器,拓展类加载器,应用类加载器,自定义类加载器做个简单demo测试:System.out.println(String.class.getClassLoader());System.out.println(sun.net.spi.nameservice.dns.DNSNameService.class.getClassLoader());//ext包下面的类System.out.pri

2020-09-03 17:07:23 294

原创 MySQL索引的那些事儿~

前缀索引MySQL有时候需要索引很长的字符串,这会让索引变的大且慢,通常情况下可以使用某个列开始的部分字符串,这样大大的节约索引空间,从而提高索引效率,下面举例说明如何选取索引前缀。–查找最常见的城市列表,发现每个值都出现45-65次mysql> select count(*) as cnt,city from citydemo group by city order by cnt desc limit 10;+-----+--------------------+| cnt | city

2020-09-01 17:43:25 110

原创 MySQL技术名词解释

回表通过普通索引无法直接查询到行数据信息,需要先通过普通索引定位到主键值,再通过聚簇索引定位到行数据覆盖索引select的数据列只用从索引中就能够取得,不必从数据表中读取,换句话说查询列要被所使用的索引覆盖Extra值为Using index最左匹配最左优先,以最左边的为起点任何连续的索引都能匹配上。同时遇到范围查询(>、<、between、like)就会停止匹配索引下推MySQL5.6添加已知联合索引(name,age),假如表中name=‘test’有两条数据,age分别为

2020-08-28 17:48:18 149

原创 浏览器无法访问K8S中的tomcat

tomcat部署成功,浏览器访问报404:进入容器查看:进入webapps文件夹,发现里面没有内容,进入另外一个webapps.dist文件夹,发现文件都在这里里面,于是再次访问页面:问题解决

2020-08-22 22:20:35 1133 1

转载 Zookeeper全解析——Paxos作为灵魂

原计划在介绍完ZK Client之后就着手ZK Server的介绍,但是发现ZK Server所包含的内容实在太多,并不是简简单单一篇Blog就能搞定的。于是决定从基础搞起比较好。那么ZK Server最基础的东西是什么呢?我想应该是Paxos了。所以本文会介绍Paxos以及它在ZK Server中对应的实现。先说Paxos,它是一个基于消息传递的一致性算法,Leslie Lamport在1990年提出,近几年被广泛应用于分布式计算中,Google的Chubby,Apache的Zookeeper都是基于

2020-08-19 10:57:29 106

空空如也

空空如也

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

TA关注的人

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