程序员

运行时异常与一般异常有何异同

心不动则不痛 提交于 2019-12-25 11:08:30
Throwable 是所有 Java 程序中错误处理的父类 ,有两种资类: Error 和 Exception 。 Error :表示由 JVM 所侦测到的无法预期的错误,由于这是属于 JVM 层次的严重错误 ,导致 JVM 无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息。 Exception :表示可恢复的例外,这是可捕捉到的。 Java 提供了两类主要的异常 :runtime exception 和 checked exception 。 checked 异常也就是我们经常遇到的 IO 异常,以及 SQL 异常都是这种异常。 对于这种异常, JAVA 编译器强制要求我们必需对出现的这些异常进行 catch 。所以,面对这种异常不管我们是否愿意,只能自己去写一大堆 catch 块去处理可能的异常。 但是另外一种异常: runtime exception ,也称运行时异常,我们可以不处理。当出现这样的异常时,总是由虚拟机 接管。比如:我们从来没有人去处理过 NullPointerException 异常,它就是运行时异常,并且这种异常还是最常见的异常之一。 出现运行时异常后,系统会把异常一直往上层抛,一直遇到处理代码。如果没有处理块,到最上层,如果是多线程就由Thread.run() 抛出 ,如果是单线程就被 main() 抛出 。抛出之后

运行时异常与一般异常有何异同

情到浓时终转凉″ 提交于 2019-12-25 11:08:17
Throwable 是所有 Java 程序中错误处理的父类 ,有两种资类: Error 和 Exception 。 Error :表示由 JVM 所侦测到的无法预期的错误,由于这是属于 JVM 层次的严重错误 ,导致 JVM 无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息。 Exception :表示可恢复的例外,这是可捕捉到的。 Java 提供了两类主要的异常 :runtime exception 和 checked exception 。 checked 异常也就是我们经常遇到的 IO 异常,以及 SQL 异常都是这种异常。 对于这种异常, JAVA 编译器强制要求我们必需对出现的这些异常进行 catch 。所以,面对这种异常不管我们是否愿意,只能自己去写一大堆 catch 块去处理可能的异常。 但是另外一种异常: runtime exception ,也称运行时异常,我们可以不处理。当出现这样的异常时,总是由虚拟机 接管。比如:我们从来没有人去处理过 NullPointerException 异常,它就是运行时异常,并且这种异常还是最常见的异常之一。 出现运行时异常后,系统会把异常一直往上层抛,一直遇到处理代码。如果没有处理块,到最上层,如果是多线程就由Thread.run() 抛出 ,如果是单线程就被 main() 抛出 。抛出之后

运行时异常与一般异常区别

倖福魔咒の 提交于 2019-12-25 11:08:07
Throwable 是所有 Java 程序中错误处理的父类 ,有两种资类: Error 和 Exception 。 Error :表示由 JVM 所侦测到的无法预期的错误,由于这是属于 JVM 层次的严重错误 ,导致 JVM 无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息。 Exception :表示可恢复的例外,这是可捕捉到的。 Java 提供了两类主要的异常 :runtime exception 和 checked exception 。 checked 异常也就是我们经常遇到的 IO 异常,以及 SQL 异常都是这种异常。 对于这种异常, JAVA 编译器强制要求我们必需对出现的这些异常进行 catch 。所以,面对这种异常不管我们是否愿意,只能自己去写一大堆 catch 块去处理可能的异常。 但是另外一种异常: runtime exception ,也称运行时异常,我们可以不处理。当出现这样的异常时,总是由虚拟机 接管。比如:我们从来没有人去处理过 NullPointerException 异常,它就是运行时异常,并且这种异常还是最常见的异常之一。 出现运行时异常后,系统会把异常一直往上层抛,一直遇到处理代码。如果没有处理块,到最上层,如果是多线程就由Thread.run() 抛出 ,如果是单线程就被 main() 抛出 。抛出之后

阿里程序员吐槽:简直侮辱人,985硕校招进的,就涨1500?

馋奶兔 提交于 2019-12-25 04:19:20
一名标签为阿里的程序员在互联网论坛吐槽:太侮辱人了,985硕校招进入阿里,技术四年P6,base2万,涨了1500,说涨幅不错,不到4个月的年终奖,真恶心云云。 随之这则吐槽帖就引来了众多同行的热议,有网友回复跟帖:4年为啥base这么低?阿里不是每年都普调吗?我也是15硕,17离职的时候p6,base20k ,果断走人;3年6,22k,也3.5,还不知道能涨多少,估计也够呛,应届给的巨多;不明白工作四年还拿九八五出来说干嘛;学历不代表能力,阿里战功文化;怎么不把修的福报算进去;亲亲,这边建议你离职呢。 从这些回复中我们得知,楼主是以应届生的身份加入阿里,工作了四年之久:校招生就是最惨的,有机会多跳槽;入职14k正常,我也4年硕,入职才11k,就是涨得慢了点儿,不知道跟绩效有没有关系;前年刚刚入职半年的本6去年年终涨3000,不知道今年怎样;正常,校招进入的,你有真正想过自己的实力市场可以给你多少钱吗?去面试就知道了,我知道阿里和你类似的很多,大多都不知道加薪的难度,认为背景学历优秀就可以了,就安逸了? 还有网友如此评论:如果嫌工资低,可以跳槽啊,看你情况,double没压力的;其实我想说学历是一辈子的事,感觉现在都不怎么尊重知识,看见学历高的混得很差就莫名的开心,很畸形,楼主觉得自己不受赏识换个工作就是;985不是很正常么,干嘛拿这点说楼主呢,楼主只是提供了一个参考而已

