<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[haozhangyn的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/honghu110</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; honghu110]]></copyright><item><title><![CDATA[java中成员 变量的初始化顺序]]></title><link>https://blog.youkuaiyun.com/honghu110/article/details/69487509</link><guid>https://blog.youkuaiyun.com/honghu110/article/details/69487509</guid><author>honghu110</author><pubDate>Thu, 06 Apr 2017 22:32:46 +0800</pubDate><description><![CDATA[java中成员 变量的初始化顺序1.在java类内部，最先执行静态代码块，在类内部，变量定义的先后顺序决定了初始化的顺序，变量的初始化顺序在任何方法的被调用之前执行package cn.ynu;
/**最先执行静态代码块，在类内部，变量定义的先后顺序决定了初始化的顺序，变量的初始化顺序在任何方法的被调用之前执行*/
public class OrderOfInitialization {
   st]]></description><category></category></item><item><title><![CDATA[java中final的用法]]></title><link>https://blog.youkuaiyun.com/honghu110/article/details/69181544</link><guid>https://blog.youkuaiyun.com/honghu110/article/details/69181544</guid><author>honghu110</author><pubDate>Tue, 04 Apr 2017 20:07:14 +0800</pubDate><description><![CDATA[java中final的用法java中final主要有四种用法，分别是：修饰类的成员变量；修饰对象的引用；修饰方法；修饰类。 
1.修饰成员变量 
修饰成员变量是final关键字的主要用途，只要被final关键字修饰的成员变量就表明该成员变量是不可变的，是常量（c/c++中用const关键字表示）。 
2. 修饰类或对象 
其实在java中我们不能让对象被final修饰，只能是将对象的某个引用修饰为f]]></description><category></category></item><item><title><![CDATA[java内存管理]]></title><link>https://blog.youkuaiyun.com/honghu110/article/details/64921522</link><guid>https://blog.youkuaiyun.com/honghu110/article/details/64921522</guid><author>honghu110</author><pubDate>Wed, 22 Mar 2017 16:50:57 +0800</pubDate><description><![CDATA[java内存管理java内存分成两种： 
（1）栈内存基本数据类型的变量和对象的引用变量都存在于函数的栈内存中。 
生命周期：方法A中调用了方法B，那么方法B中包含b变量，当函数B运行完成后变量b会被自动销毁，分配给它的内存会被jvm回收。 
（2）堆内存 
堆内存用于存储new创建的对象和数组，在堆中分配的内存，由java 
java内存具体细节java内存细分的话可以分为5个部分： 
- 方法区]]></description><category></category></item><item><title><![CDATA[Python 多线程]]></title><link>https://blog.youkuaiyun.com/honghu110/article/details/62037337</link><guid>https://blog.youkuaiyun.com/honghu110/article/details/62037337</guid><author>honghu110</author><pubDate>Tue, 14 Mar 2017 09:49:39 +0800</pubDate><description><![CDATA[Python 多线程多线程编程越来越流行，多线程的优点如下： 
- 使用线程可以把占据长时间的程序中的任务放在后台处理。 
- 程序运行速度加快 
- 在一些等待任务实现上如用户输入、文件读写和网络收发数据等，线程就比较有用。每个线程都有他自己的一组CPU寄存器，称为线程的上下文，该上下文反应了线程上次运行该线程的CPU寄存器的状态。 
指令指针和堆栈指针寄存器是线程上下文中两个重要的寄存器，线程总]]></description><category></category></item><item><title><![CDATA[java中的深拷贝与浅拷贝]]></title><link>https://blog.youkuaiyun.com/honghu110/article/details/60954158</link><guid>https://blog.youkuaiyun.com/honghu110/article/details/60954158</guid><author>honghu110</author><pubDate>Thu, 09 Mar 2017 09:19:02 +0800</pubDate><description><![CDATA[浅拷贝假设对象A1包含引用B1, B1中包含引用C1，那么如果是浅拷贝： 
只拷贝A1变为A2, 它的引用仍然指B1和C1。如果是深拷贝，则： 
不但拷贝A1为A2，还将B1拷贝为B2，C1拷贝为C2]]></description><category></category></item><item><title><![CDATA[java基础面试（2）]]></title><link>https://blog.youkuaiyun.com/honghu110/article/details/60338465</link><guid>https://blog.youkuaiyun.com/honghu110/article/details/60338465</guid><author>honghu110</author><pubDate>Sat, 04 Mar 2017 19:18:29 +0800</pubDate><description><![CDATA[7.ArrayList、LinkedList、Vector的区别。ArrayList 和vector是采用数组的方式存储数据的，此数组元素大于实际存储的数据以便增加插入元素，都允许直接序号索引元素，但是插入数据要涉及到数组元素移动等内存操作，所以插入数据慢，查找有下标，所以查询数据块。Vector由于使用synchronized方法-线程安全，所以性能上比ArrayList要差，LinkedList]]></description><category></category></item><item><title><![CDATA[java基础面试（1）]]></title><link>https://blog.youkuaiyun.com/honghu110/article/details/57413354</link><guid>https://blog.youkuaiyun.com/honghu110/article/details/57413354</guid><author>honghu110</author><pubDate>Sun, 26 Feb 2017 14:20:54 +0800</pubDate><description><![CDATA[java基础面试1.java中存在的9种数据类型以及他们 的封装类型？java 要确定每种基本数据类型所占存储空间的大小，他们的大小不像其他大多数语言那样随机器硬件架构的变化而变化，这种存储空间大小的不变性是java程序比用其他大多数语言编写的程序更具有可移植性的原因之一。
  基本类型
  大小
  最小值
  最大值
  包装器类型  boolean
  -
  -
  -
  Boolean]]></description><category></category></item><item><title><![CDATA[Linux 查看进程的线程数]]></title><link>https://blog.youkuaiyun.com/honghu110/article/details/57084169</link><guid>https://blog.youkuaiyun.com/honghu110/article/details/57084169</guid><author>honghu110</author><pubDate>Sat, 25 Feb 2017 16:42:28 +0800</pubDate><description><![CDATA[三种方法：1。 使用top命令，具体用法是 top -H    加上这个选项，top的每一行就不是显示一个进程，而是一个线程。
