- Julia:世界上知名的大公司都 09-24
- 25行Python代码实现人脸识 09-24
- 程序员应该避免的5种代码注释 09-24
- Linux系统该怎么学?运维老鸟 09-24
- 浅谈 HotSpot 逃逸分析 09-24
- 成为一个高级Java架构师所需要 09-24
- Java总结篇系列:Java泛型 09-24
- Java并发控制机制详解 09-21
- Java正则表达式详解 09-21
- Spring bean 的生命流 09-21
Julia:世界上知名的大公司都在使用这款新的编程语言!
发布者: super | 发布时间:2017-09-24
(从左到右):Julia Computing公司的几位联合创始人Stefan Karpinski、Viral Shah、Jeff Bezanson、Alan Edelman、Deepak Vinchhi和Keno Fischer。
编程语言可谓种类繁多;数学家、研究人员和数据科学家面临的一大问题常常是,找到实际上适合手头处理的任何任务的某一种语言。
为了避免困难,总部位于孟加拉国和美国的初创公司Julia Computing的几位联合创始人开发出了一种通用编程语言:Julia,不是程序员的人经过培训就能使用这种语言。
Julia Computing的联合创始人Stefan Karpinski说:“相比其他语言,Julia运行起来快得多,用起来容易得多,还可以无限扩展。”
2009年,
25行Python代码实现人脸识别 || 教程
发布者: super | 发布时间:2017-09-24
这篇教程的作者是Shantnu Tiwari,他在底层嵌入式领域有十年的工作经验。直到发现Python前,Shantnu一直忍受着C / C ++,Python让他感觉心旷神怡。
这篇教程就是Shantnu对Python爱的分享!(http://pythonforengineers.com/)
这篇教程中,将用到一个令人惊讶的极简单方法来检测人脸,利用Python和OpenCV开源库。(http://opencv.org/)
在正式开始前,我希望你们能注意下面几点:
1. 不要尝试跳过教程直接运行代码。除了运行代码,你还必须学会如何找到代码中的BUG
2. 确保使用的是OpenCV v2(最新更新兼容OpenCV3的代码)
3. 你也许需要一个能工作的网络摄像头
4. 在提出问题前先查看其他的评论/问题,您的问题可能已被解决了
▍OpenCV
OpenCV是最受欢迎的计算机视觉库。最初用C / C ++编写,现在也提供了Python包
程序员应该避免的5种代码注释
发布者: super | 发布时间:2017-09-24
你有没有这样的经历:别人审查过你的代码之后给出的注释,你认为是没有必要的?注释代码是为了提高代码的可读性,目的是为了能让其他人更容易理解你的代码。 我特别讨厌这5种注释类型以及制造它们的程序员。希望你不是其中之一。返回搜狐,查看更多
责任编辑:
Linux系统该怎么学?运维老鸟的经验心得。
发布者: super | 发布时间:2017-09-24
时光荏苒,青春行走在时间的河岸,渐行渐远。初夏又至,七月的脚步越来越近。马上又有大波毕业生离校啦。等待着他们的是社会的检验,对如何选择一份职业就显得尤为重要,当然,你也得具备一定的职业素养,才能干好这份工作。先说说大学生的毕业情况。
有关数据表明,2014年全国普通高校毕业生人数达到727万,2015年全国普通高校毕业生人数达到749万,2017年的毕业生总人数可能只多不少。大学生的就业春天不会来临,他们所面临的就业形势依然严峻。相信大家都听说过IT行业,是一个赚钱的行业,在一线城市,这些人的工资能月入20k左右。那我们就关于这一话题进行探讨。
首先,对于一个涉世未深的IT行业人来说,你需要一个明确的目标,看看自己是适合哪个方面发展。未来的你可能是从事网页的开发工作又或者是大数据的高级开发工作,甚至也有可能是一个IOS的开发。但是这些都是后期自己去摸索,才能找的到的路。现在,需要我们打一个好的基础。我们都知道Linux这个操作系统。这个操作系统确实是一个比较流行的一个系统,和Windows相比,Linux有很多独到之处,同时它也是一个IT行业的垫
浅谈 HotSpot 逃逸分析
发布者: super | 发布时间:2017-09-24
来源:占小狼,
www.jianshu.com/p/20bd2e9b1f03
JIT
即时编译(Just-in-time Compilation,JIT)是一种通过在运行时将字节码翻译为机器码,从而改善字节码编译语言性能的技术。在HotSpot实现中有多种选择:C1、C2和C1+C2,分别对应client、server和分层编译。
1、C1编译速度快,优化方式比较保守;
2、C2编译速度慢,优化方式比较激进;
3、C1+C2在开始阶段采用C1编译,当代码运行到一定热度之后采用G2重新编译;
在1.8之前,分层编译默认是关闭的,可以添加-server -XX:+TieredCompilation参数进行开启。
逃逸分析
逃逸分析并不是直接的优化手段,而是一个代码分析,通过动态分析对象的作用域,为其它优化手段如栈上分配、标量替换和同步消除等提供依据,发生逃逸行为的情况有两种:方法逃逸和线程逃逸。
1、方法逃逸:当一个对象在方法
成为一个高级Java架构师所需要具备那些技能呢?
发布者: super | 发布时间:2017-09-24
高大上的淘宝架构
上图是一些安全体系系统,如数据安全体系、应用安全体系、前端安全体系等。
架构师定义
百度百科,系统架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。
架构师工作职能
软件架构师在整个软件开发过程中都起着重要的作用,并随着开发进程的推进而其职责或关注点不断地变化,在需求阶段,软件架构师主要负责理解和管理非功能性系统需求,比如软件的可维护性、性能、复用性、可靠性、有效性和可测试性等等,此外,架构师还要经常审查客户及市场人员所提出的需求,确认开发团队所提出的设计;在需求越来越明确后,架构师的关注点开始转移到组织开发团队成员和开发过程定义上;在软件设计阶段,架构师负责对整个软件体系结构、关键构件、接口和开发政策的设计;在编
Java总结篇系列:Java泛型
发布者: super | 发布时间:2017-09-24
一. 泛型概念的提出(为什么需要泛型)?
首先,我们看下下面这段简短的代码:
publicclassGenericTest { publicstaticvoidmain(String[] args) { List list = newArrayList(); list.add( "qqyumidi"); list.add( "corn"); list.add( 100); for( inti = 0; i < list.size(); i++) { String name = (String) list. get(i); // 1System. out.println( "name:"+ name); } } }
定义了一个List类型的集合,先向其中加入了两个字符串类型的值,随后加入一个Integer类型的值。这是完全允许的,因为此时list默认的类型为Object类型。在之后的循环中,由于忘记了之前在list中也加入了Integer类型的值或其他编码原因,很容易出现类似于//1中的错误。因为编译阶段正常,而运行时会出现“java
Java并发控制机制详解
发布者: super | 发布时间:2017-09-21
在一般性开发中,笔者经常看到很多同学在对待java并发开发模型中只会使用一些基础的方法。比如Volatile,synchronized。像Lock和atomic这类高级并发包很多人并不经常使用。我想大部分原因都是来之于对原理的不属性导致的。在繁忙的开发工作中,又有谁会很准确的把握和使用正确的并发模型呢?
所以最近基于这个思想,本人打算把并发控制机制这部分整理成一篇文章。既是对自己掌握知识的一个回忆,也是希望这篇讲到的类容能帮助到大部分开发者。
并行程序开发不可避免地要涉及多线程、多任务的协作和数据共享等问题。在JDK中,提供了多种途径实现多线程间的并发控制。比如常用的:内部锁、重入锁、读写锁和信号量。
Java内存模型
在java中,每一个线程有一块工作内存区,其中存放着被所有线程共享的主内存中的变量的值的拷贝。当线程执行时,它在自己的工作内存中操作这些变量。
为了存取一个共享的变量,一个线程通常先获取锁定并且清除它的工作内存区,这保证该共享变量从所有线程的共享内存区正确地装入到线程的工作内存区,当线程解锁时保证该工作
Java正则表达式详解
发布者: super | 发布时间:2017-09-21
Java 提供了功能强大的正则表达式API,在java.util.regex 包下。本教程介绍如何使用正则表达式API。
正则表达式
一个正则表达式是一个用于文本搜索的文本模式。换句话说,在文本中搜索出现的模式。例如,你可以用正则表达式搜索网页中的邮箱地址或超链接。
正则表达式示例
下面是一个简单的Java正则表达式的例子,用于在文本中搜索 http://
Stringtext= "This is the text to be searched "+ "for occurrences of the http:// pattern."; Stringpattern = ".*http://.*"; booleanmatches = Pattern.matches(pattern, text); System.out.println( "matches = "+ matches);
示例代码实际上没有检测找到的 http:// 是否是一个合法超链接的一部分,如包含域名和后缀(.com,.net 等等)。代码只
Spring bean 的生命流程
发布者: super | 发布时间:2017-09-21
Spring 是一个轻量级的 J2EE 开源框架,其目标是降低企业级应用开发难度,提高企业级应用开发效率。在日程开发中,我们会经常使用 Spring 框架去构建应用。所以作为一个经常使用的框架,了解其原理还是很有必要的。接下来我们就从宏观层面上,来看看 Spring 中的 bean 由实例化到销毁的过程。在详细讨论 bean 生命周期前,先上一张图,后面也会围绕这张图展开讨论。
图1 bean 生命周期
接下来对照上图,一步一步对 singleton 类型 bean 的生命周期进行解析:
实例化 bean 对象,类似于 new XXObject()
将配置文件中配置的属性填充到刚刚创建的 bean 对象中
检查 bean 对象是否实现了 Aware 一类的接口,如果实现了则把相应
