<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[CCChloe的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/CCChloe</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; CCChloe]]></copyright><item><title><![CDATA[【并发篇】volatile]]></title><link>https://blog.youkuaiyun.com/CCChloe/article/details/131114762</link><guid>https://blog.youkuaiyun.com/CCChloe/article/details/131114762</guid><author>CCChloe</author><pubDate>Thu, 08 Jun 2023 21:45:02 +0800</pubDate><description><![CDATA[volatile这部分还是去看看视频讲解吧 好难理解 代码演示还相对好懂一些。等我完全懂了我再把这篇坑填上。]]></description><category></category></item><item><title><![CDATA[【并发篇】08 lock VS synchronized]]></title><link>https://blog.youkuaiyun.com/CCChloe/article/details/131110184</link><guid>https://blog.youkuaiyun.com/CCChloe/article/details/131110184</guid><author>CCChloe</author><pubDate>Thu, 08 Jun 2023 16:10:31 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[【并发篇】06 sleep VS wait]]></title><link>https://blog.youkuaiyun.com/CCChloe/article/details/131107075</link><guid>https://blog.youkuaiyun.com/CCChloe/article/details/131107075</guid><author>CCChloe</author><pubDate>Thu, 08 Jun 2023 15:37:06 +0800</pubDate><description><![CDATA[线程在同步代码块中调用sleep时不会释放锁，只有在sleep结束后，线程退出了同步代码块，才会释放锁。下面代码目前都是截图，等我有空了换成可以复制的代码。还是要手动运行一下理解才更透彻。B站 黑马程序员 java八股视频的视频截图 自留备忘用 如有错误请多多指教。②在已经获得锁的情况下调用wait，锁会释放，其他线程可以获得锁。①在没有获得锁的情况下调用wait：会报错。]]></description><category></category></item><item><title><![CDATA[【并发篇】04-05 线程池核心参数&代码演示]]></title><link>https://blog.youkuaiyun.com/CCChloe/article/details/131102521</link><guid>https://blog.youkuaiyun.com/CCChloe/article/details/131102521</guid><author>CCChloe</author><pubDate>Thu, 08 Jun 2023 11:07:49 +0800</pubDate><description><![CDATA[任务队列是有上限的（如果没有上限就会造成内存紧张），核心线程也是有上限的，如果这两个都满了，新来的任务怎么办呢？任务，当核心线程都在忙的时候，新来的任务就加到workqueue中。等到有空闲下来的核心线程，就从任务队列中获取任务。在这个时间范围内救急线程没有任务可以执行，就把他从线程池中去掉。核心线程执行完任务后仍然需要保留在线程池中的，救急线程执行完没啥用了就不需要保存在线程池中。，用来执行提交给线程池的任务。，是踢掉，报异常，还是替换掉队列中的任务，还是什么都不做。]]></description><category></category></item><item><title><![CDATA[【并发篇】03 五种状态vs六种状态]]></title><link>https://blog.youkuaiyun.com/CCChloe/article/details/131096309</link><guid>https://blog.youkuaiyun.com/CCChloe/article/details/131096309</guid><author>CCChloe</author><pubDate>Thu, 08 Jun 2023 09:59:20 +0800</pubDate><description><![CDATA[B站 黑马程序员 java八股视频的笔记 自用备忘 如有错误请多多指教]]></description><category></category></item><item><title><![CDATA[【并发篇】02 java中的线程状态-代码演示]]></title><link>https://blog.youkuaiyun.com/CCChloe/article/details/131095951</link><guid>https://blog.youkuaiyun.com/CCChloe/article/details/131095951</guid><author>CCChloe</author><pubDate>Wed, 07 Jun 2023 21:18:09 +0800</pubDate><description><![CDATA[有空了自己打断点调试代码看看线程状态，按照注释数字的顺序挑选线程或主线程运行。主要代码如下：（演示是三种状态，运行，阻塞和等待）打断点，记得要在断点上右键选择Thread。]]></description><category></category></item><item><title><![CDATA[【并发篇】01 java中的线程状态]]></title><link>https://blog.youkuaiyun.com/CCChloe/article/details/131091702</link><guid>https://blog.youkuaiyun.com/CCChloe/article/details/131091702</guid><author>CCChloe</author><pubDate>Wed, 07 Jun 2023 20:35:13 +0800</pubDate><description><![CDATA[Java八股文面试题视频笔记，自留备忘。]]></description><category></category></item><item><title><![CDATA[【深度学习】虚拟环境配置常用命令行]]></title><link>https://blog.youkuaiyun.com/CCChloe/article/details/130709720</link><guid>https://blog.youkuaiyun.com/CCChloe/article/details/130709720</guid><author>CCChloe</author><pubDate>Tue, 16 May 2023 18:24:12 +0800</pubDate><description><![CDATA[最后，看到我有有conda install安装的，也有用pip install安装的，这两个都能用来下载安装，那为什么不全部用统一的呢？我也有这个疑问，之前看到一篇文章说的是最好先用conda安装，如果安装失败了就用pip安装，原因我也忘记了。以下记录我个人常用到的命令行，写这篇博客备忘，如有错误，请多指教！（以下例子中venv为虚拟环境名称，查看的具体包是numpy）国内的镜像源（网上有很多，我从别人那里复制来的哈哈哈）python 3.7版本的虚拟环境。豆瓣(douban)]]></description><category></category></item><item><title><![CDATA[【Springboot】yaml配置文件&多环境切换]]></title><link>https://blog.youkuaiyun.com/CCChloe/article/details/130701715</link><guid>https://blog.youkuaiyun.com/CCChloe/article/details/130701715</guid><author>CCChloe</author><pubDate>Tue, 16 May 2023 15:42:26 +0800</pubDate><description><![CDATA[YAML是 "YAML Ain't a Markup Language" （YAML不是一种标记语言）的递归缩写。在开发的这种语言时，YAML 的意思其实是："Yet Another Markup Language"（仍是一种标记语言）yaml语言以数据作为中心，而不是以标记语言为重点！传统xml配置yaml配置server：port: 8080。]]></description><category></category></item><item><title><![CDATA[【python】批量读取txt文件的每一行并作为csv文件表头]]></title><link>https://blog.youkuaiyun.com/CCChloe/article/details/129811903</link><guid>https://blog.youkuaiyun.com/CCChloe/article/details/129811903</guid><author>CCChloe</author><pubDate>Tue, 28 Mar 2023 12:26:52 +0800</pubDate><description><![CDATA[日常有用到过，记录一下方便下次再用，也顺便分享给有需要的人交流学习，a. 遍历路径下所有文件，根据文件后缀，一些小细节，根据情况添加更改。，是txt文件则进行操作。如有错误请多多指教~]]></description><category></category></item><item><title><![CDATA[【Java】为什么toString方法在打印对象时会自动调用？]]></title><link>https://blog.youkuaiyun.com/CCChloe/article/details/117114646</link><guid>https://blog.youkuaiyun.com/CCChloe/article/details/117114646</guid><author>CCChloe</author><pubDate>Fri, 21 May 2021 17:57:49 +0800</pubDate><description><![CDATA[我是看了这篇博客有很大收获，附上链接：https://blog.youkuaiyun.com/qq_41288095/article/details/89847007

