不知不觉在IT界从业2年了,两年时间足够一个人成长很多,当然也会改变很多事.在这两年时间里,随着对技术的深入了解,知识面的拓展以及工作难度的增大,渐渐的感觉自己技术方面根基不稳,多数问题也只是做到知其然而已.最近打算利用晚上的自由时间再学习一遍Java,所以入手了一本Java经典书籍——<Java核心技术 卷Ⅰ>.而博客也打算开始<再回首,Java温故知新>系列记录自己学习过程中一些要点,希望自己通过这次的学习不仅可以做到知其然,也能做到知其所以然,同时也希望这系列博客可以帮到一些…
JAVA基础再回首(二十五)--Lock锁的使用.死锁问题.多线程生产者和消费者.线程池.匿名内部类使用多线程.定时器.面试题 版权声明:转载必须注明本文转自程序猿杜鹏程的博客:http://blog.csdn.net/m366917 我们来继续学习多线程 Lock锁的使用 尽管我们能够理解同步代码块和同步方法的锁对象问题,可是我们并没有直接看到在哪里加上了锁.在哪里释放了锁.为了更清晰的表达怎样加锁和释放锁.JDK5以后提供了一个新的锁对象Lock Lock void lock():获取锁 v…
一.  Java SE 开篇 1.  Java 基本数据类型及其对应的包装类 基本数据类型 对应的包装类 * byte Byte * boolean Boolean * char Character * int Integer * long Long * short Short * float Float * double Double 1.2  自动装箱和自动拆箱 // 1.自动装箱: // 基本类型自动封装到对应的包装类对象中,如: Integer i = 100; // 本质上编译器编译时…
我记得在大学的课程要求中,第一个接触的高级编程语言,应该是C语言或者C++等.但是Java应该是我的编程母语,我在高中毕业就接触了Java语言.当时看的是纸质书,具体书名也忘记了.只记得当时第一次接触编程,感觉自己笨得可以,一个面向对象的概念都要像背政治历史书上的,哪年发生了哪些事件一样去死记硬背,似懂非懂得去理解它,熟悉它.随着经验的积累,后来也就渐渐掌握了这些概念.再后来到大学,慢慢地也成了同学眼中的“大神”.说了这么多,只是想表达一点:有问题不可怕,理解不了没关系,重要的是掌握好方法努力去…
基础学了太久,时间一长有些东西就可能记得不太清楚,俗话说得好,"好记性不如烂笔头",所以把基础中的基础-变量的声明和定义,从C到编译原理到C++,再到Java用烂笔头记录下来 最早在编程语言中认识声明和定义是在学C语言的时候... C语言中:如extern User user:extern int a;就是声明,变量的声明就是仅仅告诉编译器,声明的变量的存在,要预留一点空间,但并不为其分配内存.定义就是声明这个变量并真正在内存(堆或栈中)为此变量分配空间. 从编译原理上来说,声明就是仅…
再探java基础——break和continue的用法 break break可用于循环和switch...case...语句中. 用于switch...case中: 执行完满足case条件的内容内后结束switch,不执行下面的语句. eg: public static void breakSwitch1() { int n = 1; switch (n) { case 1: System.out.println("this is one."); break; case 2: Sys…
接着我们上篇博客再回首UML之上篇说,在类图中有四种关系,关联.依赖.泛化.实现,接下来,我们来看看依赖,依赖--描述的是一种使用关系,她说明一个事物的规格说明的变化可能影响到他使用的另一个事物,反之未必,一如我们上图所示,顾客和超市构成一种依赖关系,特别需要注意的是,箭头指向被依赖的一方,如下图: 看看依赖的代码实现 class Customer{}; class supermarket{}; { void buy(Customer& Customer){} void buy(Supermar…
UML,统一建模语言,是一种用来对真实世界物体进行建模的标准标记,这个建模的过程是开发面向对象设计方法的第一步,UML不是一种方法学,不需要任何正式的工作产品. UML提供多种类型的模型描述图,当在某种给定的方法学中使用这些图时,她使得开发中的应用程序更容易别我们所理解,UML的内涵远不只是这些模型描述图,但是对于我们来说,这些图对这门语言及其用法背后的基本原理提供了很好的介绍,通过把标准的UML图放进工作产品中,熟练UML的人员就更加容易加入项目并迅速进入角色.在UML这个大家族中用例图,类图…
再议Java中的static关键字 java中的static关键字在很久之前的一篇博文中已经讲到过了,感兴趣的朋友可以参考:<Java中的static关键字解析>. 今天我们再来谈一谈static关键字,这次我们侧重讲述static关键字的一些使用场景和方式,以下是本文目录大纲: 一.static关键字使用场景 二.static变量和普通成员变量区别 三.类的构造器到底是不是static方法? 若有不正之处,希望谅解并欢迎批评指正. 请尊重作者劳动成果,转载请标明原文链接: https://w…
前言:最近在学多线程,写“哲学家就餐问题(Dining Philosophers)”的时候,需要定义一个全局的变量,即哲学家的人数.常用的做法是在其中一个类中定义一个static final的变量,然后让其他类通过类名访问他.在这里,想使用之前实训项目的第一版应用层协议的设计想法,即使用一个接口类来定义所有子类都会使用到的变量.然后,就引出了一个interface成员变量和static final的问题. (一)一个简单的问题 首先,看一段代码: //Variable.java public i…