<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chicken3wings的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chicken3wings</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chicken3wings]]></copyright><item><title><![CDATA[JAVA类加载、和初始化]]></title><link>https://blog.youkuaiyun.com/chicken3wings/article/details/124417660</link><guid>https://blog.youkuaiyun.com/chicken3wings/article/details/124417660</guid><author>chicken3wings</author><pubDate>Mon, 25 Apr 2022 23:52:02 +0800</pubDate><description><![CDATA[JAVA类加载过程“
加载-》连接（验证、准备、解析）-》初始化
JAVA 类加载：
（1）	通过全类名获取定义此类的二进制字节流（jar、war、ear）
（2）	将字节流所代表的的静态存储结构，转换为方法区的运行时数据结构
（3）	在内存中生成一个代表该类的Class对象，作为方法区这些数据访问入口
JAVA 类连接
（1）	验证：文件格式验证、元数据验证、字节码验证、符号引用验证
（2）	准备：正式为类变量（static属性）分配内存；除final修饰的变量外，其他的都赋值为初始值（0、null、fa]]></description><category></category></item><item><title><![CDATA[JavaSE学习]]></title><link>https://blog.youkuaiyun.com/chicken3wings/article/details/117266228</link><guid>https://blog.youkuaiyun.com/chicken3wings/article/details/117266228</guid><author>chicken3wings</author><pubDate>Tue, 25 May 2021 22:30:48 +0800</pubDate><description><![CDATA[JavaSE学习
IDEA配置
使用Intellij
Java基础语法
面向对象
面向对象思想简介

概念

对于Java来说，万物皆对象，一个对象代表了某个具体操作，一组对象组成完成的程序设计，对象之间通过相互传递信息实现程序开发。
面向对象的三个优点：（1）可重用性（2）可扩展性（3）可管理性


面向对象三大特性
（1）继承性：子类拥有父类全部特征和行为，Java只支持单继承。
（2）封装性：使用类进行封装，提供私有和公有访问模式，目的是保护信息。
（3）多态性：“一个接口，多个方法”，子类继承父类方]]></description><category></category></item><item><title><![CDATA[Java学习路线]]></title><link>https://blog.youkuaiyun.com/chicken3wings/article/details/117265865</link><guid>https://blog.youkuaiyun.com/chicken3wings/article/details/117265865</guid><author>chicken3wings</author><pubDate>Tue, 25 May 2021 22:10:30 +0800</pubDate><description><![CDATA[Java学习路线
基础篇
JavaEE

什么是JaveEE

JavaEE（Java Platform Enterprise Edition）即Java凭他企业版，用来开发B/S架构软件，javaEE包含了javaSE。

JavaEE主要技术

十三种核心技术：
JDBC、JNDI、EJB、RMI、Servlet、JSP、XML、JMS、Java IDL、JTS、JTA、JavaMail、JAF

JavaEE框架

SSH：Struct + Spring + Hibernate
SSM：Spring ]]></description><category></category></item><item><title><![CDATA[SpringCloud学笔记]]></title><link>https://blog.youkuaiyun.com/chicken3wings/article/details/115534115</link><guid>https://blog.youkuaiyun.com/chicken3wings/article/details/115534115</guid><author>chicken3wings</author><pubDate>Thu, 08 Apr 2021 23:45:56 +0800</pubDate><description><![CDATA[教材：《Spring Cloud微服务入门、实战与进阶》尹吉欢
github搜：yinjihuan/spring-cloud
可能需要了解的知识：
（1）Nginx
（2）HTTP
（3）REST API
（4）负载均衡
（5）服务器雪崩效应
第一章  Spring Cloud与微服务概述
单体应用程序：
所有功能都集中在一起的程序。

单体应用架构的改进
业务发展–&gt;系统拆分–&gt;多个子系统分别负责不同业务–&gt;系统间通过WebService或HTTP接口交互
–&gt;对高频模块扩展（增加]]></description><category></category></item><item><title><![CDATA[C++ Primer——cin的特性以及cin.clear()]]></title><link>https://blog.youkuaiyun.com/chicken3wings/article/details/112948485</link><guid>https://blog.youkuaiyun.com/chicken3wings/article/details/112948485</guid><author>chicken3wings</author><pubDate>Thu, 21 Jan 2021 15:01:51 +0800</pubDate><description><![CDATA[在写C++ Primer时发现了cin的一个特性，即当cin在某一个读取的字符流，与所赋值对象不符（或者读取到了结束符）时，书中说返回值是False（-1），可以用于结束while循环的判断条件，但是除此之外还有个变化：
cin在此后都会失效！！
附上所写代码，具体在cin内部发生了什么暂时还不想去探究。
更新：cin.clear()用于重置所有cin的状态，即能够使cin再次生效。
# include&lt;iostream&gt;
# include&lt;vector&gt;
# include&lt]]></description><category></category></item><item><title><![CDATA[C++ Primer——头文件保护符]]></title><link>https://blog.youkuaiyun.com/chicken3wings/article/details/112856381</link><guid>https://blog.youkuaiyun.com/chicken3wings/article/details/112856381</guid><author>chicken3wings</author><pubDate>Wed, 20 Jan 2021 01:08:49 +0800</pubDate><description><![CDATA[关于C++ Primer中预处理器头文件部分的一些个人理解。
头文件保护符指的是下列这一段代码或者与之功能相同的代码，其功能是防止头文件被多次包含而出错。
#ifndef ABC_H
#define ABC_H
头文件中间部分代码
#endif