鉴于这篇博客关于为什么会自动调用toString已经说了很清楚了，我就大概讲一下为什么输出的结果是“I love java”吧，我还想了有一会儿哈哈哈。

我稍微改一下，本质意思还是没变的，这样比较好理解。

public class ToStringTest {
  static int i = 1;
  public static void...]]></description><category></category></item><item><title><![CDATA[【算法与数据结构体系课笔记】循环不变量]]></title><link>https://blog.youkuaiyun.com/CCChloe/article/details/116977880</link><guid>https://blog.youkuaiyun.com/CCChloe/article/details/116977880</guid><author>CCChloe</author><pubDate>Tue, 18 May 2021 10:15:45 +0800</pubDate><description><![CDATA[博主也正在学习中，如果有错误或疑问欢迎评论私信交流讨论！^_^
]]></description><category></category></item><item><title><![CDATA[【算法与数据结构体系课笔记】动态数组的时间复杂度]]></title><link>https://blog.youkuaiyun.com/CCChloe/article/details/116699994</link><guid>https://blog.youkuaiyun.com/CCChloe/article/details/116699994</guid><author>CCChloe</author><pubDate>Tue, 18 May 2021 09:48:57 +0800</pubDate><description><![CDATA[数组最大的优点：快速查询。scores[2]

数组最好应用于“索引有意义”的情况。比如学生学号



但并非所有有语意的索引都适用于数组。比如身份证号。
]]></description><category></category></item><item><title><![CDATA[【算法与数据结构习题课笔记】插入排序法]]></title><link>https://blog.youkuaiyun.com/CCChloe/article/details/116654112</link><guid>https://blog.youkuaiyun.com/CCChloe/article/details/116654112</guid><author>CCChloe</author><pubDate>Wed, 12 May 2021 10:46:02 +0800</pubDate><description><![CDATA[（一）插入排序法：以从小到大排列为例，假设数组arr中[0,i)已排好序，[i,n)还未排序。对于元素arr[i]，向前比较元素大小，插入到合适的位置。



（二）循环不变量：arr[0...i)已排好序，[i...n)还未排序。把arr[i]放到合适的位置。可以通过交换元素，也可以通过平移元素。



（三）具体代码：

只是比较数组中的数字（按从小到大的顺序）：



比较其他对象（扩展性更强）：





