<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yu487的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yu487</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yu487]]></copyright><item><title><![CDATA[Idea Eclips快捷键]]></title><link>https://blog.youkuaiyun.com/yu487/article/details/103826658</link><guid>https://blog.youkuaiyun.com/yu487/article/details/103826658</guid><author>yu487</author><pubDate>Fri, 03 Jan 2020 20:25:14 +0800</pubDate><description><![CDATA[1、查找当前类所有方法 Ctrl + o

2、去方法的实现 Ctrl+ t

删除无用的import ctrl+alt+o



3、idea自动生成的//注释自动缩进

setting--&gt;Code Style--&gt;Java --&gt;Code Generation--&gt;comment code--&gt;Line comment at first column &amp...]]></description><category></category></item><item><title><![CDATA[动态代理]]></title><link>https://blog.youkuaiyun.com/yu487/article/details/101024340</link><guid>https://blog.youkuaiyun.com/yu487/article/details/101024340</guid><author>yu487</author><pubDate>Thu, 19 Sep 2019 15:23:07 +0800</pubDate><description><![CDATA[1）、动态代理-jdk

继承了Proxy类，实现了代理的接口，由于java不能多继承，这里已经继承了Proxy类了，不能再继承其他的类，所以JDK的动态代理不支持对实现类的代理，只支持接口的代理。
	提供了一个使用InvocationHandler作为参数的构造方法。
	生成静态代码块来初始化接口中方法的Method对象，以及Object类的equals、hashCode、toString方法。...]]></description><category></category></item><item><title><![CDATA[经验]]></title><link>https://blog.youkuaiyun.com/yu487/article/details/98510824</link><guid>https://blog.youkuaiyun.com/yu487/article/details/98510824</guid><author>yu487</author><pubDate>Mon, 05 Aug 2019 19:24:34 +0800</pubDate><description><![CDATA[XML和JSON的区别https://www.cnblogs.com/lsohvaen001/p/7887502.html

https://blog.youkuaiyun.com/DuTianTian_csdn/article/details/80413412
]]></description><category></category></item><item><title><![CDATA[二叉树算法题]]></title><link>https://blog.youkuaiyun.com/yu487/article/details/97699754</link><guid>https://blog.youkuaiyun.com/yu487/article/details/97699754</guid><author>yu487</author><pubDate>Mon, 29 Jul 2019 23:45:26 +0800</pubDate><description><![CDATA[package demo;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;


public class BalanceTree {
    public class TreeNode {
        int val;
      ...]]></description><category></category></item><item><title><![CDATA[代码学习与实践 (一):Spring Boot 多模块项目创建与配置]]></title><link>https://blog.youkuaiyun.com/yu487/article/details/88052123</link><guid>https://blog.youkuaiyun.com/yu487/article/details/88052123</guid><author>yu487</author><pubDate>Fri, 01 Mar 2019 11:19:59 +0800</pubDate><description><![CDATA[https://testerhome.com/topics/11359]]></description><category></category></item><item><title><![CDATA[三次握手、四次挥手]]></title><link>https://blog.youkuaiyun.com/yu487/article/details/86695558</link><guid>https://blog.youkuaiyun.com/yu487/article/details/86695558</guid><author>yu487</author><pubDate>Tue, 29 Jan 2019 20:47:34 +0800</pubDate><description><![CDATA[





]]></description><category></category></item><item><title><![CDATA[美团面试笔录]]></title><link>https://blog.youkuaiyun.com/yu487/article/details/86683999</link><guid>https://blog.youkuaiyun.com/yu487/article/details/86683999</guid><author>yu487</author><pubDate>Mon, 28 Jan 2019 23:06:09 +0800</pubDate><description><![CDATA[技术一面：
一面基本上面的还算基础 没有过多的刁难 不过问题量特别大
1、自我介绍
巴拉巴拉，大致说了下实习和自己平时自己喜欢做的事情
2、我们先聊聊java基础知识吧，说出Object类的常用方法？(没有定义属性，一共13个方法)

各方法讲解：https://blog.youkuaiyun.com/alinshen/article/details/73548923

总结：

Object() (类构造器...]]></description><category></category></item><item><title><![CDATA[mysql知识点]]></title><link>https://blog.youkuaiyun.com/yu487/article/details/85471603</link><guid>https://blog.youkuaiyun.com/yu487/article/details/85471603</guid><author>yu487</author><pubDate>Tue, 22 Jan 2019 23:40:58 +0800</pubDate><description><![CDATA[事务四大特性（ACID）原子性、一致性、隔离性、持久性

事务是应用程序中一系列严密的操作，所有操作必须成功完成，否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性，一个事务中的一系列的操作要么全部成功，要么一个都不做。

事务的结束有两种，当事务中的所以步骤全部成功执行时，事务提交。如果其中一个步骤失败，将发生回滚操作，撤消撤消之前到事务开始时的所以操作

