程序员

Java中的异常

只愿长相守 提交于 2019-12-04 16:15:14
异常 异常全部继承自超类Throwable Error错误: 程序运行过程中 非常严重的错误 我们的态度:不需要处理(处理不了),不去掩盖,应该找到根源去修改。 例如: 内存泄漏(死循环) 栈溢出(无限递归) Exception异常: 小错误,分为运行时异常和编译期异常 运行时异常: RuntimeException及其子类,编译的时候不报错。 运行的时候才会报错 设计理念:程序员在设计编码的时候,考虑到用户输入的信息可能与期待的不符合,但是当用户输入导致错误的时候不可以因此使程序崩溃。所以设计运行时异常,当用户的输入不符合程序期待的时候,给与用户提示但是程序继续运行。 处理方式: 虽然出异常了,但是依旧可以在异常后执行System.out.println("Awake and unafraid");维持程序运行状态 编译期异常(检查类异常): Exception(除了 RuntimeException 以其子类)的所有子类。编译的时候就会报出红线,目的是为了让你检查程序。 设计理念: 编译期异常 他是给程序员准备的, 我们在书写代码的时候, 有一些地方 很容易出现错误的,而且程序员也经常不注意, 这时候,Java就设计了编译期异常,目的是为了提示程序员“这个地方很容易出错”,为了提示java让这个地方编译报错。 目的是为了引起程序员的注意。 出现之后程序立刻终止 小的问题

11 个 Visual Studio 代码性能分析工具

非 Y 不嫁゛ 提交于 2019-12-04 15:37:12
软件开发中的性能优化对 程序员 来说是一个非常重要的问题。一个小问题可能成为一个大的系统的瓶颈。但是对于程序员来说,通过自身去优化代码是十分困难的。幸运的是,有一些非常棒的工具可以帮助程序员进行代码分析和性能测试,从而大大简化程序员进行代码性能优化的过程。MSDN 杂志 2011 年 7 月份曾发布主题为“.NET 代码分析工具和技术”的那一期,让广大程序员收获颇丰。四年过去之后,这些工具又进一步做出了很多改进,同时也出现了更多的选择。更多应用代码安全工具请点击: http://t.cn/zQ6JvmN AMD CodeXL 2011 年发布的 AMD CodeAnalyst Performance Analyzer 现在已经被 AMD CodeXL 所替代。AMD CodeXL 的主要目的是帮助开发者更好利用 CPU, GPU 和 APU 的计算性能,具有强大的 GPU 调试、CPU 和 GPU 代码分析、及静态的 OpenCL 内核性能分析等能力。 AMD 提供了支持 Windows 7、Windows 8 和 Linux 系统的单机版 CodeXL 分析工具。在 Visual Studio 2010,2012 和 2013 上也有 AMD CodeXL 的扩展版 ,其在 Visual Studio 开发环境中集成了 GPU 和 APU 的调试和分析能力。旧的 AMD

毕业两年,我是如何从技术「转型」到管理的?

限于喜欢 提交于 2019-12-04 13:20:00
对于深耕在一线的程序员来讲,很多人期望华丽转身成为管理者,无外乎图名为利,正所谓「天下攘攘皆为利往」,并不能搬出什么高大上的理由来。当然这也不是什么值得羞耻的事情,我们的目标虽然是为了一己私利,但是只要为公司创造了价值,为下属谋取了利益,那么有些追名逐利之心又何妨呢?相信没有谁敢说自己一心匡扶天下吧? 今天呢,我就直奔主题,跟大家分享一下当年,我是怎么在毕业的第二年,从一名普通技术人员晋升到管理岗位的。 首先大家需要注意一个动词「晋升」,这个词很重要。晋升的底层逻辑是什么呢?是你的能力已经超过了所在岗位的需要,那么你的现有岗位是什么呢?是不是程序员?是!程序员需要的能力是什么?是技术能力!所以你要获得晋升,第一个要提升的能力是技术能力,而不是你踏破铁鞋无觅处的管理能力!技术能力才是你晋升的根本!如果你在技术上无法做到碾压同岗位的其他人,却一心钻研管理学,那就是本末倒置,从书籍上学到的管理学皮毛可能一辈子没法施展! 晋升的途径一般都是内部晋升,你不能指望带着一身技术经验去新公司谋求管理岗位吧?那么为什么可以通过内部晋升到管理岗位,而不能通过跳槽晋升到管理岗位呢?这个逻辑也很简单,在内部你的工作能力是被时间证明了的。所以要获得晋升,你首先得证明你的技术/工作能力远超同伴。作为一名程序员,如果你整天研究管理?却置技术和业务不顾,工作中无法赢的掌声,业务上不能手撕产品经理

