- 博客(124)
- 资源 (2)
- 收藏
- 关注
转载 一次毕生难忘的 Java 内存泄漏排查经历
这里写自定义目录标题在一个凄凉的午夜一定是网络的问题一定是 GC 的问题一定是内存泄漏真有这么糟糕吗?还是不行那现在是怎么回事?修复由修复引起的问题再次优化 GC结论人人都会犯错,但一些错误是如此的荒谬,我想不通怎么会有人犯这种错误。更没想到的是,这种事竟发生在了我们身上。当然,这种东西只有事后才能发现真相。接下来,我将讲述一系列最近在我们一个应用上犯过的这种错误。最有意思的是,一开始的迹象揭示...
2019-08-23 22:18:28
734
1
原创 数据库规范化,数据库范式,和规范化实例
什么是数据库规范化维基百科的定义如下:数据库规范化,又称数据库或资料库的正规化、标准化,是数据库设计中的一系列原理和技术,以减少数据库中数据冗余,增进数据的一致性。数据库范式是埃德加·科德设计出来的。在1970年代初,他定义了第一范式(First normal form)、第二范式(Second normal form),和**第三范式(Third normal form)**的概念。数...
2019-02-27 22:37:19
8131
原创 机器学习之参数估计
Probability Theory focus on computing the probability of data arising from a parametric model with known parameters. Statistical Inference flips this on its head: we will estimate the probability of p...
2018-04-07 19:29:57
8230
原创 大数定律与中心极限定理
Be able to use the central limit theorem to approximate probabilities of averages and sums of independent identically-distributed random variables.
2018-03-09 20:20:41
13530
原创 分治法 ( Divide And Conquer ) 详解
在这篇 blog 中,我首先会介绍一下分治法的范式,接着给出它的递归式通式,最后我会介绍三种方法(代入法,递归树,和主方法)求解递归式
2018-01-29 22:06:39
41637
2
原创 MIT 18.06 线性代数总结(Part II)
本文是对 MIT 18.06 线性代数的总结,非常感谢 Gilbert Strang 教授的付出,从课程中收获很多...
2018-01-21 07:56:51
3372
原创 MIT 18.02 多变量微积分总结(Part II)
本文是对 MIT 18.02 多变量微积分的总结,非常感谢 Denis Auroux 教授的付出,从课程中收获很多......
2018-01-18 19:03:25
4054
原创 MIT 18.02 多变量微积分总结(Part I)
本文是对 MIT 18.02 多变量微积分的总结,非常感谢 Denis Auroux 教授的付出,从课程中收获很多...
2018-01-05 15:35:53
5788
原创 MIT 18.01 单变量微积分总结
本文是对 MIT 18.01 单变量微积分的总结,非常感谢 David Jerison 教授的付出,从课程中收获很多.........
2018-01-05 13:35:05
8704
原创 MIT 18.06 线性代数总结(Part I)
本文是对 MIT 18.06 线性代数的总结,非常感谢 Gilbert Strang 教授的付出,从课程中收获很多......
2018-01-02 14:43:27
6503
原创 GDB - COMMANDS
引言转载自:GDB - Commands在做 CSAPP 的 Lab 时,找到这个:最常用的 GDB 命令内容GDB offers a big list of commands, however the following commands are the ones used most frequently:b main - Puts a breakpoint at the ...
2017-12-16 23:11:49
1341
原创 (个人笔记)英语语法之动词时态
引言我的笔记对动词加上完成元素Present perfect tenseThe time of the action is before now but not specified, and we are often more interested in the result than in the action itself.我主要把握以下5点它的使用场景:An a...
2017-10-25 12:11:19
2658
原创 TCP 简介
什么是 TCP 的三次“握手”?相信大部分人都知道这个面试中常问的面试题,在这篇文章中,我会详细地解释它的细节,到时候你会发现,这是个非常简单的问题。
2017-08-11 16:50:23
7457
2
原创 Reliable Data Transfer Protocol 的原理剖析
相信了解网络的人都知道,TCP 是一个 Reliable Data Transfer 的协议,那么在如此复杂的网络环境下,TCP 是如何实现这个功能的?在这篇文章中,我不会把 Reliable Data Transfer 局限在 TCP 上,我会介绍它的原理,以及实现这样的功能我们需要做哪些事情......
2017-08-03 09:11:39
6780
原创 一篇文章总结微积分中的所有重要概念
这篇文章介绍了微积分中所有的重要概念,让大家在宏观上知道微积分这门学科主要在研究什么。这篇文章并没有涉及到这些概念的具体细节,因此大多数人可以很容易地理解它,并掌握微积分中的重点,从而使大家更有针对性地学好微积分这门课程。
2017-05-02 11:21:19
4942
原创 深入理解 java 中的 Soft references & Weak references & Phantom reference
这篇文章中主要介绍了java中的Soft references、Weak references 和Phantom reference,通过讲解这些知识点,例举了几个经典的内存泄露问题。如果你正走在成为一名Java高级工程师的路上,那么这篇文章非常适合你。
2017-03-01 22:21:58
7969
6
原创 怎样写好Git的commit信息
从一个开发者的commit日志中,就可以看出他是不是个很好地合作者。这篇文章介绍了写好commit日志需要地规则,跟着这篇文章,让我们成为一个优秀的合作者吧。
2017-02-09 21:09:18
14125
2
原创 Java并发系列 - Java Concurrency Utilities 之 Executor 框架
现在大部分的应用都需要并发,并且这些并发应用变得越来越复杂,因此Java最初给我提供的并发手段(比如:`synchronized` `volatile` `wait()` `notify()`)等越来越难以满足我们开发并发应用的需求。如果使用这些原始的并发手段,程序员需要更高的编程能力,增加开发时间,导致我们浪费很多精力在并发应用的正确性上,而不能只专注于我们自己手上的业务。
2017-01-28 19:08:15
813
翻译 常用的数据结构操作与排序算法的时间和空间复杂度
大家好!这篇文章包含了计算机科学中常用算法的时间和空间复杂度。过去准备技术面试的时候,我通常需要花费很多时间去网上搜索这些算法的最好、平均和最坏情况的复杂度,然后把它们归纳总结在一起,使得我在面试问到的时候不会被难住。在过去的几年里,我面试了一些硅谷的创业公司,也有一些像Google, Facebook, Yahoo, LinkedIn, 和 eBay这样的大公司,当我每一次准备面试时,我自己就
2017-01-21 18:43:34
920
原创 多个CPU和多核CPU以及超线程(Hyper-Threading)详解
在这篇文章中我会主要介绍CPU相关的一些重要概念和技术。如果你想更好地了解操作系统,那就从本文开始吧。
2017-01-15 21:31:28
28792
1
原创 对 Practical Vim 一书的总结
如果有一个神器让你在编辑文件的过程中不需要用到鼠标(有些人可能会说,我一直用笔记本的触摸板,从没用到过鼠标,哈哈),你会用它吗?但是如果这个神器需要一点学习成本,你会选择使用它吗?我相信这个答案会因人而异,因为每个决定的背后都有一个 trade-off,就像算法一样(在空间与时间之间做出选择),所以找出当下环境下适合自己的决定才是最重要的。
2017-01-12 21:22:37
559
原创 从Vim小白到Vim superstar
引言我的图形界面环境(GUI)编辑器一直是gedit,而命令行环境(CLI)的编辑器一直是Vim. 我一直想写一篇关于如何使用VIM的文章,但是我感觉使用Vim首先就是应该熟练掌握它强大地命令,从而才能高效地使用这个编辑器,所以我感觉写一篇罗列各种命令的文章毫无任何意义,因此就一直拖延到现在。但是,最近看到了老外写的一篇关于Vim的文章,感觉写的太好了。就像他说的那样,一旦你读完了文章,你就可以成为
2017-01-08 21:58:33
5305
原创 Java应用缓存介绍与LRU(Least Recently Used)算法
对于大规模的Java Web应用来说,会有大量的数据和大量的用户,对于如何提升网站的响应速度成为了我们开发人员的一个挑战。对于缓存来说,它可以解决其中的一部分问题。在这篇文章中,我会介绍什么是缓存,它的工作流程是什么样的,被缓存的数据应该具有什么样的特性。最后我会介绍一个非常受欢迎的缓存算法 - LRU,并给出了一个具体的实现。
2016-11-17 17:27:31
1286
原创 Spring MVC源码剖析
想以源码的角度了解Spring MVC的世界吗?想了解Spring MVC内部是如何工作的吗?如果答案是yes,那么这篇文章适合你。
2016-10-30 11:09:18
1125
原创 排序算法算法之Bubble Sort
在接下来的一段时间里,我准备整理一下自己的博客。尽自己最大努力把几年前写过的文章都看一遍,把一些存在错误的文章修改一下、把没有必要修改的文章删掉以及把一些知识点不全的文章进行完善。之所以整理自己的博客有以下3点原因
2016-10-25 10:15:18
5015
原创 Hotspot虚拟机- 垃圾收集算法和垃圾收集器
当提到Java虚拟机的时候,我们首先应该区分2件事情。一个是抽象的[Java虚拟机规范](https://docs.oracle.com/javase/specs/jvms/se7/html/),另一个是根据这个规范具体的实现。市面上有很多根据这个规范实现的虚拟机,比如jRockit、IBM J9、Hotspot等。那么在这篇文章中,我只介绍关于Hotspot虚拟机的行为,以及它里面提供的垃圾收集器。
2016-10-19 13:38:14
1746
原创 Servlet之存在安全隐患的域对象
我一直不愿意删除我几年前写的blog,这并不是因为我先前写的有多么的好,我只是认为它代表着每一阶段自己的技术水平,就像是一段记忆一样,等到过几年再次看到的时候能回忆起当时很多的事情。但是,随着自己技术水平的提高,我会发现自己先前写的文章(甚至有的不能算是文章,仅仅是几个API的功能)有很多错误的地方,而且一篇文章就能写完的东西却分散在几篇文章中。
2016-10-10 22:57:59
1317
原创 Logistic Regression、Linear Discriminant Analysis、Shrinkage Methods(Ridge Regression and Lasso)
引言Logistic RegressionDefault数据集描述,详细信息在第6页。数据集下载logistic regression 是一个线性模型用于做分类的,它直接对Y属于某个类别的概率进行建模。比如对于Default数据集来说,Pr(default = Yes | balance, student, income). 这也就是说,对于任何给定的balance, stud
2016-08-20 17:18:37
4844
原创 学好机器学习必会的统计学知识(第二篇)
引言在机器学习应用中,我们不可能离开数据。没有了数据,机器学习算法就像没有了灵魂。更好地理解数据,可以使我们把它更好地应用在机器学习上。在这篇文章中,我会介绍一些在统计学中,理解数据的一些重要概念,从而使大家更准确地操作数据,玩转数据。注意:在这篇文章中会涉及到很多名词和定义,我就直接用英文了,因为这更加容易理解,翻译成汉语以后会让人更加混乱了。Populations and Parameters
2016-08-13 14:41:09
28861
原创 学好机器学习必会的统计学知识(第一篇)
在机器学习应用中,我们不可能离开数据。没有了数据,机器学习算法就像没有了灵魂。更好地理解数据,可以使我们把它更好地应用在机器学习上。在这篇文章中,我会介绍一些在统计学中,理解数据的一些重要概念,从而使大家更准确地操作数据,玩转数据。
2016-08-09 21:30:47
7747
原创 Scrapy实战之抓取豆瓣图书
引言为了能更方便地选择自己喜欢的书籍,我自己写了一个Scrapy项目用来抓取豆瓣上的书籍。抓取的内容包括书籍的书名、作者、书信息、1到5星的百分数、评分和评论数。通过获取到的这些数据,我们可以做相应的分析。比如:我们可以抓取某一类书箱,看看哪本书的评论数最多或者评价分数最高。当然了,我指的这个是最简单的处理了。复杂一点的你可以用Python或R来分析相应变量之间的关系,比如:是否评论数越多书的评分越
2016-08-03 22:29:45
2243
转载 Understanding the Bias-Variance Tradeoff (理解偏差-方差权衡)
引言如果你想深入地理解偏差-方差,这篇文章再好不过了。我转载自Understanding the Bias-Variance Tradeoff,Trust me,这绝对是你不想错过的文章。如果你的网络不好,就先看我下面转载的。如果你的网络很好,去查看原文,里面有一些非常棒的小功能,我没法转载过来,比如在用K近邻举例的时候,你可以实时微调K值并查看决策边界。Hope you enjoy this ar
2016-07-12 21:36:05
5816
原创 R实战之从头到尾分析广告数据集
前言这篇文章主要用简单的线性回归模型来介绍统计学中一些很重要的概念。比如:置信区间(confidence interval)、t-statistic、p-value、R2R^2 statistic和F-statistic等一些概念。我会用具体的数据集来分析这些值分别意味着什么?并用具体的R代码来分析数据集并做出一个好的决策?数据分析之前的几个重要问题在提出问题之前,我先介绍一下Advertising
2016-07-10 20:35:17
6128
19
原创 Bagging(Bootstrap aggregating)、随机森林(random forests)、AdaBoost
在这篇文章中,我会详细地介绍Bagging、随机森林和AdaBoost算法的实现,并比较它们之间的优缺点,并用scikit-learn分别实现了这3种算法来拟合Wine数据集。全篇文章伴随着实例,由浅入深,看过这篇文章以后,相信大家一定对ensemble的这些方法有了很清晰地了解。
2016-05-23 23:14:02
24654
1
原创 决策树ID3、C4.5、C5.0以及CART算法之间的比较-并用scikit-learn决策树拟合Iris数据集
引言在这篇文章中,我主要介绍一下关于信息增益,并比较ID3、C4.5、C5.0以及CART算法之间的不同,并给出一些细节的实现。最后,我用scikit-learn的决策树拟合了Iris数据集,并生成了最后的决策树图片信息增益(information gain (IG))在介绍信息增益之前,我想先介绍3种不纯度的度量手段,它们分别是Gini index(IG)、entropy(IH)、classifi
2016-05-21 20:57:55
34183
3
原创 机器学习系统模型调优实战--所有调优技术都附相应的scikit-learn实现
引言如果你对机器学习算法已经很熟悉了,但是有时候你的模型并没有很好的预测效果或者你想要追求更好地模型性能。那么这篇文章会告诉你一些最实用的技术诊断你的模型出了什么样的问题,并用什么的方法来解决出现的问题,并通过一些有效的方法可以让你的模型具有更好地性能。介绍数据集这个数据集有569个样本,它的前两列为唯一的ID号和诊断结果 (M = malignant, B = benign) ,它的3->32列为
2016-05-09 20:42:26
11823
原创 numpy.bincount详解
引言我一般不愿意去写关于api怎么用的博客,因为出api的官网已经很详细地介绍了它们api的作用。今天,我的一个同学问到我numpy.bincount这个的用法,当时我有些事情,我和他说你先去百度一下吧,自己先看看,如果实在不行了我忙完给你解释一下。当然了,我同学的英语水平不怎么好,它不会去查看英文文档,因此他只能看百度搜索出来的一些博客,但是,所有的文章基本相同,当然了,我不知道哪个篇文章是源头。
2016-05-08 18:47:25
105866
34
原创 PCA详解-并用scikit-learn实现PCA压缩红酒数据集
在这篇文章中,我会介绍一些PCA背后的数学概念,然后我们用Wine数据集作为实例,一步一步地实现PCA。最后,我们用更加强大的scikit-learn方便快速地实现PCA,并用逻辑回归来拟合用PCA转换后的数据集。为了让大家更好地理解PCA,整篇文章都贯穿着实例,现在,让我们享受这篇文章吧。
2016-05-07 21:23:14
14335
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人