- Uber与斯坦福大学开源深度概率 11-05
- Java 多线程知识小抄集 ( 11-05
- Java 学习路线 11-05
- 比现有软件包快100倍!新型计算 11-05
- 从零学习Java编程都有哪些学习 11-05
- 为什么软件开发,人多事少,还会工 11-05
- Linux kernel中断子系 11-05
- 阿里巴巴Java开发手册(终极版)下载 11-04
- 阿里巴巴Java开发手册(终极版),阿里巴巴,Jav 11-04
- 2017 年度 Linux 内核 11-04
Uber与斯坦福大学开源深度概率编程语言Pyro:基于P
发布者: super | 发布时间:2017-11-05
选自Uber
作者:Noah Goodman等
参与:黄小天、刘晓坤
近日,Uber AI Lab 与斯坦福大学的研究团队开源了全新概率编程语言 Pyro。该语言基于 Python 与 PyTorch 之上,专注于变分推理,同时支持可组合推理算法。Pyro 的目标是更加动态(通过使用 PyTorch)和通用(允许递归)。它有一个灵活的基元库,用于创建新的推理算法并使用概率程序。Pyro 中可组合推理的核心抽象是 poutine(Pyro Coroutine 的简称)。Pyro 的推理算法是通过将 poutine 应用于随机函数来构建的。
原标题:Java 多线程知识小抄集 ( 一 )
来源:朱小厮,
blog.csdn.net/u013256816/article/details/51325246
本文主要整理博主遇到的Java多线程的相关知识点,适合速记,故命名为“小抄集”。本文没有特别重点,每一项针对一个多线程知识做一个概要性总结,也有一些会带一点例子,习题方便理解和记忆。
1. interrupted与isInterrupted的区别
interrupted():测试当前线程是否已经是中断状态,执行后具有状态标志清除为false的功能。
isInterrupted():测试线程Thread对象是否已经是中断状态,但不清除状态标志。
方法:
public static boolean interrupted() {
return currentThread().isInterrupted(true);
}
public boolean isInterrupted() {
Java 学习路线
发布者: super | 发布时间:2017-11-05
来源:Jabari,
www.jianshu.com/p/d51551b0a8ba
Java是一个通用的编程语言,其实可以干很多事,怎么学Java就看怎么用了,但有一些一般的步骤:
熟悉一种文本编辑器,比如Vim, Emacs, Notepad++, TextMate等。知道哪些是开源的,哪些是闭源的,哪些要收费。养成不用盗版软件的习惯。
安装JDK(建议用你的Linux发行版自带的软件包管理器安装openjdk,过程中可能需要读发行版特定的文档)
写一个Java的Helloworld程序,并用命令行工具javac编译,再用java命令运行这个程序。过程中熟悉源代码、字节码、虚拟机这些东西,以及Java的包(package)对.class文件所在的路径的影响。如果这两个命令行工具使用熟练了,可以开始选一个喜欢的集成开发环境,比如Eclipse。当然,养成不用盗版软件的习惯。熟悉一下如何建立“工程”,以及快捷键的使用。
学习Java的面向过程编程,包括基本数据结构、表达式、语句、控制流、
比现有软件包快100倍!新型计算系统成编译优化领域重磅突
发布者: super | 发布时间:2017-11-05
张量计算从爱因斯坦时代起就是科学研究的重要内容。大数据时代,大数据和机器学习对稀疏张量(绝大多数元素为 0 的稀疏数组)的计算要求越来越高。
近日,MIT 的一款新系统可以自动生成针对稀疏张量计算等操作的代码,比当前常用的软件包快 100 倍,被誉为“近年来在编译优化领域最令人激动的进步之一”。
我们生活在一个大数据的时代,但是绝大多数的数据都是“稀疏的”。想象一下,比如说,一个超大规模的表格,它存储着所有的亚马逊的顾客和所有商品的对应信息,如果一个顾客购买了某样商品,就存储一个“1”,否则为“0”。那么这个表格的绝大部分数据都会是 0。
面对这样稀疏的数据,分析算法最终要做大量有 0 参与的加法和乘法,这是对计算资源的一种浪费。
原标题:从零学习Java编程都有哪些学习技巧【学习必看】
没有编程基础的定义是没有写过程序的,没有学过相关的课程,之前没有深入了解相关的概念。一切从零开始,并不是说对计算机一窍不通。如果,你对计算机一窍不通,那么建议你先搞懂计算机,再来考虑是否学习Java从事Java程序开发最好是对软件开发感兴趣,大专生或者本科生都比较合适,理工科的学生是最合适的,不过爱好英语专业的学生也是比较合适,纯粹文科的如果有兴趣也可以,不过努力要多多付出。
很多Java编程初学者在刚接触Java语言程序的时候,不知道该学习掌握哪些必要的基础知识。
一、先明白了解什么是Java的四个方面。
Java编程语言,即语法。
Java文件格式,即各种文件夹、文件的后缀。
Java虚拟机(JVM),即处理*.class文件的解释器。
Java应用程序接口(JavaAPI)。
要知道java是分两部分的:一个是编译,一个是运行。
javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指定扩展名的.java文件进行编
为什么软件开发,人多事少,还会工作量大?
发布者: super | 发布时间:2017-11-05
本文所要分享的是软件开发过程中,亲身经历过的“怪现象”。为什么说怪呢,人多力量大,似乎才符合常理,但是往往在软件项目开展的过程中会出现人多、事少、工作量大的情况,这跟我们以往的认知大相径庭。
首先,要解释下标题的意思。「人多」,指的是同一个项目团队、同一个小组或者同一个部门的范围内;「事少」, 指的是做出的效果,真正的产出少;「工作量大」,指的是,工作时间长,工作忙,实际的投入大。
其实,「人多事少工作量大」,说白了就是效率低,而影响效率的,原因千万种,有人员问题、沟通问题、流程问题、管理问题、技术问题,下面零散地列举下博主亲身经历过的问题:
一线工作人员,没让专业的人做专业的事,导致效率低
没让专业的人做专业的事情, 是工作开展的大忌,在工业上,早已证明了一切,在工厂生产中,工人流水化作业,一个人
Linux kernel中断子系统之(五):驱动申请中断
发布者: super | 发布时间:2017-11-05
作者:linuxer
一、前言
本文主要的议题是作为一个普通的驱动工程师,在撰写自己负责的驱动的时候,如何向Linux Kernel中的中断子系统注册中断处理函数?为了理解注册中断的接口,必须了解一些中断线程化(threaded interrupt handler)的基础知识,这些在第二章描述。第三章主要描述了驱动申请 interrupt line接口API request_threaded_irq的规格。第四章是进入request_threaded_irq的实现细节,分析整个代码的执行过程。
二、和中断相关的linux实时性分析以及中断线程化的背景介绍
1、非抢占式linux内核的实时性
在遥远的过去,linux2.4之前的内核是不支持抢占特性的,具体可以参考下图:
阿里巴巴Java开发手册(终极版)下载
发布者: super | 发布时间:2017-11-04《阿里巴巴Java开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验及不
阿里巴巴Java开发手册(终极版),阿里巴巴,Java开发手册,终极版
发布者: super | 发布时间:2017-11-04前言
《阿里巴巴Java开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验及不断的完善,系统化地整理成册,反馈给广大开发者。现代软件行业的高速发展对开发者的综合素质要求越来越高,因为不仅是编程知识点,其它维度的知识点也会影响到软件的最终交付质量。比如:数据库的表结构和索引设计缺陷可能带来软件上的架构缺陷或性能风险;工程结构混乱导致后续维护艰难;没有鉴权的漏洞代码易被黑客攻击等等。所以本手册以Java开发者为中心视角,划分为编程规约、异常日志、单元测试、安全规约、工程结构、MySQL数据库六个维度,再根据内容特征,细分成若干二级子目录。根据约束力强弱及故障敏感性,规约依次分为强制、推荐、参考三大类。对于规约条目的延伸信息中,“说明”对内容做了适当扩展和解释;“正例”提倡什么样的编码和实现方式;“反例”说明需要提防的雷区,以及真实的错误案例。
本手册的愿景是码出高效,码出质量。现代软件架构都需要协同开发完成,高效协作即降低协同成本,提升沟通效率,所谓无规矩不成方圆,无规范不能协作。众所周知,制订交通法规表面上是要限制行车权,实际上是保障公众的人身安全。试想如果没有限速,没有红绿灯,谁还敢上路行驶。对软件来说,适当的规范和标准绝不是消灭代码内容的创造性、优雅性,而是限制过度个性化,以一种普遍认可的统一方式一起做事,提升协
2017 年度 Linux 内核开发报告公布
发布者: super | 发布时间:2017-11-04
来源:Solidot
www.solidot.org/story?sid=54266
Linux 基金会公布了2017 年度的内核开发报告,主要覆盖 Kernel 4.8 到 4.13。自采用 Git 以来有来自 1400 多家公司的约 15,600 名开发者向内核贡献了代码;从 4.8 到 4.13,来自 500 多家公司的约 4300 名开发者贡献了代码,其中 1,670 名开发者是首次贡献;
10 家贡献最多的企业分别是 Intel、Red Hat、Linaro、IBM、Samsung、SUSE、Google、AMD、Renesas 和 Mellanox;
过去一年内核每小时接受的变更数为 8.5,高于上一次报告的 7.8,换算成 24 小时就是 204 次变更,每周超过 1400;