好程序员web前端教程分享如何给网页划分结构

﹥>﹥吖頭↗ 提交于 2019-12-04 11:47:30
  好程序员web前端教程分享如何给网页划分结构,学习前端第一步:划分网页结构,网页的结构的划分应该遵循哪些原则,如何去划分网页的结构呢?   对于一个前端初学者,第一步就是要学会如何划分一个网页的结构。当设计师给到你一张设计图,你需要根据这张图做出一个符合标准的页面,这里所说的标准,即w3c标准,参考w3school在线教程。那么做出一个完整的符合标准的网页第一步就是要划分网页的结构。一般来讲,网页结构的划分需要遵循几个原则:   一、自上而下原则   因为浏览器在渲染一个网页的顺序是自上而下的。这里提到了 渲染 这一个词,所谓的渲染就是浏览器将代码转换为页面显示内容的过程。浏览器会自上而下读取你写的代码并自上而下的显示。   二、从左至右原则   在自上而下的同时,同一行的内容是从左至右渲染,所以在划分结构的时候有从左至右的顺序。   三、一像素原则   这个原则对于初学者来说必须坚持,但也并不是说无论什么时候都得死认这个道理。前期我们在划分网页的时候一定要划分准确,尤其是横向。试想,如果外面的盒子宽度是1200像素,里面两个盒子一个600像素另一个601像素,加起来超过了父级的宽度那么必然第二个盒子会换到下一行进行显示。   在说完上述三个原则过后有些人就会一味地追求遵循这些原则,比如在划分结构的时候一定要分为上下部分,但是比如下面我截取这个网页的一部分

JVM

雨燕双飞 提交于 2019-12-04 11:07:14
1.Java中垃圾回收有什么目的?什么时候进行垃圾回收? 垃圾回收的目的是识别并且丢弃应用不再使用的对象来释放和重用资源。 2.如果对象的引用被置为null,垃圾收集器是否会立即释放对象占用的内存? 不会,在下一个垃圾回收周期中,这个对象将是可被回收的。 3. GC是什么? 为什么要有GC? GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。 4. 垃圾回收的优点和原理。并考虑2种回收机制。 Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有”作用域”的概念,只有对象的引用才有”作用域”。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。 5.

java培训学员写给尚学堂老师的一封信

可紊 提交于 2019-12-04 09:24:39
尊敬的老师:   北京尚学堂Java培训基地,您好,很高兴在中国能有这么出色的程序员培训基地。   首先,请容许我简单的自我介绍一下,我今年28岁,于2009年毕业于湖南软件职业学院,专业软件工程。性格开朗大方,对待工作认真负责。待人真诚,善于沟通,喜欢听取他人意见,取之精华。有较强的组织协调能力和团队合作精神。喜欢钻研新事物和新技术,有较强的适应能力,有浓厚的编程爱好。   毕业后我在一家国家企业任职网管,由于各种原因,我并没有成为一名真正的程序员,但我内心对Java的渴望一直都没有消停过。从毕业到现在的这一段时间,我有时会在网上下载一些关于“JAVA”方面的学习视频,所以有一定的理论基础,不过代码coding能力比较差劲。我深刻意识到自己的缺点是如此的致命,因此,我需要一个平台,需要一个环境,需要一个机遇,可以在短时间内改变我的现状,让我走上程序员之旅。 在尚学堂参加Java培训的日子   在尚学堂Java培训的日子   直到我大学死党告诉我,深圳有一家很出名的Java培训学院-尚学堂,可以试试看,或许能实现我内心那个一直并未埋没的理想。听到这,我顿然觉得我的人生立马会有一个很大的转折,我内心那颗对Java的热情,对“尚学堂”的渴望油然而生,我觉得我应该能全心,专心去干一件事了。走向尚学堂,为了成为一名合格的程序员,为中国贡献优质的程序代码,我必须静下心来,放下一切,好好学习

操作系统的发展史

