0%

synchronized作为内置锁,使用简单,不易出错,然鹅确有相当的局限性,例如,无法从等待获取锁的阻塞中中断,无法设置获取锁的超时。
所以JUC提供了另一种更灵活的加锁方式,即Lock。

Java并发编程最常用和易用的技术莫过于synchronized关键字,而Scala的并发编程之旅也可以从synchronized开始。而synchronized的背后其实是monitor技术。

Maven的所有实际操作都是由插件完成的,如果没有插件,Maven什么都不会干。
(即时你没有在POM中配置<plugin>元素,Super POM中也已经帮你引入了若干核心插件)

那么问题来了,项目构建过程中,Maven是怎么知道应该在什么时候调用哪个插件的呢?

插件的调用时机,跟’生命周期’和’插件目标’有很大关系。

本文将介绍使用Hive强大的窗口函数,解决实际问题的方法,仅供参考。

简介

《黑客与画家》是硅谷创业之父Paul Graham的文集,这里的黑客指的是优秀的软件工程师,作者将黑客与画家作比较,认为与黑客最接近的职业是画家,这便是这本书书名的由来了。
Paul Graham在1995年创办了Viaweb,帮助个人用户方便的开设网上商店,1998年以5千万美元的价格卖给Yahoo公司。
2005年他创建了风投公司YC,被称为全世界最牛的创业孵化器,YC帮助了大量的创业公司(到2018年投资了1450家公司),比较成功的案例有:Airbnb,Stripe,Dropbox,Docker,GitLab等等。

这本书中包含了作者对黑客精神,创业,互联网,社会,编程语言的诸多观点,读完让人感觉受益匪浅,甚至会有创业的冲动,哈哈。

以下是对这本书内容的一些摘抄。

简介

从 spark 2.0 开始,我们可以使用DataFrameReader 和 DataFrameWriter来读写MySQL。

基于用户的协同过滤

基于用户的协同过滤,即User-Based CF (User-Based Collaborative Filtering),是基于一个这样的假设“跟你爱好相同的人喜欢的物品,你很可能也喜欢”,所以User-Based CF主要的任务就是找出用户的最近邻居,从而根据最近邻居的喜好做出未知项的评分预测。
User-Based CF算法可以分为4个步骤:数据表示、最近邻查询、评分预测、推荐结果产生。

个性化推荐系统简介

个性化推荐系统的定义在 1997 年由 Resnick 和 Varian 提出:利用互联网向用户提供信 息和建议,帮助用户选择产品,或模拟售货员帮助用户完成购买行为的系统 。通常推荐 由三个要素组成:推荐算法、用户、候选推荐项目。简单来说,一次推荐过程就是推荐算 法从候选推荐项目中挑出某些项目给用户。