<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[inspirey的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/inspirey</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; inspirey]]></copyright><item><title><![CDATA[Comparable和Comparator]]></title><link>https://blog.youkuaiyun.com/inspirey/article/details/136513479</link><guid>https://blog.youkuaiyun.com/inspirey/article/details/136513479</guid><author>inspirey</author><pubDate>Thu, 07 Mar 2024 14:16:56 +0800</pubDate><description><![CDATA[比较ComparableComparator
Comparable

Comparator




]]></description><category></category></item><item><title><![CDATA[Java-Deque]]></title><link>https://blog.youkuaiyun.com/inspirey/article/details/136511351</link><guid>https://blog.youkuaiyun.com/inspirey/article/details/136511351</guid><author>inspirey</author><pubDate>Wed, 06 Mar 2024 17:40:41 +0800</pubDate><description><![CDATA[不过，ArrayDeque 的扩容策略（当 ArrayDeque 中的元素数ᰁ达到数组容ᰁ时，就需要进⾏扩容操作，扩容时会将数组容ᰁ扩⼤为原来的两倍）可以在⼀定程度上减少数组复制的次数和时间消耗，同时保证 ArrayDeque 的性能和空间利⽤率。另外，该容器不允许放⼊ null 元素。当缓存的数据超过容量时，可以从队列头部删除最⽼的数据，从队列尾部添加新的数据。具体来说，⼩顶堆是⼀个完全⼆叉树，任何⼀个⾮叶⼦节点的权值，都不⼤于其左右⼦节点的权值，这样保证了队列的顶部元素（堆顶）⼀定是优先级最⾼的元素。]]></description><category></category></item><item><title><![CDATA[Java-常用Map]]></title><link>https://blog.youkuaiyun.com/inspirey/article/details/136298538</link><guid>https://blog.youkuaiyun.com/inspirey/article/details/136298538</guid><author>inspirey</author><pubDate>Mon, 26 Feb 2024 18:26:32 +0800</pubDate><description><![CDATA[HashMap是Java中最常⽤的集合之⼀，它是⼀种键值对存储的数据结构，可以根据键来快速访问对应的值。以下是对HashMap的总结：HashMap采⽤数组+链表/红⿊树的存储结构，能够在O(1)的时间复杂度内实现元素的添加、删除、查找等操作。HashMap是线程不安全的，因此在多线程环境下需要使⽤ConcurrentHashMap来保证线程安全。HashMap的扩容机制是通过扩⼤数组容量和重新计算hash值来实现的，扩容时需要重新计算所有元素的hash值，因此在元素较多时扩容会影响性能。]]></description><category></category></item><item><title><![CDATA[泛型、迭代、foreach问题]]></title><link>https://blog.youkuaiyun.com/inspirey/article/details/136176373</link><guid>https://blog.youkuaiyun.com/inspirey/article/details/136176373</guid><author>inspirey</author><pubDate>Tue, 20 Feb 2024 16:15:54 +0800</pubDate><description><![CDATA[如果在 foreach 循环中执⾏删除操作会导致 expectedModCount属性值与实际的 modCount 属性值不⼀致，从⽽导致迭代器的 hasNext() 和 next() ⽅法抛出ConcurrentModificationException 异常。为了避免这种情况，应该使⽤迭代器的 remove() ⽅法来删除元素，该⽅法会在删除元素后更新迭代器状态，确保循环的正确性。如果需要在循环中删除元素，应该使⽤迭代器的 remove() ⽅法，⽽不是集合⾃身的 remove() ⽅法。]]></description><category></category></item><item><title><![CDATA[Java-集合-常用List]]></title><link>https://blog.youkuaiyun.com/inspirey/article/details/136046630</link><guid>https://blog.youkuaiyun.com/inspirey/article/details/136046630</guid><author>inspirey</author><pubDate>Mon, 05 Feb 2024 19:07:11 +0800</pubDate><description><![CDATA[size - index：表示要复制的元素个数，即需要将 index 及其后⾯的元素向后移动⼀位，需要。index + 1：表示⽬标数组中复制的起始位置，即将 index 及其后⾯的元素向后移动⼀位后，index：表示源数组中要复制的起始位置，即需要将 index 及其后⾯的元素向后移动⼀位。elementData：表示要复制到的⽬标数组，即 ArrayList 中的元素数组。elementData：表示要复制的源数组，即 ArrayList 中的元素数组。移动的元素个数为 size - index。]]></description><category></category></item><item><title><![CDATA[Enum枚举类型]]></title><link>https://blog.youkuaiyun.com/inspirey/article/details/136030484</link><guid>https://blog.youkuaiyun.com/inspirey/article/details/136030484</guid><author>inspirey</author><pubDate>Sun, 04 Feb 2024 18:59:15 +0800</pubDate><description><![CDATA[懒汉（使用实例化）普通、DCL（线程不安全，引入voliate<地址、初始化、引用指向>）、静态内部类。饿汉（直接实例化）标准、静态代码块、枚举。]]></description><category></category></item><item><title><![CDATA[Java-Annotation]]></title><link>https://blog.youkuaiyun.com/inspirey/article/details/135958810</link><guid>https://blog.youkuaiyun.com/inspirey/article/details/135958810</guid><author>inspirey</author><pubDate>Wed, 31 Jan 2024 18:05:28 +0800</pubDate><description><![CDATA[1）TYPE：⽤于类、接⼝、注解、枚举
2）FIELD：⽤于字段（类的成员变量），或者枚举常量
3）METHOD：⽤于⽅法
4）PARAMETER：⽤于普通⽅法或者构造⽅法的参数
5）CONSTRUCTOR：⽤于构造⽅法
6）LOCAL_VARIABLE：⽤于变量
7）ANNOTATION_TYPE：⽤于注解
8）PACKAGE：⽤于包
9）TYPE_PARAMETER：⽤于泛型参数
10）TYPE_USE：⽤于声明语句、泛型或者强制转换语句中的类型
11）MODULE：⽤于模块
常用方法

