<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[不断总结不断成长]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/adudeboke</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; adudeboke]]></copyright><item><title><![CDATA[java面试题]]></title><link>https://blog.youkuaiyun.com/adudeboke/article/details/118483160</link><guid>https://blog.youkuaiyun.com/adudeboke/article/details/118483160</guid><author>adudeboke</author><pubDate>Mon, 05 Jul 2021 15:59:08 +0800</pubDate><description><![CDATA[java面试必看redisredis使用场景？redis单线程还是多线程？遇到过缓存穿透吗？遇到过缓存击穿吗？如何避免缓存雪崩？缓存回收策略？如何进行缓存预热？数据库与缓存不一致？redis主从不一致问题？redis持久化原理redis扛不住了，万级流量达到DB上为什么使用setnX？分布式锁？redis存储
redis
redis使用场景？
string、list(队列)、hash(hmset)、set(统计网站访问ip)、zset(top10)
缓存、服务无状态化、锁(redison)
及时性、数据一致]]></description><category></category></item><item><title><![CDATA[java面试题上]]></title><link>https://blog.youkuaiyun.com/adudeboke/article/details/82468498</link><guid>https://blog.youkuaiyun.com/adudeboke/article/details/82468498</guid><author>adudeboke</author><pubDate>Thu, 06 Sep 2018 21:20:52 +0800</pubDate><description><![CDATA[2013年年底的时候，我看到了网上流传的一个叫做《Java面试题大全》的东西，认真的阅读了以后发现里面的很多题目是重复且没有价值的题目，还有不少的参考答案也是错误的，于是我花了半个月时间对这个所谓的《Java面试大全》进行了全面的修订并重新发布在我的优快云博客。在修订的过程中，参照了当时JDK最新版本（Java 7）给出了题目的答案和相关代码，去掉了EJB 2.x、JSF等无用内容或过时内容，补...]]></description><category></category></item><item><title><![CDATA[根据进程查看端口]]></title><link>https://blog.youkuaiyun.com/adudeboke/article/details/82290095</link><guid>https://blog.youkuaiyun.com/adudeboke/article/details/82290095</guid><author>adudeboke</author><pubDate>Sat, 01 Sep 2018 19:47:49 +0800</pubDate><description><![CDATA[有时候需要查看一个进程占用了那个端口，但是只知道进程大致的名称，比如要查看hadoop的namenode在哪个端口上运行，以便在eclipse中连接。一种方法如下，可能比较搓，请大牛指教！

首先用ps命令查看进程的id：

 


$ ps -ef | grep Name


其中每一行（很长的时候会占用若干行）的第二个字段就是进程的id。

 

当然，对于在java虚拟机中运行的进程，比如h...]]></description><category></category></item><item><title><![CDATA[面试题]]></title><link>https://blog.youkuaiyun.com/adudeboke/article/details/81915713</link><guid>https://blog.youkuaiyun.com/adudeboke/article/details/81915713</guid><author>adudeboke</author><pubDate>Tue, 21 Aug 2018 22:23:30 +0800</pubDate><description><![CDATA[转

史上最全Java面试题（带全部答案）

2018年05月27日 22:57:06

阅读数：11469

今天要谈的主题是关于求职，求职是在每个技术人员的生涯中都要经历多次。对于我们大部分人而言，在进入自己心仪的公司之前少不了准备工作，有一份全面细致面试题将帮助我们减少许多麻烦。在跳槽季来临之前,特地做这个系列的文章，一方面帮助自己巩固下基础，另一方面也希望帮助想要换工作的朋友。

 

相...]]></description><category></category></item><item><title><![CDATA[分布式事务解决方案]]></title><link>https://blog.youkuaiyun.com/adudeboke/article/details/81634794</link><guid>https://blog.youkuaiyun.com/adudeboke/article/details/81634794</guid><author>adudeboke</author><pubDate>Mon, 13 Aug 2018 18:32:06 +0800</pubDate><description><![CDATA[前阵子从支付宝转账1万块钱到余额宝，这是日常生活的一件普通小事，但作为互联网研发人员的职业病，我就思考支付宝扣除1万之后，如果系统挂掉怎么办，这时余额宝账户并没有增加1万，数据就会出现不一致状况了。

