自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (1)
  • 收藏
  • 关注

原创 Log4j配置文件

SpringBoot配置Log4j2

2022-09-01 20:50:52 1128

原创 docker搭建Grafana+Loki+Promtail日志分析

docker搭建Grafana+Loki+Promtail日志分析

2022-08-27 19:23:12 1722 2

原创 OpenFegin调用超时问题

fegin超时配置

2022-08-06 17:29:40 2617

原创 Oracle服务连接不上 ORA-12514 ORA-01034 ORA-27012

一、问题window server 安装的Oracle很久不用连接不上了,报ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务,查看了服务实例名都是正确的。二、查找问题使用SQLplus本机连接:sqlplus system/system出现错误ERROR:ORA-01034: ORACLE not availableORA-27101: shared memory realm does not existUnix/Linux系统 :ORACLE_SID=ORCL

2021-09-22 14:00:59 440

原创 原生令牌桶算法

public class LocalTest { @Test public void test(){ //桶大小为100 没秒填充100个 时间单位为毫秒 1s = 1000ms TokenBucket limiter = new TokenBucket(100, 100, 1000); }} class TokenBucket { //令牌桶大小 private final long capacity; .

2021-09-01 10:45:07 112

原创 判断一个数是否为2的幂次方

从进制的方式考虑,一个数如果为2的幂次方,二进制表现形式肯定为10,100,1000,10000,100000.....等。那么n-1,二进制数据为01,011,0111,0111,01111...因此只要让n,n-1两个数按位与‘&’等于零则为2的幂次方public boolean isPowOfTwo(int n) { return n > 0 && (n & (n - 1)) == 0; }...

2021-07-08 09:48:07 196

原创 高并发秒杀伪代码实现逻辑

private static boolean SP = true;public ResponseDTO testMS(String userId){ if(userId==null){ return ResponseDTO.succMsg("未登录"); } //商品模拟写死为100 String productID = "100"; if(SP) { Boolean ifAb.

2021-03-10 14:35:07 254

原创 Java VisualVM远程连接docker tomcat容器

1.创建容器docker run -d -p 9000:8080 -p 9008:9008 -v /home/tomcat:/usr/local/tomcat/webapps -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone --name testVM tomcat:89000为项目访问端口,9008位jmx连接端口2.配置JVM参数2.1宿主机创建并编辑setenv.sh文件JAVA_OPTS="-server

2020-11-12 16:20:49 452 1

原创 记一次JVM内存溢出解决过程

1.问题简述线上的服务器随着访问量的增加莫名其妙的挂了查看了一下错误日志:java.lang.OutOfMemoryError: Compressed class space2.问题分析在Java8以前,有一个选项是UseCompressedOops。所谓OOPS是指“ordinary object pointers“,就是原始指针。Java Runtime可以用这个指针直接访问指针对应的内存,做相应的操作(比如发起GC时做copy and sweep)。那么Compressed是啥意思?64b

2020-11-12 15:43:20 2319 3

原创 Sharding-JDBC实现读写分离,使用 mysql 配置主从同步(三)

面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。 对于同一时刻有大量并发读操作和较少写操作类 型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负责处理查询操作,能 够有效的避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。Sharding-JDBC提供一主多从的读写分离配置,可独立使用,也可配合分库分表使用,同一线程且同一数据库连接 内,如有写入操作,以后的读操作均从主库读取,用于保证数据一致性。Sharding-JDBC不提供主从数据库的数据 同步功

2020-07-08 16:11:31 1507 1

原创 Sharding-JDBC 入门水平分库,水平分表(一)

Sharding-JDBC是当当网研发的开源分布式数据库中间件,从 3.0 开始Sharding-JDBC被包含在 Sharding-Sphere 中,之后该项目进入进入Apache孵化器,4.0版本之后的版本为Apache版本。 ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding- Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。 他们均提供标准化的数据分片、分布式事务和 数据库治理功能,可适用于

2020-07-08 14:41:09 264

原创 SpringBoot通过拦截器获取请求参数和返回结果进行操作

SpringBoot项目的创建和初始化在这里就不在重复一.实现请求拦截器处理数据自定义拦截器在SpringMVC中的 Interceptor拦截器才用实现 HandlerInterceptor的方式,实现其中的三个方法。preHandle(): 该方法在请求处理之前执行,SpringMVC 中的Interceptor 是链式的调用的,在一个应用中或者说是在一个请求中可以同时存在多个Interceptor 。每个Interceptor 的调用会依据它的声明顺序依次执行,而且最先执行的都是Interce

2020-07-03 10:31:34 25121 4

原创 MySQL 容器修改配置文件后无法启动问题

Docker安装MySQL容器修改配置文件后无法启动查看容器配置文件docker inspect 容器名称或容器 ID可以看到容器配置文件在宿主机得目录 cd /var/lib/docker/overlay2/1d7877d715b9c730103ed54f272912f81bdb7d68f4beadf699229233f65148b0cd diff/etc/mysql就可以看到...

2020-04-29 17:28:24 381

原创 Oracle数据库迁移到MySQL

Oracle数据库迁移到MySQL因为公司需要,需要将项目从Oracle数据库迁移到MySql找了很多方式,这里记录两种较稳定的。#一,使用MySQL Migration Toolkit1.安装首先去http://dev.mysql.com/downloads/gui-tools/5.0.html下载MySQL GUI Tools(其实就是一个MySQL管理工具),其中就包括MySQL M...

2018-11-27 14:32:04 3437

原创 springmvc框架的文件上传下载工具类

package com.track.util;import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.

2017-09-11 16:44:40 366

1.7版本JDK使用webService报表报送所需jdk jar包.zip

JDK1.7版本使用 webService 需要添加两个额外 jar 包,否则会报错,需要将这两个 jar 包放到 jre/ext 目录下,同时配置jre/lib 下得 java.security 文件

2020-08-05

空空如也

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

TA关注的人

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