<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[TimeQuantum的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/TimeQuantum</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; TimeQuantum]]></copyright><item><title><![CDATA[Log4j配置文件]]></title><link>https://blog.youkuaiyun.com/TimeQuantum/article/details/126651167</link><guid>https://blog.youkuaiyun.com/TimeQuantum/article/details/126651167</guid><author>TimeQuantum</author><pubDate>Thu, 01 Sep 2022 20:50:52 +0800</pubDate><description><![CDATA[SpringBoot配置Log4j2]]></description><category></category></item><item><title><![CDATA[docker搭建Grafana+Loki+Promtail日志分析]]></title><link>https://blog.youkuaiyun.com/TimeQuantum/article/details/126561166</link><guid>https://blog.youkuaiyun.com/TimeQuantum/article/details/126561166</guid><author>TimeQuantum</author><pubDate>Sat, 27 Aug 2022 19:23:12 +0800</pubDate><description><![CDATA[docker搭建Grafana+Loki+Promtail日志分析]]></description><category></category></item><item><title><![CDATA[OpenFegin调用超时问题]]></title><link>https://blog.youkuaiyun.com/TimeQuantum/article/details/126198221</link><guid>https://blog.youkuaiyun.com/TimeQuantum/article/details/126198221</guid><author>TimeQuantum</author><pubDate>Sat, 06 Aug 2022 17:29:40 +0800</pubDate><description><![CDATA[fegin超时配置]]></description><category></category></item><item><title><![CDATA[Oracle服务连接不上 ORA-12514 ORA-01034 ORA-27012]]></title><link>https://blog.youkuaiyun.com/TimeQuantum/article/details/120413262</link><guid>https://blog.youkuaiyun.com/TimeQuantum/article/details/120413262</guid><author>TimeQuantum</author><pubDate>Wed, 22 Sep 2021 14:00:59 +0800</pubDate><description><![CDATA[一、问题
window server 安装的Oracle很久不用连接不上了，报ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务，查看了服务实例名都是正确的。
二、查找问题
使用SQLplus本机连接：
sqlplus system/system

出现错误
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Unix/Linux系统 :
ORACLE_SID=ORCL
]]></description><category></category></item><item><title><![CDATA[原生令牌桶算法]]></title><link>https://blog.youkuaiyun.com/TimeQuantum/article/details/120034720</link><guid>https://blog.youkuaiyun.com/TimeQuantum/article/details/120034720</guid><author>TimeQuantum</author><pubDate>Wed, 01 Sep 2021 10:45:07 +0800</pubDate><description><![CDATA[public class LocalTest {

    @Test
    public void test(){
        //桶大小为100  没秒填充100个  时间单位为毫秒 1s = 1000ms
        TokenBucket limiter = new TokenBucket(100, 100, 1000);
    }
}

 class TokenBucket {

     //令牌桶大小
      private final long capacity;
    .]]></description><category></category></item><item><title><![CDATA[判断一个数是否为2的幂次方]]></title><link>https://blog.youkuaiyun.com/TimeQuantum/article/details/118566966</link><guid>https://blog.youkuaiyun.com/TimeQuantum/article/details/118566966</guid><author>TimeQuantum</author><pubDate>Thu, 08 Jul 2021 09:48:07 +0800</pubDate><description><![CDATA[从进制的方式考虑，一个数如果为2的幂次方，二进制表现形式肯定为10,100,1000,10000,100000.....等。

那么n-1,二进制数据为01,011,0111,0111,01111...

因此只要让n,n-1两个数按位与‘&amp;’等于零则为2的幂次方


public boolean isPowOfTwo(int n) {
		return n &gt; 0 &amp;&amp; (n &amp; (n - 1)) == 0;
	}


...]]></description><category></category></item><item><title><![CDATA[高并发秒杀伪代码实现逻辑]]></title><link>https://blog.youkuaiyun.com/TimeQuantum/article/details/114634879</link><guid>https://blog.youkuaiyun.com/TimeQuantum/article/details/114634879</guid><author>TimeQuantum</author><pubDate>Wed, 10 Mar 2021 14:35:07 +0800</pubDate><description><![CDATA[private static boolean SP = true;
public ResponseDTO testMS(String userId){
        if(userId==null){
            return ResponseDTO.succMsg("未登录");
        }
        //商品模拟写死为100
        String productID = "100";
        if(SP) {
            Boolean ifAb.]]></description><category></category></item><item><title><![CDATA[Java VisualVM远程连接docker tomcat容器]]></title><link>https://blog.youkuaiyun.com/TimeQuantum/article/details/109646436</link><guid>https://blog.youkuaiyun.com/TimeQuantum/article/details/109646436</guid><author>TimeQuantum</author><pubDate>Thu, 12 Nov 2020 16:20:49 +0800</pubDate><description><![CDATA[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:8

9000为项目访问端口，9008位jmx连接端口
2.配置JVM参数
2.1宿主机创建并编辑setenv.sh文件
JAVA_OPTS="-server]]></description><category></category></item><item><title><![CDATA[记一次JVM内存溢出解决过程]]></title><link>https://blog.youkuaiyun.com/TimeQuantum/article/details/109642421</link><guid>https://blog.youkuaiyun.com/TimeQuantum/article/details/109642421</guid><author>TimeQuantum</author><pubDate>Thu, 12 Nov 2020 15:43:20 +0800</pubDate><description><![CDATA[1.问题简述
线上的服务器随着访问量的增加莫名其妙的挂了查看了一下错误日志：
java.lang.OutOfMemoryError: Compressed class space

