<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[E_chos的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/E_chos</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; E_chos]]></copyright><item><title><![CDATA[区块链与联邦学习综述]]></title><link>https://blog.youkuaiyun.com/E_chos/article/details/122040625</link><guid>https://blog.youkuaiyun.com/E_chos/article/details/122040625</guid><author>E_chos</author><pubDate>Mon, 20 Dec 2021 14:27:27 +0800</pubDate><description><![CDATA[本期分享的论文是由Dinh C. Nguyen等人在2021年发表在IEEE Internet of Things Journal的文章《Federated Learning Meets Blockchain in Edge Computing Opportunities and Challenges》。]]></description><category></category></item><item><title><![CDATA[多方安全计算概述]]></title><link>https://blog.youkuaiyun.com/E_chos/article/details/121777915</link><guid>https://blog.youkuaiyun.com/E_chos/article/details/121777915</guid><author>E_chos</author><pubDate>Tue, 07 Dec 2021 20:32:45 +0800</pubDate><description><![CDATA[MPC起源于姚期智院士在1982年提出的百万富翁问题。自MPC理论创立以来，已经衍生出多个技术分支，包括混淆电路、秘密分享、同态加密，不经意传输，隐私集合交集和差分隐私等。]]></description><category></category></item><item><title><![CDATA[决策树-Decision Tree]]></title><link>https://blog.youkuaiyun.com/E_chos/article/details/121105719</link><guid>https://blog.youkuaiyun.com/E_chos/article/details/121105719</guid><author>E_chos</author><pubDate>Tue, 02 Nov 2021 18:02:43 +0800</pubDate><description><![CDATA[决策树
1 基本概念
信息量：度量一个事件的不确定性程度，不确定性越高则信息量越大，一般通过事件发生的概率来定义不确定性，信息量则是基于概率密度函数的log运算
I(x)=−log⁡p(x)
I(x)=-\log p(x)
I(x)=−logp(x)
信息熵：衡量的是一个事件集合的不确定性程度，就是事件集合中所有事件的不确定性的期望
H(x)=Ex_X[I(x)]=Ex_X[−log⁡p(x)]=∑x∈X[−p(x)log⁡p(x)]
\begin{aligned}
	H(x)&amp;=E_{x\_X}[]]></description><category></category></item><item><title><![CDATA[数组实现循环队列Java]]></title><link>https://blog.youkuaiyun.com/E_chos/article/details/114844425</link><guid>https://blog.youkuaiyun.com/E_chos/article/details/114844425</guid><author>E_chos</author><pubDate>Mon, 15 Mar 2021 18:20:02 +0800</pubDate><description><![CDATA[数组实现循环队列-Java
package MyQueue;

import java.lang.reflect.Array;

public class MyQueueArray&lt;AnyType&gt; {
    private int theSize;
    private int currentSize;
    private Object[] theItems;
    private int front;
    private int back;

    public MyQueu]]></description><category></category></item><item><title><![CDATA[链表实现队列Java]]></title><link>https://blog.youkuaiyun.com/E_chos/article/details/114844301</link><guid>https://blog.youkuaiyun.com/E_chos/article/details/114844301</guid><author>E_chos</author><pubDate>Mon, 15 Mar 2021 18:18:18 +0800</pubDate><description><![CDATA[链表实现队列-Java
package MyQueue;

public class MyQueueLinked&lt;Anytype&gt; {
    private int theSize;
    private Node&lt;Anytype&gt; front;
    private Node&lt;Anytype&gt; back;

    class Node&lt;Anytype&gt; {
        private Anytype data;
        private N]]></description><category></category></item><item><title><![CDATA[线性表（数组）实现栈Java]]></title><link>https://blog.youkuaiyun.com/E_chos/article/details/114702645</link><guid>https://blog.youkuaiyun.com/E_chos/article/details/114702645</guid><author>E_chos</author><pubDate>Fri, 12 Mar 2021 18:29:18 +0800</pubDate><description><![CDATA[线性表（数组）实现栈-Java
package MyStack;

/**
 * 线性表实现
 * @param &lt;AnyType&gt;
 */
public class MyStackArray&lt;AnyType&gt; {
    public static final int DEFAULT_CAPACITY = 10;

    private int theSize;
    private AnyType[] theItem;

    public MyStackArray() {]]></description><category></category></item><item><title><![CDATA[链表实现栈Java]]></title><link>https://blog.youkuaiyun.com/E_chos/article/details/114701760</link><guid>https://blog.youkuaiyun.com/E_chos/article/details/114701760</guid><author>E_chos</author><pubDate>Fri, 12 Mar 2021 18:27:40 +0800</pubDate><description><![CDATA[链表实现栈-Java
package MyStack;

/**
 * 链表实现
 * @param &lt;AnyType&gt;
 */
public class MyStackLinked&lt;AnyType&gt; {
    private int theSize;
    private Node&lt;AnyType&gt; head;
    private Node&lt;AnyType&gt; tail;