事务具有四个特征：原子性（...]]></description><category></category></item><item><title><![CDATA[自己总结：jvm内存垃圾收集器类加载]]></title><link>https://blog.youkuaiyun.com/yu487/article/details/85861195</link><guid>https://blog.youkuaiyun.com/yu487/article/details/85861195</guid><author>yu487</author><pubDate>Tue, 22 Jan 2019 23:40:09 +0800</pubDate><description><![CDATA[1、JVM

jvm内存相关

内存模型

应用中静态变量、全局变量、局部变量、类、方法等对应jvm内存中的分配的具体区域（堆栈、堆（eden\from\to 老年代 、永久代））



GC类型

Minor GC针对新生代的GC

Major GC针对老年代的GC

Full GC 针对新生代、老年代、永久代三者的GC

垃圾回收

标记算法：标记（引用标记、root对象可达性标记）

垃圾...]]></description><category></category></item><item><title><![CDATA[synchronized、ReentrantLock、ReadWriteLock]]></title><link>https://blog.youkuaiyun.com/yu487/article/details/85884089</link><guid>https://blog.youkuaiyun.com/yu487/article/details/85884089</guid><author>yu487</author><pubDate>Tue, 22 Jan 2019 23:38:13 +0800</pubDate><description><![CDATA[1、synchronized和ReentrantLock的区别

synchronized是和if、else、for、while一样的关键字，ReentrantLock是类，这是二者的本质区别。既然ReentrantLock是类，那么它就提供了比synchronized更多更灵活的特性，可以被继承、可以有方法、可以有各种各样的类变量，ReentrantLock比synchronized的扩展性体现...]]></description><category></category></item><item><title><![CDATA[分布式数据库]]></title><link>https://blog.youkuaiyun.com/yu487/article/details/86563044</link><guid>https://blog.youkuaiyun.com/yu487/article/details/86563044</guid><author>yu487</author><pubDate>Tue, 22 Jan 2019 23:36:22 +0800</pubDate><description><![CDATA[应对数据库的压力日益增大方案：

1、更换更好的硬件（在我们能付得起硬件费用并且没有达到硬件单机瓶颈，这是比较简单的解决方案）

2、现有数据库减压（超过单机极限时，应该考虑的方案）

减压思路有三：

1）优化应用（减少没有必要的数据库压力）

2）其它机制降低对数据库的压力（引入缓存、加搜索引擎）

3）数据拆分，把数据库的数据和访问分到多台数据上，分开支持

数据拆分：垂直拆分、水平拆分

...]]></description><category></category></item><item><title><![CDATA[redis、memcache、mongoDB 对比]]></title><link>https://blog.youkuaiyun.com/yu487/article/details/85714822</link><guid>https://blog.youkuaiyun.com/yu487/article/details/85714822</guid><author>yu487</author><pubDate>Tue, 22 Jan 2019 23:35:00 +0800</pubDate><description><![CDATA[三者对比出自：https://www.cnblogs.com/457248499-qq-com/p/7392653.html

Redis相比Memcached

1.Redis支持服务器端的数据操作：Redis相比Memcached来说，拥有更多的数据结构和并支持更丰富的数据操作，通常在Memcached里，你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积...]]></description><category></category></item><item><title><![CDATA[Java分布式锁的三种实现方案]]></title><link>https://blog.youkuaiyun.com/yu487/article/details/86003392</link><guid>https://blog.youkuaiyun.com/yu487/article/details/86003392</guid><author>yu487</author><pubDate>Tue, 22 Jan 2019 23:33:34 +0800</pubDate><description><![CDATA[转载：https://m.jb51.net/article/103617.htm

方案一：数据库乐观锁

乐观锁通常实现基于数据版本(version)的记录机制实现的，比如有一张红包表（t_bonus），有一个字段(left_count)记录礼物的剩余个数，用户每领取一个奖品，对应的left_count减1，在并发的情况下如何要保证left_count不为负数，乐观锁的实现方式为在红包表上添加一...]]></description><category></category></item><item><title><![CDATA[大数据排序的几种方法]]></title><link>https://blog.youkuaiyun.com/yu487/article/details/86021711</link><guid>https://blog.youkuaiyun.com/yu487/article/details/86021711</guid><author>yu487</author><pubDate>Tue, 22 Jan 2019 23:32:53 +0800</pubDate><description><![CDATA[位图法
位图法是我在编程珠玑上看到的一种比较新颖的方法，思路比较巧妙效率也很高。 
使用场景举例：对2G的数据量进行排序，这是基本要求。 
数据：1、每个数据不大于8亿；2、数据类型位int；3、每个数据最多重复一次。 
内存：最多用200M的内存进行操作。 
首先对占用的内存进行判断，每个数据不大于8亿，那么8亿是一个什么概念呢。 
**1 byte = 8 bit（位） 
1024 byte ...]]></description><category></category></item><item><title><![CDATA[volatile原理及实现机制]]></title><link>https://blog.youkuaiyun.com/yu487/article/details/85884336</link><guid>https://blog.youkuaiyun.com/yu487/article/details/85884336</guid><author>yu487</author><pubDate>Tue, 22 Jan 2019 23:32:16 +0800</pubDate><description><![CDATA[原文出处