2.问题分析
在Java8以前，有一个选项是UseCompressedOops。所谓OOPS是指“ordinary object pointers“，就是原始指针。Java Runtime可以用这个指针直接访问指针对应的内存，做相应的操作（比如发起GC时做copy and sweep）。
那么Compressed是啥意思？64b]]></description><category></category></item><item><title><![CDATA[Sharding-JDBC实现读写分离,使用 mysql 配置主从同步(三)]]></title><link>https://blog.youkuaiyun.com/TimeQuantum/article/details/107206849</link><guid>https://blog.youkuaiyun.com/TimeQuantum/article/details/107206849</guid><author>TimeQuantum</author><pubDate>Wed, 08 Jul 2020 16:11:31 +0800</pubDate><description><![CDATA[面对日益增加的系统访问量，数据库的吞吐量面临着巨大瓶颈。 对于同一时刻有大量并发读操作和较少写操作类 型的应用系统来说，将数据库拆分为主库和从库，主库负责处理事务性的增删改操作，从库负责处理查询操作，能 够有效的避免由数据更新导致的行锁，使得整个系统的查询性能得到极大的改善。
Sharding-JDBC提供一主多从的读写分离配置，可独立使用，也可配合分库分表使用，同一线程且同一数据库连接 内，如有写入操作，以后的读操作均从主库读取，用于保证数据一致性。Sharding-JDBC不提供主从数据库的数据 同步功]]></description><category></category></item><item><title><![CDATA[Sharding-JDBC 入门水平分库,水平分表(一)]]></title><link>https://blog.youkuaiyun.com/TimeQuantum/article/details/107203869</link><guid>https://blog.youkuaiyun.com/TimeQuantum/article/details/107203869</guid><author>TimeQuantum</author><pubDate>Wed, 08 Jul 2020 14:41:09 +0800</pubDate><description><![CDATA[Sharding-JDBC是当当网研发的开源分布式数据库中间件，从 3.0 开始Sharding-JDBC被包含在 Sharding-Sphere 中，之后该项目进入进入Apache孵化器，4.0版本之后的版本为Apache版本。 ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈，它由Sharding-JDBC、Sharding- Proxy和Sharding-Sidecar（计划中）这3款相互独立的产品组成。 他们均提供标准化的数据分片、分布式事务和 数据库治理功能，可适用于]]></description><category></category></item><item><title><![CDATA[SpringBoot通过拦截器获取请求参数和返回结果进行操作]]></title><link>https://blog.youkuaiyun.com/TimeQuantum/article/details/107098749</link><guid>https://blog.youkuaiyun.com/TimeQuantum/article/details/107098749</guid><author>TimeQuantum</author><pubDate>Fri, 03 Jul 2020 10:31:34 +0800</pubDate><description><![CDATA[SpringBoot项目的创建和初始化在这里就不在重复
一.实现请求拦截器处理数据
自定义拦截器
在SpringMVC中的 Interceptor拦截器才用实现 HandlerInterceptor的方式，实现其中的三个方法。
preHandle(): 该方法在请求处理之前执行，SpringMVC 中的Interceptor 是链式的调用的，在一个应用中或者说是在一个请求中可以同时存在多个Interceptor 。每个Interceptor 的调用会依据它的声明顺序依次执行，而且最先执行的都是Interce]]></description><category></category></item><item><title><![CDATA[MySQL 容器修改配置文件后无法启动问题]]></title><link>https://blog.youkuaiyun.com/TimeQuantum/article/details/105844744</link><guid>https://blog.youkuaiyun.com/TimeQuantum/article/details/105844744</guid><author>TimeQuantum</author><pubDate>Wed, 29 Apr 2020 17:28:24 +0800</pubDate><description><![CDATA[Docker安装MySQL容器修改配置文件后无法启动
查看容器配置文件
docker inspect 容器名称或容器 ID

可以看到容器配置文件在宿主机得目录

 cd /var/lib/docker/overlay2/1d7877d715b9c730103ed54f272912f81bdb7d68f4beadf699229233f65148b0
cd diff/etc/mysql

就可以看到...]]></description><category></category></item><item><title><![CDATA[Oracle数据库迁移到MySQL]]></title><link>https://blog.youkuaiyun.com/TimeQuantum/article/details/84564452</link><guid>https://blog.youkuaiyun.com/TimeQuantum/article/details/84564452</guid><author>TimeQuantum</author><pubDate>Tue, 27 Nov 2018 14:32:04 +0800</pubDate><description><![CDATA[Oracle数据库迁移到MySQL
因为公司需要，需要将项目从Oracle数据库迁移到MySql找了很多方式，这里记录两种较稳定的。
#一，使用MySQL Migration Toolkit
1.安装
首先去http://dev.mysql.com/downloads/gui-tools/5.0.html下载MySQL GUI Tools（其实就是一个MySQL管理工具），其中就包括MySQL M...]]></description><category></category></item><item><title><![CDATA[springmvc框架的文件上传下载工具类]]></title><link>https://blog.youkuaiyun.com/TimeQuantum/article/details/77934849</link><guid>https://blog.youkuaiyun.com/TimeQuantum/article/details/77934849</guid><author>TimeQuantum</author><pubDate>Mon, 11 Sep 2017 16:44:40 +0800</pubDate><description><![CDATA[package com.track.util;


import org.springframework.web.multipart.MultipartFile;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.]]></description><category></category></item></channel></rss>