    public MyStackLinked() {}

    priv]]></description><category></category></item><item><title><![CDATA[LinkedList类的底层实现Java]]></title><link>https://blog.youkuaiyun.com/E_chos/article/details/114699383</link><guid>https://blog.youkuaiyun.com/E_chos/article/details/114699383</guid><author>E_chos</author><pubDate>Fri, 12 Mar 2021 16:22:21 +0800</pubDate><description><![CDATA[LinkedList类的底层实现-Java
package MyLinkedList;

import javax.script.AbstractScriptEngine;

public class MyLinkedList&lt;AnyType&gt; implements Iterable&lt;AnyType&gt; {
    private int theSize;
    private int modCount = 0;
    private Node&lt;AnyType&gt; beg]]></description><category></category></item><item><title><![CDATA[Iterator的remove()方法Java]]></title><link>https://blog.youkuaiyun.com/E_chos/article/details/114641943</link><guid>https://blog.youkuaiyun.com/E_chos/article/details/114641943</guid><author>E_chos</author><pubDate>Thu, 11 Mar 2021 10:12:12 +0800</pubDate><description><![CDATA[Iterator的remove()方法-Java

Collection接口实现了Iterable接口，实现了Iterable接口的类可以拥有增强for循环
Iterator的remove()方法优势



如果知道删除项的准确位置，删除操作的开销小
不能对正在被遍历的集合进行改变（add，remove，clear等操作），但是可以调用iterator中的remove方法进行删除


        Iterator iterator = coll.iterator(); 
        while (i]]></description><category></category></item><item><title><![CDATA[File类详解Java]]></title><link>https://blog.youkuaiyun.com/E_chos/article/details/114642126</link><guid>https://blog.youkuaiyun.com/E_chos/article/details/114642126</guid><author>E_chos</author><pubDate>Thu, 11 Mar 2021 10:12:02 +0800</pubDate><description><![CDATA[File类-Java1. 基本概念2. File类的常用函数3. 遍历指定目录下的所有目录4. 遍历指定目录下的所有文件，判断目录下是否是文件5. 在目录中查找指定的文件6. 查看当前工作路径7. 遍历所有目录
1. 基本概念

File类的对象，代表一个文件夹或文件
File声明在java.io包下
File类只能操作文件名，不能修改文件内容
路径分隔符
4.1 windows和DOS系统默认使用“\"表示
4.2 UNIX和URL使用“/”表示

2. File类的常用函数
/**
public Str]]></description><category></category></item><item><title><![CDATA[文件的复制Java]]></title><link>https://blog.youkuaiyun.com/E_chos/article/details/114642543</link><guid>https://blog.youkuaiyun.com/E_chos/article/details/114642543</guid><author>E_chos</author><pubDate>Thu, 11 Mar 2021 10:11:48 +0800</pubDate><description><![CDATA[文件的复制-Java1. 文本文件的复制2. 非文本文件的复制3. 完整文件复制
1. 文本文件的复制
/**
* 实现文本文件的复制
*/
@Test
public void test4() {
    FileReader fr = null;
    FileWriter fw = null;
    try {
        //1. 实现读入和写出的File类
        File srcFile = new File("src\\echo06\\hello.txt");
        F]]></description><category></category></item><item><title><![CDATA[ArrayList类的底层实现Java]]></title><link>https://blog.youkuaiyun.com/E_chos/article/details/114642641</link><guid>https://blog.youkuaiyun.com/E_chos/article/details/114642641</guid><author>E_chos</author><pubDate>Thu, 11 Mar 2021 10:11:19 +0800</pubDate><description><![CDATA[ArrayList的底层实现-Java
public class MyArrayList&lt;AnyType&gt; implements Iterable&lt;AnyType&gt; {

    public static final int DEFAULT_CAPACITY = 10;

    private int theSize;
    private AnyType[] theItem;

    public MyArrayList() {
        doClear();
   ]]></description><category></category></item><item><title><![CDATA[IO流详解Java]]></title><link>https://blog.youkuaiyun.com/E_chos/article/details/114642315</link><guid>https://blog.youkuaiyun.com/E_chos/article/details/114642315</guid><author>E_chos</author><pubDate>Thu, 11 Mar 2021 10:10:37 +0800</pubDate><description><![CDATA[IO流详解-Java1. IO流体系2. 节点流的使用3. 处理流
1. IO流体系

按操作数据单位不同分为：字节流（8 bit),字符流（16 bit)
按数据流的流向不同分为：输入流，输出流
按流的角色的不同分为：节点流，处理流
节点流：直接从数据源或目的地读写数据

处理流：不直接连接到数据源或目的地，而是“连接”在已存在的流（节点流或处理流）之上，通过对数据的处理为程序提供更为强大的读写功能

IO流详细分类图


2. 节点流的使用

读取操作