在头文件保护符中涉及到了4种指令：
（1）#define：用于将一个名字设定为预处理变量，该名字通常以头文件的全大写同名确定；
（2）#ifdef：判断一个名字是否被定义为预处理变量，如果已定义，则为True；
（3）#ifndef：与上一个想法，未定义时为Tru]]></description><category></category></item><item><title><![CDATA[Spinnaker SDK——安装与配置]]></title><link>https://blog.youkuaiyun.com/chicken3wings/article/details/111597546</link><guid>https://blog.youkuaiyun.com/chicken3wings/article/details/111597546</guid><author>chicken3wings</author><pubDate>Wed, 23 Dec 2020 19:54:47 +0800</pubDate><description><![CDATA[spinnaker是Flir相机对应的SDK开发工具，用于Flir相机的开发。
1.spinnaker安装
安装包地址
https://flir.app.boxcn.net/v/SpinnakerSDK/folder/68522911814
选择最新的安装包SpinnakerSDK_FULL_2.0.0.146_x64.exe
在安装时注意选择安装VS2015解决方案配套的库。
2.环境配置
在VS2015工程管理器中配置相关的库，我的安装位置是E:\spinnaker。
包含目录：E:\spinnaker]]></description><category></category></item><item><title><![CDATA[ZeroMQ通信案例]]></title><link>https://blog.youkuaiyun.com/chicken3wings/article/details/111474379</link><guid>https://blog.youkuaiyun.com/chicken3wings/article/details/111474379</guid><author>chicken3wings</author><pubDate>Wed, 23 Dec 2020 19:38:48 +0800</pubDate><description><![CDATA[使用ZeroMQ实现C++与Python之间的通信功能
（1）传输的输入包括字符串和图片数据
（2）使用发布订阅模型（Sub和Pub）以及中间件Proxy实现双向通信
（3）手动指定端口号（待完善）
常用API
C++
创建发布端Pub
# 创建context、验证context是否成功
void* context_pub = zmq_ctx_new();
assert(context_pub != NULL);
# 创建Socket端口 及 验证
void* PubSocket = zmq_socket(]]></description><category></category></item><item><title><![CDATA[算法网课笔记（七）——排序]]></title><link>https://blog.youkuaiyun.com/chicken3wings/article/details/107295194</link><guid>https://blog.youkuaiyun.com/chicken3wings/article/details/107295194</guid><author>chicken3wings</author><pubDate>Wed, 15 Jul 2020 15:19:41 +0800</pubDate><description><![CDATA[三类常见排序

问题：插入排序和冒泡排序都是O(n²)，为什么插入排序更收欢迎？
如何分析一个排序算法
1.最好，最坏。平均时间复杂度
2.时间复杂度的系数，常数，低阶
3.比较次数和交换次数
4.算法的内存消耗
原地排序指的是空间复杂度是O(1)的排序算法
5.算法的稳定性
即，如果序列中存在相同的值，经过排序后，相等元素的原有先后顺序不变
稳定性在实际应用中很重要
冒泡排序（Bubble Sort）
def bubbleSort(nums):
    flag=0
    n=len(nums)
   ]]></description><category></category></item><item><title><![CDATA[算法网课笔记（六）——递归]]></title><link>https://blog.youkuaiyun.com/chicken3wings/article/details/107284569</link><guid>https://blog.youkuaiyun.com/chicken3wings/article/details/107284569</guid><author>chicken3wings</author><pubDate>Sat, 11 Jul 2020 16:38:38 +0800</pubDate><description><![CDATA[给定一个用户ID，如何查找其“最终推荐人”
递归
典型递推公式：f(n)=f(n-1)+1，f(1)=1
递归代码
int f(int n){
	if (n==1)  return 1;
	return f(n-1)+1;
	}

