摘要:
Java开发、Spring学习之路、Linux/Ubuntu、数据库开发、设计模式、Python、排序算法、数据结构和算法笔记、五大经典算法、网络协议、SDN、虚拟化技术、Android开发、C#开发、PHP 阅读全文
摘要:
感知机学习及实践 感知机是二分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值。感知机对应于输入空间中将实例划分为正负两类的分离超平面,属于判别模型,感知机学习旨在求出将训练数据进行线性划分的分离超平面。为此,导入基于误分类的损失函数,利用梯度下降法对损失函数进行极小化, 阅读全文
摘要:
统计学习方法概论 统计学习定义:统计学习是关于计算机基于数据构建概论统计模型并运用模型对数据进行预测与分析的一门学科。统计学习也统称为统计机器学习。从定义中可以看出统计学习的对象是数据,通过提取数据特征,抽象出数据的模型,发现数据中的知识,又回到对数据的分析与预测中去。 相关概念 统计学习主要有以下 阅读全文
摘要:
PHP初体验 提笔写初体验总不知道从何说起,直接聊PHP中的函数、PHP网络技术、数据库操作、PHP模板等感觉又不是初体验。最后还是决定从PHP的面向对象、PHP的魔术方法、PHP的反射、PHP中的异常和错误这4个方面简单介绍一下。 PHP面向对象的“形”与“本” 这里我们就不给面向对象下定义了,不 阅读全文
摘要:
Ubuntu14.04安装samba 按照惯例,首先介绍Samba。Samba是在Linux系统上实现的SMB(Server Messages Block,信息服务块)协议的一款免费软件。它实现在局域网内共享文件和打印机,是一个客户机/服务器型协议。客户机通过SMB协议访问服务器上的共享文件系统。 阅读全文
摘要:
Hashtable、ConcurrentHashMap源码分析 为什么把这两个数据结构对比分析呢,相信大家都明白。首先二者都是线程安全的,但是二者保证线程安全的方式却是不同的。废话不多说了,从源码的角度分析一下两者的异同,首先给出二者的继承关系图。 Hashtable类属性和方法源码分析 我们还是先 阅读全文
摘要:
MySQL查询性能优化 MySQL查询性能的优化涉及多个方面,其中包括库表结构、建立合理的索引、设计合理的查询。库表结构包括如何设计表之间的关联、表字段的数据类型等。这需要依据具体的场景进行设计。如下我们从数据库的索引和查询语句的设计两个角度介绍如何提高MySQL查询性能。 数据库索引 索引是存储引 阅读全文
摘要:
Java NIO 以前写过一篇Java Socket的用法,不过觉得介绍的不够细致也不够全面,因此今天想在细谈一下Java NIO,也算是对上一篇博客的补充吧。在以前的博客中提到Java NIO的三个核心部分Buffers、Channels、Selectors,这里不再赘述三者之间的关系,接下来我们 阅读全文
摘要:
内存分配与回收策略 Java技术体系中的自动内存管理最终可以归结为自动化地解决两个问题:给对象分配内存和回收分配给对象的内存。关于内存回收这一点,我们在Java垃圾收集机制中详细介绍了各种回收算法以及JVM中常见的收集器。接下来我们主要看看JVM是如何给对象分配内存的。 对象的内存分配,往大的方向上 阅读全文
摘要:
Java垃圾收集机制 博客起名为Java垃圾收集机制,给人的感觉就像是垃圾收集是Java语言特有的。事实上,垃圾收集(Garbage Collection)远比Java久远。垃圾收集需要考虑3件事情:哪些内存需要回收、什么时候回收、如何回收。带着这三个问题,我们去看看Java是如何实现垃圾回收的。 阅读全文
摘要:
首先我想从宏观上介绍一下Java虚拟机的工作原理。从最初的我们编写的Java源文件(.java文件)是如何一步步执行的,如下图所示,首先Java源文件经过前端编译器(javac或ECJ)将.java文件编译为Java字节码文件,然后JRE加载Java字节码文件,载入系统分配给JVM的内存区,然后执行 阅读全文