上周我聊了聊最让我反感的 10 种程序猿,无奈一个小时就进行了删除,详细原因就不说了,容易招黑. 今天聊的我面试过的最奇葩的一个程序猿,绝对是奇葩中的奇葩,简直是程序猿中的另类,最让我反感的程序猿又添加新成员了.. 这次的还会继续删除?那是不可能的,我要让所有人都能见证这个奇葩.. 那是一个下午,和往常没什么区别,我走向洽谈室准备迎接一场 Java 面试.更多的细节有点忘了,此人长得有点滑稽,面了几分钟,技术也不怎么样,我也不想再问下去了,他在我心里就已经不合适了.关键,面试过程还时不时拿着手机…
引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来.LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容基本上忘得一干二净,所以写这篇文章其实是很有难度的. 但是,最近问LZ的人实在是太多了,为了避免重复回答,给自己省点力气,干脆就在这里统一回复了. 其实之前LZ写过一篇文章,但是那篇文章更多的是在讨论“面试前该不该刷题”这个话题,而这篇文章将会更加聚焦在面试前如何准备,以及工作当中如何学习这个话题上…
前言 又到了一年中最后的日子了,相信有不少公司要求员工写年度总结了,我也不例外.不过个人感觉在公司的写个年度总结来说,过于模板化了.其实很多没有必要.总之,本篇的个人总结,是按照个人的想法写的.简而言之,就是放开了说,放开的写! 今年事件 先做个列表,然后再对该列表的事件进行说明.为了使事件的说明有趣点,所以采取自问自答. 主要事件 换工作了,工作地点从武汉到深圳: 开始写起了博客: 学习了ssm这类基本使用框架之外的技术: 开始有意识的锻炼身体了: 事件说明 问:为什么换工作?为什么来到深圳?…
类似的话题,我大约在几个月前跟大家聊过. 这一次,我要依据这段时间的体会,再给大家整理一下.     今天,非常轻松地拿到了神州数码的offer. 尽管工资不是特别高,尽管非常多人一毕业就能进入这种公司.可是对我这个半路出家的大专生来说,能进去纯属意外.     今天的面试.谈到了曾经我接过一些私单,项目经理问我,那你如今还有没有做私活的想法? 我说.彻底没有.他问我,为什么?我说,这几年,尽管做私活挣了一些钱,但我损失的远远不止那点钱. 那些反复.繁琐,非常难有技术水平提升的工作,占用了我大部…
Java与C++都是面向对象语言,都使用了面向对象思想(比如封装.继承.多态等),因为面向对象有很多非常好的特性(继承.组合等),使得二者都有非常好的可重用性. 须要注意的是,二者并不是全然一样,以下主要介绍其不同点: (1)       Java为解释性语言,运行的过程为:源码经过Java编译器编译成字节码,然后由JVM解释运行.而C/C++为编译型语言,源码经过编译和链接后生成可运行的二进制代码.因此,Java的运行速度比C/C++慢,可是Java能够跨平台运行,而C/C++不能. (2) …
在Java语言中,变量名.函数名.数组名统称为标识符,Java语言规定标识符仅仅能由字母(a~z.A~Z).数字(0~9).下划线(_)和$组成,而且标识符的第一个字符必须是字母.下划线或$.此外.标识符也不能包括空白字符(换行符.空格和制表符). 下面标识符都是非法的: (1)      char:char是Java语言的一个数据类型,是保留字,不能作为标识符.其他的如int.float等相似. (2)      number of book:标识符中不能有空格. (3)      3com:…
组合和继承是面向对象中两种代码复用的方式. 组合是指在新类里面创建原有类的对象,反复利用已有类的功能.继承是面向对象的主要特性之中的一个,它同意设计人员依据其他类的实现来定义一个类的实现. 组合和继承都同意在新的类中设置子对象(subobject),仅仅是组合是显式的,而继承则是隐式的.组合和继承存在着相应关系:组合中的总体类和继承中的子类相应.组合中的局部类和继承中的父类相应. 二者的差别在哪里呢?首先分析一个实例.Car表示汽车对象,Vehicle表示交通工具对象,Tire表示轮胎对象.三者…
在Java语言中.当实例化对象时.对象所在类的全部成员变量首先要进行初始化,仅仅有当全部类成员完毕初始化后,才会调用对象所在类的构造函数创建对象.    Java程序的初始化一般遵循以下三个原则(以下三原则优先级依次递减):(1)静态对象(变量)优先于非静态对象(变量)初始化,当中,静态对象(变量)仅仅初始化一次,而非静态对象(变量)可能会初始化多次. (2)父类优先于子类进行初始化.(3)依照成员变量定义顺序进行初始化. 即使变量定义散布于方法定义之中,它们依旧在不论什么方法(包含构造函数)被…
AOP(Aspect-Oriented Programming.面向切面编程)是对面向对象开发的一种补充,它同意开发者在不改变原来模型的基础上动态地改动模型从而满足新的需求.比如.在不改变原来业务逻辑模型的基础上能够动态地添加日志.安全或异常处理的功能. 以下介绍一个在Spring中使用AOP编程的简单样例. (1)创建一个接口以及实现这个接口的类.TestAOPIn.java内容例如以下所看到的. public interface TestAOPIn{ public void doSometh…
在由Java语言编写的程序中.有时候为了提高程序的执行效率,编译器会自己主动对其进行优化,把经常被訪问的变量缓存起来,程序在读取这个变量的时候有可能会直接从缓存(比如寄存器)中来读取这个值.而不会去内存中读取.这样做的一个优点是提高了程序的执行效率,但当遇到多线程编程时.变量的值可能由于别的线程而改变了,而该缓存的值不会相应改变,从而造成应用程序读取的值和实际的变量值不一致.比如,在本次线程内,当读取一个变量时,为提高存取速度,会先把变量读取到一个缓存中,当以后再取变量值时,就直接从缓存中取值.…