你真的会JavaScript吗

别说谁变了你拦得住时间么 提交于 2019-12-25 03:50:34
很久没有看到这样让人唇齿留香的好文了。上次看到的是一篇是 Douglas Crockford 的 JavaScript, We Hardly new Ya (我简单翻译了一下,译文在后)。 同其他教你如何用面向对象的思想编写JavaScript的其他文章一样,该文也是着重在这么几个要素: JavaScript的对象就是一个关联数组。 JavaScript 函数也是一个对象。 原型(Prototype) 闭包(Closures) 继承/私有属性/静态方法 命名空间 作者文笔很好,英文很容易看懂,没有生僻的用词(顺便提一下,《PPK on JavaScript》作者的英文不敢恭维)。用来举例的代码也很贴切。 特别是文章的开头很有意思,作者写到他和一个据说已经写了快4年JavaScript的女程序员聊天,女程序员认为她的JS水平very good,后来作者发现她确实会写,但仅仅是会写,其实对JavaScript的内涵所知甚少。 作者想用这个例子说明,有很多具备Java/C++/C#开发经验的开发人员在编写JavaScript或者转行到FED(比如我)的时候,想当然的把那些标准面向对象语言的思想套用在JavaScript上,反而走入迷途。 对此我深有体会,我正是在真正参与了一次Ajax的项目并真正读懂了Prototype框架的源码之后,对JavaScript有了完全全新的认识。 总之

优秀架构师是怎么炼成的?

試著忘記壹切 提交于 2019-12-25 02:28:19
我们来讲一个故事,一位旅行者路过一个烈日下的工地,所有人都在那儿汗流浃背地搬砖。 旅行者问第一个人在干什么,那人头也没抬地回答:“我在搬砖。” 旅行者问第二个人在干什么,这个匆匆抬起头认真地说:“我在砌墙。” 旅行者问第三个人在干什么的时候,那个人脸上充满了光彩,很自信地说:“我在盖圣玛利亚大教堂。”这个故事是不是像极了我们从事软件开发工作的不同阶段的不同状态。每当听到从程序员到架构师的书或者文章时,我们总是充满好奇,想从其中获取一些观点亦或是技能点,接下来我们就详细讲讲一下,如何从程序员走向架构师。 首先我们定一个基准点:架构师只是功底深厚的程序员,千万不要成为不会写代码的架构师。 架构师应该是立足于技术和业务之间的中间角色或者平衡点, 在针对业务深刻理解的基础上,针对业务中存在诸多变数,挑选适合的技术架构和技术方案。可以这样说,一个架构师工作的好坏决定了整个开发项目的成败。 开篇的基准点:架构师只是功底深厚的程序员; 程序员从初级、中级、高级再到架构师,是一个不断经验积累的过程,但是在这过程中我们常常很迷茫,不仅仅是面对技术繁杂的无力感,更重要的是因为长期埋没于代码世界的浩大的分工体系中,无法看清从业务到系统架构的价值链条,无法清楚定位自己在分工体系的位置,处理不好自身与技术、业务的关系所致。所以在程序员生涯中除了技术实力以外,其它软实力也不容忽视。如:主动学习、积累经验

一名好程序员到底需要什么样的标准?

China☆狼群 提交于 2019-12-24 21:34:20
无数的人问过类似的问题:怎么样才能做一个好的程序员?在回答这个问题之前,首先得明白什么是好的程序员,这样才有方向和目标,可是这事情太主观,可能各人的标准干差万别。不谈那些传奇性的独自一人做出伟大事情的特例,也不谈什么上天入地,上帝大牛的诡论,以下是我比较认可的,在通常的项目开发中,一个好程序员的标准。 在项目开发中,一个程序员的能力等于其解决问题的能力。假如想有个尺度来衡量这个能力的话,一个程序员的能力可以用能完成任务的规模和难度来衡量。因为难度上不好那么筒单的划分,并且在一般的项目开发中 (非研究性项目),任务的难度主要来自于任务的规模带来的复杂度,这里把任务从规模上大致的划分为1个函数=>1个 类=>1个功能=>1个模块=>1个项目。更细致的划分时,函数、类、功能、模块、项目本身也有简单和规模大小之分。 在此之前,对项目的生产力为负,即为他布置任务、沟通和为他修补bug的时间其实要多于自己直接完成该功能的时间。也就是说,项目中存在这个水平的程序员纯粹是为了培养人才。能较好完成一个完整模块的程序员算是较好的程序员, 也是一般项目中的主要幵发者;能完成整个项目的裎序员才能算是好的裎序员,在多人项目中可做主程。 什么决定了一个裎序员解决问题的能力呢?我认为有如下几个因素: 在同等水平的裎序员之间,一个对某领域问题有所了解,一个对该领域完全不了解

