<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yuanwenkai]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/baidu_35181420</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; baidu_35181420]]></copyright><item><title><![CDATA[第三章 系统总线]]></title><link>https://blog.youkuaiyun.com/baidu_35181420/article/details/119987870</link><guid>https://blog.youkuaiyun.com/baidu_35181420/article/details/119987870</guid><author>baidu_35181420</author><pubDate>Sun, 29 Aug 2021 23:41:39 +0800</pubDate><description><![CDATA[第３章 系统总线
文章目录第３章 系统总线3.1 总线的基本概念3.1.1为什么要使用总线3.1.2什么是总线3.1.3总线上信息的传送3.1.4总线结构的计算机举例3.2 总线的分类3.2.1片内总线3.2.2系统总线3.2.3通信总线3.3 总线特性及性能指标3.3.1总线物理实现3.3.2总线特性3.3.3总线的性能指标3.3.4总线标准3.4总线结构3.4.1单总线结构3.4.2多总线结构3.4.3总线结构举例3.4 总线结构3.5 总线控制
3.1 总线的基本概念
3.1.1为什么要使用总线
根据]]></description><category></category></item><item><title><![CDATA[第一章 计算机系统概述]]></title><link>https://blog.youkuaiyun.com/baidu_35181420/article/details/119856465</link><guid>https://blog.youkuaiyun.com/baidu_35181420/article/details/119856465</guid><author>baidu_35181420</author><pubDate>Sun, 22 Aug 2021 19:22:00 +0800</pubDate><description><![CDATA[第一章 计算机系统概述
文章目录第一章 计算机系统概述1.1 计算机系统简介1.1.1计算机系统的层次结构1.1.2计算机体系结构和计算机组成1.2 计算机的基本组成1.2.1冯诺依曼计算机的特点1.2.2以存储器为中心的计算机硬件框图1.2.3现代计算机硬件框图1.2.4实践1.2.5存储器的基本组成1.2.6运算器的基本组成及操作过程1.2.7控制器的基本组成1.2.8一条指令在主机上的完成过程1.2.9程序在主机上是如何执行的1.3 计算机硬件的主要技术指标1、机器字长2、运算速度3、存储容量
1.1]]></description><category></category></item><item><title><![CDATA[新电脑环境配置]]></title><link>https://blog.youkuaiyun.com/baidu_35181420/article/details/119334734</link><guid>https://blog.youkuaiyun.com/baidu_35181420/article/details/119334734</guid><author>baidu_35181420</author><pubDate>Mon, 02 Aug 2021 21:50:57 +0800</pubDate><description><![CDATA[1、JDK （java -version正确、软件安装包）
环境变量（JDK后配置环境变量  计算机→属性→高级系统设置→高级→环境变量）
i. JAVA-HOME:JDK的安装路径
	
ii. PATH:JDK下的bin的目录（在原有后面加上分号;）
PATH---;C:\Program Files\Java\jdk1.7.0_65\bin\
;F:\JAVA\apache-maven-3.6.1-bin\apache-maven-3.6.1\bin
;F:\JAVA\software\MySQL\bin]]></description><category></category></item><item><title><![CDATA[面试题--1、Java基础]]></title><link>https://blog.youkuaiyun.com/baidu_35181420/article/details/115361942</link><guid>https://blog.youkuaiyun.com/baidu_35181420/article/details/115361942</guid><author>baidu_35181420</author><pubDate>Wed, 31 Mar 2021 21:50:12 +0800</pubDate><description><![CDATA[文章目录Java概述JVM、JRE和JDK的关系什么是跨平台性？原理是什么什么是字节码？采用字节码的最大好处是什么Java和C++的区别基础语法Java基本数据类型图switch 是否能作用在 byte 上，是否能作用在 long 上，是否能作用在 String 上Math.round(11.5) 等于多少？Math.round(-11.5)等于多少float f=3.4；是否正确short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗使用 +、-、*、]]></description><category></category></item><item><title><![CDATA[java并发编程实战（二）-并发工具类]]></title><link>https://blog.youkuaiyun.com/baidu_35181420/article/details/114338600</link><guid>https://blog.youkuaiyun.com/baidu_35181420/article/details/114338600</guid><author>baidu_35181420</author><pubDate>Wed, 03 Mar 2021 22:18:39 +0800</pubDate><description><![CDATA[14 | Lock和Condition（上）：隐藏在并发包中的管程
并发编程领域，有两大核心问题：一个是互斥，即同一时刻只允许一个线程访问共享资源；另一个是同步，即线程之间如何通信、协作
Java SDK 并发包通过 Lock 和 Condition 两个接口来实现管程，其中 Lock 用于解决互斥问题，Condition 用于解决同步问题。
再造管程的理由
Java 语言本身提供的 synchronized 也是管程的一种实现，既然 Java 从语言层面已经实现了管程了，那为什么还要在 SDK 里提供另外]]></description><category></category></item><item><title><![CDATA[java并发编程实战]]></title><link>https://blog.youkuaiyun.com/baidu_35181420/article/details/114271552</link><guid>https://blog.youkuaiyun.com/baidu_35181420/article/details/114271552</guid><author>baidu_35181420</author><pubDate>Mon, 01 Mar 2021 20:58:54 +0800</pubDate><description><![CDATA[java并发编程实战
文章目录java并发编程实战死锁避免发生死锁破坏占用且等待条件破坏不可抢占条件破坏循环等待条件等待-通知机制用 synchronized 实现等待 - 通知机制调用方法时须注意尽量使用 notifyAll()07 | 安全性、活跃性以及性能问题安全性问题数据竞争、竞态条件活跃性问题性能问题08 | 管程：并发编程的万能钥匙什么是管程并发编程领域两大核心问题wait() 的正确姿势notify() 何时可以使用总结09 | Java线程（上）：Java线程的生命周期通用的线程生命周期Ja]]></description><category></category></item><item><title><![CDATA[Maven使用profile配置不同环境]]></title><link>https://blog.youkuaiyun.com/baidu_35181420/article/details/112209666</link><guid>https://blog.youkuaiyun.com/baidu_35181420/article/details/112209666</guid><author>baidu_35181420</author><pubDate>Mon, 04 Jan 2021 22:55:17 +0800</pubDate><description><![CDATA[Maven使用profile配置不同环境