上述场景在各个类型的系统中都能找到相似影子，比如在电商系统中，当有用户下单后，除了在订单表插入一条记录外，对应商品表的这个商品数量必须减1吧，怎么保证？！在搜索广告系统中，当用户点击某广告后，除了在...]]></description><category></category></item><item><title><![CDATA[volatile是非原子性 AtomicInteger原子性]]></title><link>https://blog.youkuaiyun.com/adudeboke/article/details/81436047</link><guid>https://blog.youkuaiyun.com/adudeboke/article/details/81436047</guid><author>adudeboke</author><pubDate>Sun, 05 Aug 2018 21:51:30 +0800</pubDate><description><![CDATA[import java.util.concurrent.atomic.AtomicInteger;

/*
 * volatile不是原子性的，它只保证变量在多线程中可见,操作时并不是线程安全的
 * AtomicInteger 是原子性的
 */
public class sub extends Thread{
    public static volatile int a;
    priv...]]></description><category></category></item><item><title><![CDATA[mysql acid]]></title><link>https://blog.youkuaiyun.com/adudeboke/article/details/81433391</link><guid>https://blog.youkuaiyun.com/adudeboke/article/details/81433391</guid><author>adudeboke</author><pubDate>Sun, 05 Aug 2018 17:43:11 +0800</pubDate><description><![CDATA[本文实验的测试环境：Windows 10+cmd+MySQL5.6.36+InnoDB

一、事务的基本要素（ACID）

　　1、原子性（Atomicity）：事务开始后所有操作，要么全部做完，要么全部不做，不可能停滞在中间环节。事务执行过程中出错，会回滚到事务开始前的状态，所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体，就像化学中学过的原子，是物质构成的基本单位。

　　 2、一...]]></description><category></category></item><item><title><![CDATA[spring两种请求异步调用扩大吞吐量]]></title><link>https://blog.youkuaiyun.com/adudeboke/article/details/81349591</link><guid>https://blog.youkuaiyun.com/adudeboke/article/details/81349591</guid><author>adudeboke</author><pubDate>Wed, 01 Aug 2018 22:42:37 +0800</pubDate><description><![CDATA[方法一：返回DeferredResult

方法二：返回Callable

//将请求需要执行的业务放入队列

package com.atguigu.service;

import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;

import org.springframework.web.context...]]></description><category></category></item><item><title><![CDATA[spring注解驱动执行流程]]></title><link>https://blog.youkuaiyun.com/adudeboke/article/details/81333226</link><guid>https://blog.youkuaiyun.com/adudeboke/article/details/81333226</guid><author>adudeboke</author><pubDate>Wed, 01 Aug 2018 16:31:25 +0800</pubDate><description><![CDATA[Spring容器的refresh()【创建刷新】;
1、prepareRefresh()刷新前的预处理;
    1）、initPropertySources()初始化一些属性设置;子类自定义个性化的属性设置方法；
    2）、getEnvironment().validateRequiredProperties();检验属性的合法等
    3）、earlyApplicationEvents=...]]></description><category></category></item><item><title><![CDATA[spring整合aspects做aop演示]]></title><link>https://blog.youkuaiyun.com/adudeboke/article/details/81316664</link><guid>https://blog.youkuaiyun.com/adudeboke/article/details/81316664</guid><author>adudeboke</author><pubDate>Tue, 31 Jul 2018 17:00:02 +0800</pubDate><description><![CDATA[第一步：接入spring 和aspects依赖

    &amp;lt;dependency&amp;gt;
            &amp;lt;groupId&amp;gt;org.springframework&amp;lt;/groupId&amp;gt;
            &amp;lt;artifactId&amp;gt;spring-context&amp;lt;/artifactId&amp;gt;
            &amp;lt;version&amp;g...]]></description><category></category></item><item><title><![CDATA[SpringBoot根据注解@Conditional判断注入那个对象 这里以判断操作系统为例]]></title><link>https://blog.youkuaiyun.com/adudeboke/article/details/81292939</link><guid>https://blog.youkuaiyun.com/adudeboke/article/details/81292939</guid><author>adudeboke</author><pubDate>Mon, 30 Jul 2018 21:57:10 +0800</pubDate><description><![CDATA[/*
 * 需要被注入对象的接口
 */