@Test
public void test2(]]></description><category></category></item><item><title><![CDATA[字符串格式化format（）Java]]></title><link>https://blog.youkuaiyun.com/E_chos/article/details/114641834</link><guid>https://blog.youkuaiyun.com/E_chos/article/details/114641834</guid><author>E_chos</author><pubDate>Wed, 10 Mar 2021 17:51:14 +0800</pubDate><description><![CDATA[字符串格式化format（）-Java
    public void test09() {
        /**
         * printf()和format()方法具有相同的功能.
         * System.out是java.io.PrintStream的实例.
         * PrintStream,java.io.PrintWriter, 和java.lang.String每个类都有四个新的格式化方法:
         *
         * format( Strin]]></description><category></category></item><item><title><![CDATA[round()方法Java]]></title><link>https://blog.youkuaiyun.com/E_chos/article/details/114641786</link><guid>https://blog.youkuaiyun.com/E_chos/article/details/114641786</guid><author>E_chos</author><pubDate>Wed, 10 Mar 2021 17:49:31 +0800</pubDate><description><![CDATA[round()方法-Java
// round()是四舍五入的计算，五入时是到大于它的整数
Math.round(3.7) // 4
// 底层算法是：Math.floor(x+0.5) ，将原来的数字加0.5再向下取整
Math.round(11.5) // 12
Math.rounf(-11.5) // -11


]]></description><category></category></item><item><title><![CDATA[计算两个数组的差集和交集Java]]></title><link>https://blog.youkuaiyun.com/E_chos/article/details/114641722</link><guid>https://blog.youkuaiyun.com/E_chos/article/details/114641722</guid><author>E_chos</author><pubDate>Wed, 10 Mar 2021 17:47:54 +0800</pubDate><description><![CDATA[计算两个数组的差集和交集-Java
    @Test
    public void test15() {
        // 计算两个数组的差集
        ArrayList&lt;String&gt; arr1 = new ArrayList&lt;&gt;();
        ArrayList&lt;String&gt; arr2 = new ArrayList&lt;&gt;();

        arr1.add("a");
        arr1.add("b");
     ]]></description><category></category></item><item><title><![CDATA[找到数组中重复的元素，并返回重复的次数Java]]></title><link>https://blog.youkuaiyun.com/E_chos/article/details/114641656</link><guid>https://blog.youkuaiyun.com/E_chos/article/details/114641656</guid><author>E_chos</author><pubDate>Wed, 10 Mar 2021 17:46:08 +0800</pubDate><description><![CDATA[找到数组中重复的元素，并返回重复的次数-Java
    @Test
    public void test13() {
        Integer[] arr = {1, 4, 1, 5, 6, 4, 1, 7, 1, 6};
        Map&lt;Integer, Integer&gt; map = findDupicatedInArray(arr);
        System.out.println(map);
    }

    public static &lt; T &gt;]]></description><category></category></item><item><title><![CDATA[数组和列表的转换Java]]></title><link>https://blog.youkuaiyun.com/E_chos/article/details/114641480</link><guid>https://blog.youkuaiyun.com/E_chos/article/details/114641480</guid><author>E_chos</author><pubDate>Wed, 10 Mar 2021 17:43:00 +0800</pubDate><description><![CDATA[数组和列表的转换-Java

数组—&gt;列表：Array—&gt;List
List list = Arrays.asList(array)
列表—&gt;数组：List—&gt; Array
Object[] array = list.toArray()

测试一:
获取数组的最大最小值
    @Test
    public void test10() {
        // 获取数组的最大最小值
        Integer[] array = {2, 3, 7, -3, 0, -5, 22]]></description><category></category></item><item><title><![CDATA[测试两个字符串对应区域的内容是否相同Java]]></title><link>https://blog.youkuaiyun.com/E_chos/article/details/114641411</link><guid>https://blog.youkuaiyun.com/E_chos/article/details/114641411</guid><author>E_chos</author><pubDate>Wed, 10 Mar 2021 17:37:00 +0800</pubDate><description><![CDATA[测试两个字符串对应区域的内容是否相同-Java
    @Test
    public void test08() {
        // 测试两个字符串对应区域的内容是否相等
        String first_str = "Welcome to Microsoft";
        String second_str = "I work with microsoft";

        // 表示将 first_str 字符串从第11个字符"M"开始和 second_str 字符串的第12]]></description><category></category></item><item><title><![CDATA[字符串分割Java]]></title><link>https://blog.youkuaiyun.com/E_chos/article/details/114641352</link><guid>https://blog.youkuaiyun.com/E_chos/article/details/114641352</guid><author>E_chos</author><pubDate>Wed, 10 Mar 2021 17:34:41 +0800</pubDate><description><![CDATA[字符串分割-Java

方法一

    @Test
    public void test06() {
        // 分割字符串
        String str = "hello-world-!";

        String[] split = str.split("-");
        for (String s : split) {
            System.out.println(s);
        }
    }


hello
world
!


方法二]]></description><category></category></item></channel></rss>