递归的三个条件
1.一个问题的解可以分解为几个子问题
2.子问题与原问题，除了数据规模，求解思路完全一样
3.存在递归终止条件
如何写递归代码
关键：（1）递推公式，（2）终止条件
以走楼梯为例，n阶楼梯，可以一步一阶或者一步2阶，有多少种走法？
递推公式：f(n)=f(n-1)]]></description><category></category></item><item><title><![CDATA[算法网课笔记（五）——队列]]></title><link>https://blog.youkuaiyun.com/chicken3wings/article/details/107139819</link><guid>https://blog.youkuaiyun.com/chicken3wings/article/details/107139819</guid><author>chicken3wings</author><pubDate>Sat, 11 Jul 2020 11:52:19 +0800</pubDate><description><![CDATA[队列queue
先进先出，入队enqueue，出队dequeue
队列也是一种操作受限的线性表数据结构
具有额外特性的队列：
循环队列、阻塞队列、并发队列、、

]]></description><category></category></item><item><title><![CDATA[算法网课笔记（四）——栈]]></title><link>https://blog.youkuaiyun.com/chicken3wings/article/details/107132653</link><guid>https://blog.youkuaiyun.com/chicken3wings/article/details/107132653</guid><author>chicken3wings</author><pubDate>Sun, 05 Jul 2020 00:40:23 +0800</pubDate><description><![CDATA[栈
先进后出，后进先出，栈是一种操作受限的线性表，只允许在一段插入和删除
如何实现一个栈
顺序栈：用数组实现的栈
链式栈：用链表实现的栈
# 创建一个栈的class

# 定义入栈和出栈操作

空间复杂度：入栈和出栈都是O(1)
时间复杂度：即使是支持动态扩容的栈，按照均摊时间复杂度算，也是O(1)
函数调用栈
操作系统会给每个线程分配一块独立的内存空间，这块内存被组织成栈结构，用来存储函数调用时的临时变量。每进入一个函数，先将其需要的临时变量作为一个栈帧入栈，当函数执行完成，返回值后，将该函数对应的栈帧出]]></description><category></category></item><item><title><![CDATA[算法网课笔记（三）——链表]]></title><link>https://blog.youkuaiyun.com/chicken3wings/article/details/106978603</link><guid>https://blog.youkuaiyun.com/chicken3wings/article/details/106978603</guid><author>chicken3wings</author><pubDate>Sat, 27 Jun 2020 14:56:18 +0800</pubDate><description><![CDATA[常用缓存策略
FIFO、LFU、LRU
如何用链表实现LRU？
链表相关知识
结点、后继指针（next）、头结点、尾结点、前驱结点
循环链表、双向链表（next、pre）
PS：在“删除某个指针指定的节点”或者“在某个指定节点前插入”这种操作中，双向链表复杂度是O(1)，而单链表是O(n)；		在“删除特定值的节点”的操作中，二者复杂度都是O(n)
链表在插入删除上，比数组优秀；而在随机访问上，数组为O(1)，链表为O(n)
链表的内存相比数组会翻倍
此外，数组的连续内存机制，可以利用CPU的缓存机制，预读]]></description><category></category></item><item><title><![CDATA[算法网课笔记（二）——数组]]></title><link>https://blog.youkuaiyun.com/chicken3wings/article/details/106967181</link><guid>https://blog.youkuaiyun.com/chicken3wings/article/details/106967181</guid><author>chicken3wings</author><pubDate>Fri, 26 Jun 2020 14:20:41 +0800</pubDate><description><![CDATA[为什么数组标号都从0开始
数组（Array）是一种线性表数据结构，用一组连续的内存空间，存储一组具有相同类型的数据。
因为“下标”的本质是“偏移（offset）”，即a[0]是偏移=0的地址，即首地址；a[k]是偏移=k的地址，地址计算公式如下
a[k]_address = base_address + k * type_size
如果下标从1开始，则计算公式需要变成
a[k]_address = base_address + (k-1)*type_size
CPU每次都需要多做一次减法指令，为了效率优化，]]></description><category></category></item><item><title><![CDATA[算法网课笔记（一）——复杂度分析]]></title><link>https://blog.youkuaiyun.com/chicken3wings/article/details/106965735</link><guid>https://blog.youkuaiyun.com/chicken3wings/article/details/106965735</guid><author>chicken3wings</author><pubDate>Fri, 26 Jun 2020 10:48:53 +0800</pubDate><description><![CDATA[课程来源
极客时间——数据结构与算法之美（王争）
概述
数据结构：一组数据的存储结构
算法：操作数据的一组方法
数据结构为算法的服务，算法要作用在特定的数据结构上
复杂度分析：算法时间和资源效率的考量，很重要
课程内容总览：
10个数据结构：数组，链表，栈、队列、散列表、二叉树、堆、跳表、图、Trie数
10个算法：递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法
复杂度分析
事后统计法的缺点：1.测试结果依赖测试环境；2.测试结果受数据规模影响大
复杂度计算过程]]></description><category></category></item><item><title><![CDATA[20200620]]></title><link>https://blog.youkuaiyun.com/chicken3wings/article/details/106874863</link><guid>https://blog.youkuaiyun.com/chicken3wings/article/details/106874863</guid><author>chicken3wings</author><pubDate>Sat, 20 Jun 2020 17:10:22 +0800</pubDate><description><![CDATA[#include &lt;bits/stdc++.h&gt;