public interface User {
    public void getOsName();
}
 

/*
 * 被注入对象
 */
public class WindowUser implements User{

    public void getOsName() {
        System.out.println(&quot;windo...]]></description><category></category></item><item><title><![CDATA[could not get the value for parameter encoding forplugin execution default resources 处理]]></title><link>https://blog.youkuaiyun.com/adudeboke/article/details/81289818</link><guid>https://blog.youkuaiyun.com/adudeboke/article/details/81289818</guid><author>adudeboke</author><pubDate>Mon, 30 Jul 2018 18:19:13 +0800</pubDate><description><![CDATA[ 因为 我不是引入默认的路径是我重新 在别的盘新建了一个文件夹。但是其他配置都修改好 应该不会出这个问题，查了很久才找到这个解决办法。

 删除jar 包之后 

 

其实很简单 在你需要跟新的项目右键 找到maven --》 然后 update projuect... 然后 点击force update of snapshots/releases 勾选上即可

等待片刻 你得项目就回自动编译正...]]></description><category></category></item><item><title><![CDATA[java动态代理实现与原理详细分析]]></title><link>https://blog.youkuaiyun.com/adudeboke/article/details/81274771</link><guid>https://blog.youkuaiyun.com/adudeboke/article/details/81274771</guid><author>adudeboke</author><pubDate>Sun, 29 Jul 2018 20:07:36 +0800</pubDate><description><![CDATA[cglib代理与JDK中的代理比较:     JDK动态代理: 只能代理实现了接口的类 
    没有实现接口的类不能实现JDK动态代理。 Cglib代理: 针对类来实现代理,对指定目标 
产生一个子类 通过方法拦截技术拦截所有父类方法的调用。 
我们要使用cglib代理必须引入 cglib的jar包

spring中使用aspat 做面向切面编程都是依赖以上两种动态代理模式实现的

jdk动态代...]]></description><category></category></item><item><title><![CDATA[eclipse中使用Lombok]]></title><link>https://blog.youkuaiyun.com/adudeboke/article/details/81198272</link><guid>https://blog.youkuaiyun.com/adudeboke/article/details/81198272</guid><author>adudeboke</author><pubDate>Wed, 25 Jul 2018 12:13:39 +0800</pubDate><description><![CDATA[eclipse中使用Lombok

windows环境


	1.下载lombok.jar包https://projectlombok.org/download.html
	
	
	2lombok.jar 拷贝到eclipse.ini同等目录下面
	
springboot整合lombok

新建logback-spring.xml文件

&amp;lt;?xml version=&quot;1.0&quot; encodin...]]></description><category></category></item><item><title><![CDATA[eclipse配置lombak使用@Slf4j]]></title><link>https://blog.youkuaiyun.com/adudeboke/article/details/81198399</link><guid>https://blog.youkuaiyun.com/adudeboke/article/details/81198399</guid><author>adudeboke</author><pubDate>Wed, 25 Jul 2018 10:56:12 +0800</pubDate><description><![CDATA[使用@Slf4j代替LoggerFactory创建logger对象

windows环境
1.下载lombok.jar包https://projectlombok.org/download.html