博主也正在学习中，如果有错误或疑问欢迎评论私信交流讨论！
...]]></description><category></category></item><item><title><![CDATA[【算法与数据结构习题课笔记】选择排序法]]></title><link>https://blog.youkuaiyun.com/CCChloe/article/details/116652259</link><guid>https://blog.youkuaiyun.com/CCChloe/article/details/116652259</guid><author>CCChloe</author><pubDate>Tue, 11 May 2021 14:32:17 +0800</pubDate><description><![CDATA[（一）选择排序：以从小到大排序为例，每次从未排序数列arr中选出最小的放在前面，以此类推，数列arr就分成了两部分，前半部分是已经排好序的，后半部分是未排序的。

              即[0，i)有序，[i，n)无序。



（二）循环不变量：arr[0...i)已排序，arr[i...n)未排序。arr[i...n)中的最小值要放到arr[i]的位置。



（三）具体代码：

只是比较数字（按从小到大排序）：


    //写法1： [0,i)有序, [i，n...]]></description><category></category></item><item><title><![CDATA[【PTA】指针错题]]></title><link>https://blog.youkuaiyun.com/CCChloe/article/details/114758625</link><guid>https://blog.youkuaiyun.com/CCChloe/article/details/114758625</guid><author>CCChloe</author><pubDate>Sat, 13 Mar 2021 19:24:32 +0800</pubDate><description><![CDATA[数组a总共12个元素，

for循环为p[0] = &amp;a[0];

       p[1] = &amp;a[3];

       p[2] = &amp;a[6];

       p[3] = &amp;a[9];

这相当于把a分成了一个四行三列的二维数组，第一行的行地址为&amp;a[0],元素有1,2,3。第二行的行地址为&amp;a[3]，元素有4,5,6...以此类推，p[3][2]就相当于问第四行第三列的元素是什么，显...]]></description><category></category></item><item><title><![CDATA[【PTA】藏头诗：输入四句古诗，输出每句诗的第一个字。]]></title><link>https://blog.youkuaiyun.com/CCChloe/article/details/114755584</link><guid>https://blog.youkuaiyun.com/CCChloe/article/details/114755584</guid><author>CCChloe</author><pubDate>Sat, 13 Mar 2021 18:12:39 +0800</pubDate><description><![CDATA[课本上的方法：


#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;	
int main()
{
	int i;
    char *poem[4];
    for(i=0;i&lt;4;i++){
    	poem[i] = (char *)malloc(20*sizeof(char));
    	scanf("%s",poem[i]);
	}
	char begin[10];
	for(i=0;i&lt;4;i++){
		begin[2*i] ]]></description><category></category></item><item><title><![CDATA[【PTA】输入一个正整数n（1≤n≤9），打印一个高度为n的、由“*”组成的直角三角形图案。当n=3时，输出如下直角三角形图案：]]></title><link>https://blog.youkuaiyun.com/CCChloe/article/details/114379959</link><guid>https://blog.youkuaiyun.com/CCChloe/article/details/114379959</guid><author>CCChloe</author><pubDate>Thu, 04 Mar 2021 22:45:27 +0800</pubDate><description><![CDATA[***
 **
  *


#include&lt;stdio.h&gt;
int main(void)
{  
    int i, j, n=3; 
//	scanf("%d", &amp;n);
	for (i = n; i &gt; 0; i--){
	    for(j=n;j&gt;=1;j--){
	    	printf (" ");
	  	}     
	  	for(j=1;j&lt;=i;j++){
	    	printf ("*");
	  	}     
	    print.]]></description><category></category></item><item><title><![CDATA[【PTA】输入一个正整数n（1≤n≤9），打印一个高度为n的、由“*”组成的直角三角形图案。当n=3时，输出如下直角三角形图案：]]></title><link>https://blog.youkuaiyun.com/CCChloe/article/details/114379758</link><guid>https://blog.youkuaiyun.com/CCChloe/article/details/114379758</guid><author>CCChloe</author><pubDate>Thu, 04 Mar 2021 22:32:48 +0800</pubDate><description><![CDATA[*
 **
***


#include&lt;stdio.h&gt;
int main(void)
{  
    int i, j, n; 
	scanf("%d", &amp;n);
	for (i = n; i &gt; 0; i--){
	    for(j=i;j&gt;1;j--){
	    	printf (" ");
	  	}     
	  	for(j=i;j&lt;=n;j++){
	    	printf ("*");
	  	}     
	    printf ("\...]]></description><category></category></item><item><title><![CDATA[【PTA】输入一个非负整数，从高位开始逐位分割并输出它的各位数字。例如，输入9837，输出9 8 3 7]]></title><link>https://blog.youkuaiyun.com/CCChloe/article/details/114379661</link><guid>https://blog.youkuaiyun.com/CCChloe/article/details/114379661</guid><author>CCChloe</author><pubDate>Thu, 04 Mar 2021 22:28:12 +0800</pubDate><description><![CDATA[#include&lt;stdio.h&gt;
int main(void)
{  
    int digit, number, pow, t_number; 
	scanf ("%d", &amp;number);
	t_number = number;
	pow = 0;
	while(t_number!=0){
	    pow = pow+1;
	    t_number = t_number / 10;       
	}  
	while ( pow &gt;= 1 ) {
	    dig.]]></description><category></category></item></channel></rss>