Maven 中有一个概念叫做：profile，它的诞生主要是为了解决不同环境所需的不同变量、配置等问题。有了 profile，可以根据激活的条件，启动不同条件下的配置信息。profile 是可以有多个的，也可以同时激活多个 profile，方便自由组合。profile 一般可以在三个地方：settings.xml，pom.xml，profiles.xml（这个不常用）

配置分为以下几个步骤：


配置profiles节点（pom.xml）


配置build节点]]></description><category></category></item><item><title><![CDATA[深入理解Java虚拟机-个人总结（汇总）]]></title><link>https://blog.youkuaiyun.com/baidu_35181420/article/details/108720396</link><guid>https://blog.youkuaiyun.com/baidu_35181420/article/details/108720396</guid><author>baidu_35181420</author><pubDate>Mon, 21 Sep 2020 22:10:39 +0800</pubDate><description><![CDATA[汇总贴，方便查找
记录自己拜读《深入理解Java虚拟机》的一些个人总结
二、自动内存管理
三、垃圾收集器与内存分配策略

]]></description><category></category></item><item><title><![CDATA[三、垃圾收集器与内存分配策略-个人总结]]></title><link>https://blog.youkuaiyun.com/baidu_35181420/article/details/108612167</link><guid>https://blog.youkuaiyun.com/baidu_35181420/article/details/108612167</guid><author>baidu_35181420</author><pubDate>Tue, 15 Sep 2020 23:14:32 +0800</pubDate><description><![CDATA[未完待续…
文章目录一、概述需要关注哪些内存回收二、对象已死1、引用计数法2、可达性分析算法3、再谈引用4、生存还是死亡5、回收方法区三、垃圾收集算法1、分代收集理论2、标记-清除算法3、标记-复制算法4、标记-整理算法四、HotSpot的算法实现细节1、根节点枚举2、安全点3、安全区域4、记忆集与卡表5、写屏障6、并发的可达性分析
一、概述
当需要排查各种内存溢出，内存泄漏时，当垃圾收集成为系统达到更高并发量的瓶颈时，就需要去了解垃圾收集和内存分配。
需要关注哪些内存回收
对于Java内存运行时的区域中，]]></description><category></category></item><item><title><![CDATA[解决属性命名不规范导致接收不到数据问题]]></title><link>https://blog.youkuaiyun.com/baidu_35181420/article/details/108586890</link><guid>https://blog.youkuaiyun.com/baidu_35181420/article/details/108586890</guid><author>baidu_35181420</author><pubDate>Mon, 14 Sep 2020 20:41:44 +0800</pubDate><description><![CDATA[Bug描述
使用postman进行接口测试的时候，发现接收参数有一个属性怎么也接收不到数据，其他的属性都可以正常接收。也仔细检查过名称是否一致等种种可能问题，还是不知道怎么回事。
Bug原因
项目中使用Lombok的@Date注解来自动生成get、set方法，如果这时有一些属性的命名不规范，可能导致生成的get、set方法名字有些特殊，这就是导致参数接收不到数据的原因。
例如：项目中"qChargeAmt"这个参数尽管已经符合驼峰命名法了，但仍然接收不到参数
//附加费
private BigDecimal]]></description><category></category></item><item><title><![CDATA[ArrayList]]></title><link>https://blog.youkuaiyun.com/baidu_35181420/article/details/108111649</link><guid>https://blog.youkuaiyun.com/baidu_35181420/article/details/108111649</guid><author>baidu_35181420</author><pubDate>Wed, 19 Aug 2020 21:50:02 +0800</pubDate><description><![CDATA[get
/**
     * Returns the element at the specified position in this list.
     *
     * @param  index index of the element to return
     * @return the element at the specified position in this list
     * @throws IndexOutOfBoundsException {@inheritDoc}
 ]]></description><category></category></item><item><title><![CDATA[数组]]></title><link>https://blog.youkuaiyun.com/baidu_35181420/article/details/108111631</link><guid>https://blog.youkuaiyun.com/baidu_35181420/article/details/108111631</guid><author>baidu_35181420</author><pubDate>Wed, 19 Aug 2020 21:49:14 +0800</pubDate><description><![CDATA[数组：是一种线性表数据结构，用一组连续存储空间，存储相同类型的数据。
线性表
数据排成一条线一样的存储结构，在线性表中，数据之间相互关系只有前后关系，除了数组之外，还有链表、队列、栈等。
与线性表对应的就是非线性表结构，数据之间不止简单的前后关系，比如：二叉树、堆、图等。
连续存储空间和相同类型的数据
数组不仅要在逻辑上连续，也要在物理上连续。在内存中就要求必须是连续存储，从而导致数组在新增或删除一个数据的时候，为了保证连续性，就需要做大量数据搬移操作。
同时数组也具有"随机访问"特性，可以根据下标直接访问]]></description><category></category></item><item><title><![CDATA[链表Code]]></title><link>https://blog.youkuaiyun.com/baidu_35181420/article/details/108111554</link><guid>https://blog.youkuaiyun.com/baidu_35181420/article/details/108111554</guid><author>baidu_35181420</author><pubDate>Wed, 19 Aug 2020 21:46:08 +0800</pubDate><description><![CDATA[文章目录[剑指 Offer 22. 链表中倒数第k个节点](https://leetcode-cn.com/problems/lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof/)题解一、固定长度的链表二、双指针（最优）[剑指 Offer 18. 删除链表的节点](https://leetcode-cn.com/problems/shan-chu-lian-biao-de-jie-dian-lcof/)题解一、删除链表中结点[剑指 Offer 25. 合并两个排序的链表]]></description><category></category></item><item><title><![CDATA[每日一题0819]]></title><link>https://blog.youkuaiyun.com/baidu_35181420/article/details/108111524</link><guid>https://blog.youkuaiyun.com/baidu_35181420/article/details/108111524</guid><author>baidu_35181420</author><pubDate>Wed, 19 Aug 2020 21:45:15 +0800</pubDate><description><![CDATA[647. 回文子串
给定一个字符串，你的任务是计算这个字符串中有多少个回文子串。
具有不同开始位置或结束位置的子串，即使是由相同的字符组成，也会被视作不同的子串。

示例 1：
输入：“abc”
输出：3
解释：三个回文子串: “a”, “b”, “c”
示例 2：
输入：“aaa”
输出：6
解释：6个回文子串: “a”, “a”, “a”, “aa”, “aa”, “aaa”
提示：
输入的字符串长度不会超过 1000 。

来源：力扣（LeetCode）
链接：https://leetcode-cn.]]></description><category></category></item><item><title><![CDATA[序列化]]></title><link>https://blog.youkuaiyun.com/baidu_35181420/article/details/107772625</link><guid>https://blog.youkuaiyun.com/baidu_35181420/article/details/107772625</guid><author>baidu_35181420</author><pubDate>Mon, 03 Aug 2020 20:23:05 +0800</pubDate><description><![CDATA[序列化和反序列化
序列化：将Java对象转换为有序字节流的过程；转化过程保证对象的完整性和可传递性，转换完成后形成有序字节流，以便在网络上进行传输或保存到磁盘中；
反序列化：将有序字节流转化为Java对象的过程；根据有序字节流中保存的对象状态和信息，反序列化出对象。
序列化优点

将对象序列化转换为字节流，存储到磁盘中；减少内存压力，也可以永久保存对象，等到下次JVM启动时在通过反序列化还原对象。
方便在网络中进行传输
通过序列化，将对象保存在内存中，可以再通过此数据得到多个对象的副本。

过程

只有实现]]></description><category></category></item><item><title><![CDATA[排序（四）排序优化]]></title><link>https://blog.youkuaiyun.com/baidu_35181420/article/details/107525090</link><guid>https://blog.youkuaiyun.com/baidu_35181420/article/details/107525090</guid><author>baidu_35181420</author><pubDate>Wed, 22 Jul 2020 22:30:24 +0800</pubDate><description><![CDATA[几种排序算法





时间复杂度
是否稳定
是否原地排序




冒泡排序
O(n²)
稳定
是


插入排序
O(n²)
稳定
是


选择排序
O(n²)
不稳定
是


快速排序
O(nlogn)
不稳定
是


归并排序
O(nlogn)
稳定
不是


计数排序
O(n+k),k是数据范围
稳定
不是


桶排序
O(n)
稳定
不是


基数排序
O(dn),d是维度
稳定
不是


排序算法的选择
虽然线性排序时间复杂度比较低，但是适用场景特殊条件苛刻，所以不能选用线性排序作为通用排序算法。]]></description><category></category></item><item><title><![CDATA[排序（一）]]></title><link>https://blog.youkuaiyun.com/baidu_35181420/article/details/107497577</link><guid>https://blog.youkuaiyun.com/baidu_35181420/article/details/107497577</guid><author>baidu_35181420</author><pubDate>Tue, 21 Jul 2020 20:05:46 +0800</pubDate><description><![CDATA[排序算法（一）




排序算法
时间复杂度
是否基于比较




冒泡、插入、选择
O(n²)
√


快排、归并
O(nlogn)
√


桶、计数、基数
O(n)
×


如何分析一个排序算法
一、执行效率

最好情况、最坏情况、平均情况时间复杂度
时间复杂度的系统，常数、低阶
比较次数和交换（移动）次数

二、内存消耗
内存消耗可以通过空间复杂度衡量。原地排序：特指空间复杂度为O(1)的排序算法，不需要使用额外空间。
三、稳定性
稳定性：排序之前存在有两个值相等的元素，排序之后，相等元素之间原有的相]]></description><category></category></item><item><title><![CDATA[线性排序]]></title><link>https://blog.youkuaiyun.com/baidu_35181420/article/details/107497291</link><guid>https://blog.youkuaiyun.com/baidu_35181420/article/details/107497291</guid><author>baidu_35181420</author><pubDate>Tue, 21 Jul 2020 19:52:55 +0800</pubDate><description><![CDATA[三种时间复杂度为O(n)的排序算法：桶排序、计数排序、基数排序
这三种排序算法都不涉及元素之间的比较操作，也叫做线性排序（Linear sort）
桶排序
核心思想
将要排序的数据分散到有序的桶中，分别对桶中的数据进行排序。排序好了之后，按照桶的顺序依次取出，就得到排好序的数据了。
时间复杂度
时间复杂度为O(n)。
假设要排序的数据有n个，均匀的划分到m个桶内，每个桶里就有k=n/m个元素，对每个桶使用快速排序，时间复杂度为O(k * logk)，m个桶的时间复杂度为O(m * k * logk)，因为k]]></description><category></category></item><item><title><![CDATA[时间复杂度为 O(nlogn) 的排序算法]]></title><link>https://blog.youkuaiyun.com/baidu_35181420/article/details/107497263</link><guid>https://blog.youkuaiyun.com/baidu_35181420/article/details/107497263</guid><author>baidu_35181420</author><pubDate>Tue, 21 Jul 2020 19:51:43 +0800</pubDate><description><![CDATA[时间复杂度为O(nlogn)的排序算法（归并排序、快速排序）,比时间复杂度O(n²)的排序算法更适合大规模数据排序。
归并排序
归并排序的核心思想
采用“分治思想”，将要排序的数组从中间分成前后两个部分，然后对前后两个部分分别进行排序，再将排序好的两部分合并在一起，这样数组就有序了。
分治是一种解决问题的思想，递归是一种编程技巧，使用递归的技巧就是，先找到递归公式和终止条件，然后将递归公式翻译成递归代码。
归并排序的递推公式和终止条件：
//递归公式
merge_sort(p...r) = mege(mer]]></description><category></category></item><item><title><![CDATA[递归]]></title><link>https://blog.youkuaiyun.com/baidu_35181420/article/details/107370033</link><guid>https://blog.youkuaiyun.com/baidu_35181420/article/details/107370033</guid><author>baidu_35181420</author><pubDate>Wed, 15 Jul 2020 20:46:52 +0800</pubDate><description><![CDATA[递归
递归是一种常用的算法（或者是编程技巧），利用递归求解问题的时候，去的过程（一直向下向深处）叫做“递”，回来的过程（由下级深处运算携带结果返回过程）叫“归”。
时间复杂度：递归代码中多了很多函数调用，当函数调用数量较大时，时间成本还是挺高的
空间复杂度：每次递归调用都会在栈中保留一次临时变量，所以空间复杂度通常并不是O(1),可能是O(n)
递归需要满足的三个条件

一个问题的解可以分解成几个子问题的解
这个问题和分解之后的子问题，除了数据规模不同外，求解思路完全一样
有递归终止条件

编写递归代码
关]]></description><category></category></item></channel></rss>