2。 使用ps命令，具体用法是 ps -xH    这样可以查看所有存在的线程，也可以使用grep作进一步的过滤。
3。 使用ps命令，具体用法是 ps -mq PID    这样可以看到指定的进程产生的线程数目。]]></description><category></category></item><item><title><![CDATA[Shell学习笔记]]></title><link>https://blog.youkuaiyun.com/honghu110/article/details/57084025</link><guid>https://blog.youkuaiyun.com/honghu110/article/details/57084025</guid><author>honghu110</author><pubDate>Sat, 25 Feb 2017 16:36:49 +0800</pubDate><description><![CDATA[Shell学习笔记Shell本身是一个用C语言编写的程序，它是用户使用Unix/Linux的桥梁，用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言，又是一种程序设计语言。Shell 有两种执行的方式： 
- 交互式：解释执行用户的命令，用户输入一条命令，Shell就执行一条命令。 
- 批处理：用户事先写好一个Shell脚本，其中有很多条命令，让Shell一次把这些命令执行完，而]]></description><category></category></item><item><title><![CDATA[java面试中的题解]]></title><link>https://blog.youkuaiyun.com/honghu110/article/details/57080116</link><guid>https://blog.youkuaiyun.com/honghu110/article/details/57080116</guid><author>honghu110</author><pubDate>Sat, 25 Feb 2017 14:22:21 +0800</pubDate><description><![CDATA[java面试中的题解1.面向对象的特征有哪些方面 
- 抽象：抽象是将一类对象的共同特征总结出来构造类的过程，包括数据抽象和行为抽象。 
- 继承：从已有类得到信息创建新类的过程，继承让软件系统具有了良好的延展性。 
- 封装： 把数据和操作数据的方法绑定在一起，对数据的访问只能通过固有的接口定义。隐藏一切可以隐藏的东西，对外提供的只是最简单的接口。 
- 多态：是同样的对象引用调用同样的方法但是做]]></description><category></category></item><item><title><![CDATA[决策树]]></title><link>https://blog.youkuaiyun.com/honghu110/article/details/56665705</link><guid>https://blog.youkuaiyun.com/honghu110/article/details/56665705</guid><author>honghu110</author><pubDate>Thu, 23 Feb 2017 09:46:19 +0800</pubDate><description><![CDATA[决策树1.目标 
决策树的目标是根据给定的训练数据集构建一个决策树模型，使它能够对未知数据类型的数据进行 正确分类，其中输入数据的格式为： 
D={(x1,y1),(x2,y2),...,(xn,yn)}D=\{(x_1,y_1),(x_2,y_2),...,(x_n,y_n)\} 
其中 xi=(x(1)i,x(2)i,...,x(n)i)x_i=(x_i^{(1)},x_i^{(2)},...,]]></description><category></category></item><item><title><![CDATA[工厂模式]]></title><link>https://blog.youkuaiyun.com/honghu110/article/details/55511310</link><guid>https://blog.youkuaiyun.com/honghu110/article/details/55511310</guid><author>honghu110</author><pubDate>Fri, 17 Feb 2017 15:47:23 +0800</pubDate><description><![CDATA[工厂模式一、目录什么是工厂模式 
工厂模式类图 
工厂模式代码 
工厂模式应用 
PS：学习 Java 设计模式之前最好有一定的 Java 语言基础。由于讲这种东西其实比较枯燥，为了让大家学习起来轻松愉快一点，我会尽量使用一些生动、形象和幽默的例子。二、什么是工厂模式工厂模式（Factory Pattern）的意义就跟它的名字一样，在面向对象程序设计中，工厂通常是一个用来创建其他对象的对象。工厂模式]]></description><category></category></item><item><title><![CDATA[设计模式简介]]></title><link>https://blog.youkuaiyun.com/honghu110/article/details/55511239</link><guid>https://blog.youkuaiyun.com/honghu110/article/details/55511239</guid><author>honghu110</author><pubDate>Fri, 17 Feb 2017 15:42:31 +0800</pubDate><description><![CDATA[一、目录
什么是设计模式
设计模式原则
设计模式分类
二、什么是设计模式在软件工程中，【设计模式】是对软件设计中普遍存在的各种问题，所提出的 解决方案。换句话说，设计模式是一套被反复使用、多数人知晓的、经过分类的、代码设计的 经验的总结。使用设计模式是为了可重用代码，让代码更容易被他人理解，保证代码可靠性。三、 设计模式原则1、开闭原则（Open Close Principle）开闭原则的意思是：对]]></description><category></category></item><item><title><![CDATA[梯度下降与反向传播详解]]></title><link>https://blog.youkuaiyun.com/honghu110/article/details/55211228</link><guid>https://blog.youkuaiyun.com/honghu110/article/details/55211228</guid><author>honghu110</author><pubDate>Wed, 15 Feb 2017 16:16:52 +0800</pubDate><description><![CDATA[梯度下降
对于机器学习中其中一个主要的步骤是构造Cost函数，当构建好Cost函数后需要对Cost函数进行优化，使得Cost值最小。 
* 策略1：随机寻找（不太实用） 
  最直接粗暴的方法就是，我们尽量多地去试参数，然后从里面选那个让损失函数最小的参数组，最为最后的W。 