using namespace std;

bool sort_cmp(const pair&lt;int, int&gt; &amp;A, const pair&lt;int, int&gt; &amp;B) //涉及到，条件运算符，sort结构体排序
{
	//如果AB的x值（喜好程度）相同，则将i值（用户编号）升序排序
	//如果x值不同，则根据x值进行升序排序 
    return A.first == B.first ? A.sec]]></description><category></category></item><item><title><![CDATA[matterport_MaskRCNN（6）——部分代码功能修改（批量预测+仅显示MaxConfidence）]]></title><link>https://blog.youkuaiyun.com/chicken3wings/article/details/106096553</link><guid>https://blog.youkuaiyun.com/chicken3wings/article/details/106096553</guid><author>chicken3wings</author><pubDate>Wed, 13 May 2020 14:00:38 +0800</pubDate><description><![CDATA[批量预测
（1）先在predict.py所在的文件夹，创建TestResult文件件
（2）将predict.py中代码替换成
from keras.layers import Input
from mask_rcnn import MASK_RCNN 
from PIL import Image

import os

def SinglePredict(filename):
    try:
    	# PIL读取图片
        image = Image.open(filename)
    ]]></description><category></category></item><item><title><![CDATA[算法题(模板)——N个球放入M个盒子中]]></title><link>https://blog.youkuaiyun.com/chicken3wings/article/details/106095867</link><guid>https://blog.youkuaiyun.com/chicken3wings/article/details/106095867</guid><author>chicken3wings</author><pubDate>Wed, 13 May 2020 13:43:51 +0800</pubDate><description><![CDATA[题目：n个球放入m个盒子中，有多少种放法
情况一：球同，盒不同，无空盒
也就是所有球都是一样的，但是盒子有区别，且不能出现空放的情况。
采用插板法，相当于在n-1个空隙中，插入m个盒子，而由于不能有空盒子，所以n个球的最前边或者最后边一定会放一个盒子，所以相当于n-1和间隙中放入m-1个盒子。
C(n-1,m-1), n&gt;=m
0, n&lt;m
情况二：球同，盒不同，允许有空盒
先假设m个盒子中都放好了1个球，即假设共有m+n个球，然后情况变为第一种情况，即n+m个球放入m个盒子中，没有空盒。
C(]]></description><category></category></item><item><title><![CDATA[阿里笔试题20200506]]></title><link>https://blog.youkuaiyun.com/chicken3wings/article/details/105962415</link><guid>https://blog.youkuaiyun.com/chicken3wings/article/details/105962415</guid><author>chicken3wings</author><pubDate>Thu, 07 May 2020 00:15:45 +0800</pubDate><description><![CDATA[题目一：m种球中购买总计n个球的策略数
你现在需要购买n个乒乓球，超市中提供了m种不同的球，由于对第一种特别喜爱，因此至少买一个。求不同的购买方案对10^9+7取模的结果。如果2种购买方案在某种球数量上不同，则认为属于不同方案
输入描述：
一行两个数字n, m
1&lt;=n,m&lt;=1000
输入：
2  2
输出：
2
说明：
2种方案位（1，1）和（1，2）
题解一
考虑动态规划
# d...]]></description><category></category></item><item><title><![CDATA[EAIDK610学习笔记]]></title><link>https://blog.youkuaiyun.com/chicken3wings/article/details/105559312</link><guid>https://blog.youkuaiyun.com/chicken3wings/article/details/105559312</guid><author>chicken3wings</author><pubDate>Sun, 19 Apr 2020 01:32:04 +0800</pubDate><description><![CDATA[一、EAIDK用户手册
一些术语：
EAIDK、AID（面向嵌入式平台的前端软件）、BladeCV（在嵌入式上代替openCV的开发包）、MIPI、eDP、CTIA
EAIDK特点：
包含支持异构计算库 HCL、嵌入式深度学习框架 Tengine、以及轻量级嵌入式计算机视觉加速库 BladeCV
二、Xrdp
启动xrdp并设置为开机启动
#  systemctl start xrdp
#  sy...]]></description><category></category></item></channel></rss>