推荐几个对程序员有帮助的网站

心已入冬 提交于 2019-12-24 20:36:00
看到右上角的 ✪ \color{#FF7D00}{✪} ✪ 小星星 ✪ \color{#FF7D00}{✪} ✪ 了吗? 有没有一种想要点击的原始冲动!嘿嘿嘿~ ( ✪ ω ✪ ) \color{#FF7D00}{(✪ω✪)} ( ✪ ω ✪ ) 别压抑自己的天性(斜眼笑)! 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/qq_41587516/article/details/103683822 aol.com ,采用Google的搜索技术。 开源中国 ,相当强大的开源软件门户网站。 GitHub ,大名鼎鼎的代码托管网站,汇集了很多优秀的开源系统。 CSDN ,很多大佬都在这里发表技术帖,你懂得(✪ω✪) 求关注,求点赞吖! 来源: CSDN 作者: Mr_青青子衿 链接: https://blog.csdn.net/qq_41587516/article/details/103683822

一名好程序员到底需要什么样的标准?

穿精又带淫゛_ 提交于 2019-12-24 20:35:29
无数的人问过类似的问题:怎么样才能做一个好的程序员?在回答这个问题之前,首先得明白什么是好的程序员,这样才有方向和目标,可是这事情太主观,可能各人的标准干差万别。不谈那些传奇性的独自一人做出伟大事情的特例,也不谈什么上天入地,上帝大牛的诡论,以下是我比较认可的,在通常的项目开发中,一个好程序员的标准。 在项目开发中,一个程序员的能力等于其解决问题的能力。假如想有个尺度来衡量这个能力的话,一个程序员的能力可以用能完成任务的规模和难度来衡量。因为难度上不好那么筒单的划分,并且在一般的项目开发中 (非研究性项目),任务的难度主要来自于任务的规模带来的复杂度,这里把任务从规模上大致的划分为1个函数=>1个 类=>1个功能=>1个模块=>1个项目。更细致的划分时,函数、类、功能、模块、项目本身也有简单和规模大小之分。 在此之前,对项目的生产力为负,即为他布置任务、沟通和为他修补bug的时间其实要多于自己直接完成该功能的时间。也就是说,项目中存在这个水平的程序员纯粹是为了培养人才。能较好完成一个完整模块的程序员算是较好的程序员, 也是一般项目中的主要幵发者;能完成整个项目的裎序员才能算是好的裎序员,在多人项目中可做主程。 什么决定了一个裎序员解决问题的能力呢?我认为有如下几个因素: 在同等水平的裎序员之间,一个对某领域问题有所了解,一个对该领域完全不了解

沟通至上 《高效程序员的45个习惯》读书笔记

核能气质少年 提交于 2019-12-24 18:50:00
《高效程序员的45个习惯》这本书的副标题是敏捷开发修炼之道,这是一本讲敏捷的书,如果你之前未接触过敏捷,从这本书,可以了解到敏捷的核心观点。 这里面主要讲了三方面的内容,观念,沟通,以及编码。 观念 我们首先从观念来看,提观念当然少不了敏捷宣言: 个体和交互胜过过程和工具; 可工作的软件胜过面面俱到的文档; 客户的协作胜过合同谈判。 响应变化胜过遵循计划; 敏捷开发改变了整个开发流程; 传统的瀑布模型是重设计,资深的架构设计师将设计事无巨细的做出来,然后让小兵来开发;在面对需求变更时,通常很无力; 敏捷反对通过设计来操纵开发,将重设计改为设计指导; 沟通 沟通是敏捷中最核心的部分,其中涉及到团队沟通、与客户的沟通。 团队的沟通 要努力成为团队中的一个指导者,分享你的知识。在分享知识前,你有一个准备的过程,你需要把你知道的知识有条理讲给人家听,让他人听懂,你这个准备和讲解的过程对你来一种提升,之前一知半解的问题,在讲给他人听的过程,会理解透彻。 知识分享的过程不仅仅是通过讲解的方式,文字分享也是重要的一面;这里就提到了wiki的重要性,把你的知识纳入wiki,收益的就不仅仅是目前的团队成员,更有未来的团队,这样你的知识得到了传承,呵,多么了不起; wiki写多了,也能够让你的工作变得轻松,比如同事向你请教问题时,你可以给他一个链接“看wiki去吧,这里面很详细”,那感觉,很棒不是?