* 策略2：随机局部搜索 
在现有的参数W基础上，随机搜索一下周边的参数，查看有没有比现在更好的W，然后用新的W替换现有的W]]></description><category></category></item><item><title><![CDATA[vim使用总结]]></title><link>https://blog.youkuaiyun.com/honghu110/article/details/55195279</link><guid>https://blog.youkuaiyun.com/honghu110/article/details/55195279</guid><author>honghu110</author><pubDate>Wed, 15 Feb 2017 14:21:28 +0800</pubDate><description><![CDATA[vim使用总结（本文为完成实验楼实验的心得） 
1.vim的几种使用模式 
我们日常中使用最多的两种模式是“编辑模式”和“插入模式”，其实Vim具有6种基本模式和5种派生模式，这里只简单介绍下6种基本模式：
  普通模式(Normal mode) 
      插入模式(Insert mode) 
      可视模式(Visual mode) 
      选择模式(Select mode)]]></description><category></category></item><item><title><![CDATA[机器学习数学基础（二）概率]]></title><link>https://blog.youkuaiyun.com/honghu110/article/details/55101749</link><guid>https://blog.youkuaiyun.com/honghu110/article/details/55101749</guid><author>honghu110</author><pubDate>Tue, 14 Feb 2017 16:54:20 +0800</pubDate><description><![CDATA[机器学习数学基础（二）概率
累计分布函数 
FX(x)=P(X≤x)F_X(x)=P(X \leq x ) 
P(a<X<b)=FX(b)−FX(a)P(a<X <b )=F_X(b)-F_X(a)    
主要表示的是概率的累计分布，方便与我们查找（a~b）之间的概率通过公式2来表示，但是当我们需要计算的a-b之间的有时候不容易计算，比如在(−∞,1)(-\infty ,1)区间内不容易计算，于是]]></description><category></category></item><item><title><![CDATA[机器学习中的数学知识（-）梯度下降数学理论]]></title><link>https://blog.youkuaiyun.com/honghu110/article/details/55052909</link><guid>https://blog.youkuaiyun.com/honghu110/article/details/55052909</guid><author>honghu110</author><pubDate>Mon, 13 Feb 2017 20:10:42 +0800</pubDate><description><![CDATA[机器学习中的数学知识微积分：f′(a)=limx→0f(a+h)−f(a)hf'(a)=lim_{x \to 0} \frac{f(a+h)-f(a)}{h} 
常见的函数的导数：
  (xa)′=axa−1(x^a)’=ax^{a-1} 
  (ex)′=ex(e^x)’=e^x 
  (ax)′=ln(a)ax(a^x)’=ln(a)a^x 
  (ln(x))′=1x(ln(x))’=\fra]]></description><category></category></item><item><title><![CDATA[spark 读取CSV文件]]></title><link>https://blog.youkuaiyun.com/honghu110/article/details/55001096</link><guid>https://blog.youkuaiyun.com/honghu110/article/details/55001096</guid><author>honghu110</author><pubDate>Sun, 12 Feb 2017 13:45:03 +0800</pubDate><description><![CDATA[1. spark 读取CSV文件；可以直接使用DataBricks的第三方包来读取CSV文件，下载第三方包后放入指定路径
  1.1  定义数据格式 
        导入数据之前我们需要按照具体的数据格式定义数据格式 
  采用StructType定义字段格式，与数据集中的各个字段一一对应。
// StructField 中的的三个参数分别为字段名称、字段数据类型和是否不允许为空。
val fie]]></description><category></category></item></channel></rss>