volatile关键字虽然从字面上理解起来比较简单，但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的，因此在讲述volatile关键之前，我们先来了解一下与内存模型相关的概念和知识，然后分析了volatile关键字的实现原理，最后给出了几个使用volatile关键字的场景。



内存模型



程序在执行过程中，每条指令都是通过CPU来执...]]></description><category></category></item><item><title><![CDATA[Java并发编程的类、接口、方法]]></title><link>https://blog.youkuaiyun.com/yu487/article/details/85884517</link><guid>https://blog.youkuaiyun.com/yu487/article/details/85884517</guid><author>yu487</author><pubDate>Tue, 22 Jan 2019 23:31:02 +0800</pubDate><description><![CDATA[ 

 

以下内容请参考：大型网站系统与Java中间件实战 72-89页

线程、线程池

synchronized、lock、volatile

Atomics

wait、notify和notifyAll

CountDownLatch

CyclicBarrier

Semaphore

Exchanger

Futuer和FutureTask

并发容器

Thread.yield()的...]]></description><category></category></item><item><title><![CDATA[设计模式]]></title><link>https://blog.youkuaiyun.com/yu487/article/details/86416998</link><guid>https://blog.youkuaiyun.com/yu487/article/details/86416998</guid><author>yu487</author><pubDate>Tue, 22 Jan 2019 23:29:54 +0800</pubDate><description><![CDATA[单例模式

       所谓单例设计模式简单说就是无论程序如何运行，采用单例设计模式的类（Singleton类）永远只会有一个实例化对象产生。具体实现步骤如下：

      (1) 将采用单例设计模式的类的构造方法私有化（采用private修饰）。

      (2) 在其内部产生该类的实例化对象，并将其封装成private static类型。

      (3) 定义一个静态方法返回该类...]]></description><category></category></item><item><title><![CDATA[JAVA多线程相关--from--深入理解java虚拟机]]></title><link>https://blog.youkuaiyun.com/yu487/article/details/86382208</link><guid>https://blog.youkuaiyun.com/yu487/article/details/86382208</guid><author>yu487</author><pubDate>Tue, 22 Jan 2019 23:29:05 +0800</pubDate><description><![CDATA[研究多线程背景：计算机的运算速度与其存储和通信子系统速度差距太大

目的：充分利用计算机运算能力； 一个服务端同时对多个客户端提供服务。

针对以上问题，分别从硬件和java虚拟机做效率提升。

          硬件----------&amp;gt;内存模型（在处理器与存储器间加缓存--&amp;gt;解决缓存一致性）--&amp;gt;代码乱序执行优化

          java虚拟机--&amp;gt;java内存...]]></description><category></category></item><item><title><![CDATA[谈谈 Java 反射机制，动态代理是基于什么原理？]]></title><link>https://blog.youkuaiyun.com/yu487/article/details/86518051</link><guid>https://blog.youkuaiyun.com/yu487/article/details/86518051</guid><author>yu487</author><pubDate>Tue, 22 Jan 2019 23:27:37 +0800</pubDate><description><![CDATA[题目二

谈谈 Java 反射机制，动态代理是基于什么原理？

考点分析：

这个题目给我的第一印象是稍微有点诱导的嫌疑，可能会下意识地以为动态代理就是利用反射机制实现的，这么说也不算错但稍微有些不全面。功能才是目的，实现的方法有很多。

总的来说，这道题目考察的是 Java 语言的另外一种基础机制： 反射，它就像是一种魔法，引入运行时自省能力，赋予了 Java 语言令人意外的活力，通过运行时操作...]]></description><category></category></item><item><title><![CDATA[数据库索引]]></title><link>https://blog.youkuaiyun.com/yu487/article/details/86547570</link><guid>https://blog.youkuaiyun.com/yu487/article/details/86547570</guid><author>yu487</author><pubDate>Tue, 22 Jan 2019 23:26:31 +0800</pubDate><description><![CDATA[为什么创建索引

https://blog.youkuaiyun.com/ko_tin/article/details/61958420

 

索引创建注意事项

尊从一个原则就是“频繁使用的、排序的字段上”

 

使用聚集索引的好处在于：

   1）所需要的数据都在子叶层(即数据页)，找到正确的索引键值后不需要再利用指针做额外的查找

   2）SQL SERVER将符合相同条件的数据集中放在一起

...]]></description><category></category></item></channel></rss>