▼魔方 西西 提交于 2019-12-04 09:06:10
操作系统的发展史 一、手工操作——穿孔卡片 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式。此时还没有操作系统的概念。 程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机输出计算结果;用户取走结果并卸下纸带(或卡片)后,才让下一个用户上机。 手工操作方式两个特点: 用户独占全机。不会出现因资源已被其他用户占用而等待的现象,但资源的利用率低。 CPU 等待手工操作。CPU的利用不充分。 20世纪50年代后期,出现 人机矛盾 。:手工操作的慢速度和计算机的高速度之间形成了尖锐矛盾,手工操作方式已严重损害了系统资源的利用率(使资源利用率降为百分之几,甚至更低),不能容忍。唯一的解决办法:只有摆脱人的手工操作,实现作业的自动过渡。这样就出现了成 批处理 。 二、批处理——磁带存储 批处理系统:加载在计算机上的一个 系统软件 ,在它的控制下,计算机能够自动地、成批地处理一个或多个用户的作业(这作业包括程序、数据和命令)。 2.1 联机批处理系统 主机与输入机之间增加一个存储设备——磁带,在运行于主机上的监督程序的自动控制下,计算机可自动完成:成批地把输入机上的用户作业读入磁带,依次把磁带上的用户作业读入主机内存并执行并把计算结果向输出机输出

beta 2/2 阶段中间产物提交入口

纵然是瞬间 提交于 2019-12-04 08:40:57
此作业要求参见 https://edu.cnblogs.com/campus/nenu/2019fall/homework/9961 组名:胜利点 组长:贺敬文 队员:位军营,徐丽君,彭思雨,王志文 git地址: 版本控制报告 回答问题 0. 在吹牛之前,先回答这个问题: 如果你的团队来了一个新队员,有一台全新的机器, 你们是否有一个文档,只要设置了相应的权限,她就可以根据文档,从头开始搭建环境,并成功地把最新、最稳定版本的软件编译出来,并运行必要的单元测试? (在这过程中,不需要和老队员做任何交流) 答:没有,因为我们是一个简单的小程序。 1. 你的团队的源代码控制在哪里?用的是什么系统?如何处理文件的锁定问题? 场景: 程序员果冻正在对几个文件进行修改,实现一个大的功能, 这时候,程序员小飞也要改其中一个文件,快速修复一个问题。怎么办? 一个代码文件被签出 (check out) 之后,另一个团队成员可以签出这个文件,并修改,然后签入么? 有几种设计,各有什么优缺点?例如,签出文件后,此文件就加锁,别人无法签出; 或者, 所有人都可以自由签出文件 答:我们团队的源代码控制在 coding.net 上,使用 windows 7 系统。由于项目较小,我们的文件没有锁定。 2. 如何看到这个文件和之前版本的差异? 如何看到代码修改和工作项 (work item),缺陷修复 (bug

好程序员web前端教程分享常见基础面试题之性能优化

二次信任 提交于 2019-12-04 08:39:15
  好程序员web前端教程分享常见基础面试题之性能优化,为了能够更快的通过企业面试,很多人都会背面试题,而性能优化是每一个企业都会问到的问题,今天就给大家分享一下。   性能优化(Optimize)简而言之,就是在不影响系统运行正确性的前提下,使之运行地更快,完成特定功能所需的时间更短。那么该如何提高性能呢?你可以采取以下方法:   1、减少http请求次数   80%的响应时间花在下载网页内容(images, stylesheets, javascripts,scripts, flash等)。减少请求次数是缩短响应时间的关键!可以通过简化页面设计来减少请求次数,但页面内容较多可以采用以下技巧。   2、减少DNS查询次数   DNS查询也消耗响应时间,如果我们的网页内容来自各个不同的domain (比如嵌入了开放广告,引用了外部图片或脚本),那么客户端首次解析这些domain也需要消耗一定的时间。DNS查询结果缓存在本地系统和浏览器中一段时间,所以DNS查询一般是对首次访问响应速度有所影响。   3、缓存Ajax   Ajax可以帮助我们异步的下载网页内容,但是有些网页内容即使是异步的,用户还是在等待它的返回结果,例如ajax的返回是用户联系人的下拉列表。所以我们还是要注意尽量应用以下规则提高ajax的响应速度。   4、延迟加载