object.]]></description><category></category></item><item><title><![CDATA[线上问题排查]]></title><link>https://blog.youkuaiyun.com/inspirey/article/details/135828400</link><guid>https://blog.youkuaiyun.com/inspirey/article/details/135828400</guid><author>inspirey</author><pubDate>Thu, 25 Jan 2024 18:38:28 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[《多态学习》]]></title><link>https://blog.youkuaiyun.com/inspirey/article/details/135838996</link><guid>https://blog.youkuaiyun.com/inspirey/article/details/135838996</guid><author>inspirey</author><pubDate>Thu, 25 Jan 2024 10:48:35 +0800</pubDate><description><![CDATA[在向下转型前，得先判断多态对象的多种形态中是否有对应的子类对象，有才可以转，mouse对象只能转鼠标，不能转键盘，这就需要用到instanceof关键字.只能访问父类中的成员变量和成员方法，重点：此时对象C是一个父类对象，但可以通过向下转型变为子类对象，去访问子类对象的成员属性和方法.多态本身是一种向上转型（因为通过多态new出来的对象，会被看作一个父类对象），可以通过向下转型变为子类对象.接下来看看，直接new一个父类对象，直接new一个子类对象，通过多态new一个对象，三者有什么区别？]]></description><category></category></item><item><title><![CDATA[IDEA学习]]></title><link>https://blog.youkuaiyun.com/inspirey/article/details/135674330</link><guid>https://blog.youkuaiyun.com/inspirey/article/details/135674330</guid><author>inspirey</author><pubDate>Thu, 18 Jan 2024 15:08:28 +0800</pubDate><description><![CDATA[代码结尾补全 ctrl+shift+enter
	模糊搜索方法ctrl+shift+r
	预览类方法ctrl+shift+i
	查看方法调用 ctrl+alt+h
	大小写转换 ctrl + shift + u
	生成，如给字段创建setter和getter方法，创建构造函数 Alt + Insert
	自动生成返回值类型Enter
]]></description><category></category></item><item><title><![CDATA[JAVA Proxy分析]]></title><link>https://blog.youkuaiyun.com/inspirey/article/details/132193405</link><guid>https://blog.youkuaiyun.com/inspirey/article/details/132193405</guid><author>inspirey</author><pubDate>Wed, 09 Aug 2023 18:10:45 +0800</pubDate><description><![CDATA[实例化目标类->实例化MyHandler(实现IvocationHandler接口:依赖目标对象:重写invoke方法:调用目标对象的方法)->获取代理对象Proxy.newProxyInstance(target.getClass.getClassLoader(),target.getClass.getInterfaces(), h)->代理对象调用目标方法。这是一个配置项，它获取的值为JVM中的参数，可以通过在代码中动态设置来让动态代理生成的Proxy类保存成文件。//获得字节码的测试方法。]]></description><category></category></item><item><title><![CDATA[idea快捷键]]></title><link>https://blog.youkuaiyun.com/inspirey/article/details/132180642</link><guid>https://blog.youkuaiyun.com/inspirey/article/details/132180642</guid><author>inspirey</author><pubDate>Wed, 09 Aug 2023 09:17:23 +0800</pubDate><description><![CDATA[https://mp.weixin.qq.com/s/0iEDL63-Dy2XLDe0P4P2cA]]></description><category></category></item><item><title><![CDATA[加权逻辑计算]]></title><link>https://blog.youkuaiyun.com/inspirey/article/details/132026717</link><guid>https://blog.youkuaiyun.com/inspirey/article/details/132026717</guid><author>inspirey</author><pubDate>Mon, 31 Jul 2023 17:18:46 +0800</pubDate><description><![CDATA[那么未知权重的情况下呢？想知道两个班的化学加权平均值，一班50人，平均80，二班60人，平均82，算数平均是(80+82)/2=81，加权后是(50*80+60*82)/(50+60)=81.09.还有一种情况类似第一种也是人为规定，比如说你觉得专家的分量比较大，老师其次，学生最低，就某观点，满分10分的情况下，专家打8分，老师打6分，学生打7分，但你认为专家权重和老师及学生权重应为0.5:0.3:0.2，那么加权后就是8*0.5+6*0.3+7*0.2=7.2，而算数平均的话就是(8+6+7)/3=7。]]></description><category></category></item><item><title><![CDATA[简易Hash]]></title><link>https://blog.youkuaiyun.com/inspirey/article/details/132026261</link><guid>https://blog.youkuaiyun.com/inspirey/article/details/132026261</guid><author>inspirey</author><pubDate>Mon, 31 Jul 2023 17:04:33 +0800</pubDate><description><![CDATA[/ 31是一个素数，用于加权。// 取余得到对应的桶。// 假设有10个桶。]]></description><category></category></item><item><title><![CDATA[hash的算法 java hash算法的实现 转载]]></title><link>https://blog.youkuaiyun.com/inspirey/article/details/132024237</link><guid>https://blog.youkuaiyun.com/inspirey/article/details/132024237</guid><author>inspirey</author><pubDate>Mon, 31 Jul 2023 17:02:42 +0800</pubDate><description><![CDATA[之后，待路由的结点，只需要在List中找到第一个Hash值比它大的服务器节点就可以了，比如服务器节点的Hash值是[0,2,4,6,8,10]，带路由的结点是7，只需要找到第一个比7大的整数，也就是8，就是我们最终需要路由过去的服务器节点。一致性hash算法中最重要的就是那个2^32的hash环，，根据结点名称的hash值将 服务器结点放在hash环上。（2）带路由的节点，算出其Hash值，由于指明了”顺时针”，因此遍历List，比待路由的节点Hash值大的算出差值并记录，比待路由节点Hash值小的忽略。]]></description><category></category></item></channel></rss>