2  lombok.jar 拷贝到eclipse.ini同等目录下面
3   配置文件eclipse.ini中是否 添加了如下内容:

           -javaagent:lombok.ja...]]></description><category></category></item><item><title><![CDATA[eclipse快捷键]]></title><link>https://blog.youkuaiyun.com/adudeboke/article/details/81198022</link><guid>https://blog.youkuaiyun.com/adudeboke/article/details/81198022</guid><author>adudeboke</author><pubDate>Wed, 25 Jul 2018 10:47:38 +0800</pubDate><description><![CDATA[debug快捷键



 

1.表示当前实现继续运行直到下一个断点，快捷键为F8。
2.表示打断整个进程
3.表示进入当前方法，快捷键为F5。
4.表示运行下一行代码，快捷键为F6。
5.表示退出当前方法，返回到调用层，快捷键为F7。
6.表示当前线程的堆栈，从中可以看出在运行哪些代码，并且整个调用过程，以及代码行号...]]></description><category></category></item><item><title><![CDATA[cmd window关闭端口程序]]></title><link>https://blog.youkuaiyun.com/adudeboke/article/details/81198102</link><guid>https://blog.youkuaiyun.com/adudeboke/article/details/81198102</guid><author>adudeboke</author><pubDate>Wed, 25 Jul 2018 10:45:34 +0800</pubDate><description><![CDATA[
window关闭端口程序
1. netstat -nao | findstr “8080” 查询8080端口 
2. taskkill /pid 3017 /F 关闭pid为3017的进程 
 ]]></description><category></category></item><item><title><![CDATA[RDB与AOF的选择]]></title><link>https://blog.youkuaiyun.com/adudeboke/article/details/80926900</link><guid>https://blog.youkuaiyun.com/adudeboke/article/details/80926900</guid><author>adudeboke</author><pubDate>Thu, 05 Jul 2018 14:45:51 +0800</pubDate><description><![CDATA[AOF定义：以日志的形式记录每个操作，将Redis执行过的所有指令全部记录下来（读操作不记录），只许追加文件但不可以修改文件，Redis启动时会读取AOF配置文件重构数据 换句话说，就是Redis重启就会根据日志内容从头到尾执行一次来完成数据的恢复工作。Tip:　　一.RDB与AOF同时开启  默认先加载AOF的配置文件　　二.相同数据集，AOF文件要远大于RDB文件，恢复速度慢于RDB　　三.A...]]></description><category></category></item><item><title><![CDATA[mysql优化查询效率方法总结（重）]]></title><link>https://blog.youkuaiyun.com/adudeboke/article/details/80868691</link><guid>https://blog.youkuaiyun.com/adudeboke/article/details/80868691</guid><author>adudeboke</author><pubDate>Sat, 30 Jun 2018 17:58:37 +0800</pubDate><description><![CDATA[1.对查询进行优化，应尽量避免全表扫描，首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断，否则将导致引擎放弃使用索引而进行全表扫描，如： select id from t where num is null 可以在num上设置默认值0，确保表中num列没有null值，然后这样查询： select id from ...]]></description><category></category></item><item><title><![CDATA[mysql优化之分表]]></title><link>https://blog.youkuaiyun.com/adudeboke/article/details/80868336</link><guid>https://blog.youkuaiyun.com/adudeboke/article/details/80868336</guid><author>adudeboke</author><pubDate>Sat, 30 Jun 2018 17:40:35 +0800</pubDate><description><![CDATA[一个数据表里边存储的记录信息太多了，记录的条数达到1-2亿条信息。这是该数据表的活性就大大降低，数据表的运行速度就比较慢、效率低下，影响mysql数据库的整体性能。现在设置一个水平分割，把许多的记录信息分别存储到不同的数据表里边，这样每个表存储的记录就比较少，该表的活性大大提高。 分表设计的两种模式：① 逻辑方式分表mysql数据库本身就有分表技术，该方式的分表可以节省java/php等语言的逻辑...]]></description><category></category></item></channel></rss>