- 博客(24)
- 收藏
- 关注
转载 泛型全面分析和应用(二)
接着上篇文章,我们介绍了很多有关于泛型使用和注意的事项,这次将给一个很好的代码实例来演示泛型的有趣性----代码来着《Java编程思想》例子一:再来一杯coffee代码的思路如下:构建一个Generator的接口,这个接口用来实现“繁殖功能”的作用定义一个Coffee类,接着用几种Coffee子类继承这个Coffee父类构建一个CoffeeGene...
2016-09-02 23:23:00 118
转载 泛型全面分析和应用(一)
概述 Java SE5的重大变化之一就是提出了泛型的概念。泛型实现了参数化类型的概念,使代码可以应用于多种类型中。有很多原因促成了泛型的出现,而最主要的原因,就是为了构建容器类。我们很多时候在写代码的过程中,经常是遇到了同一个方法如果传入或者传出的参数类型过于单一,同样的功能的方法我们要写两次甚至是多次,原因就是由于参数类型不能适应其他类型的应用。那么为了解...
2016-08-31 12:11:00 138
转载 注解的基本盘点 -- 《Java编程思想》
注解(元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在之后的某一个时刻非常方便地使用这些数据。 ---《Java编程思想》 其实注解可以理解为一个工具类,只要使用了这个工具类后,主体类将会添加一些功能,就好像一个法师身边多了一个小精灵。注解在一定程度上是把元数据和源代码文件结合在一起,而不是保存在外部文档中这一个大的趋势所催生的,不用去配置xm...
2016-08-25 15:27:00 112
转载 Java反射深入浅出(一)
在JVM中对一个类实例的创建,有两种方式,一种是编译时,一种是运行时。两种方式在开发过程中都是十分重要的。在Java中无时无刻无处不在的Java对象,实例化的过程也就变得尤为引人瞩目。我们经常用new Object()方法来创建实例,而相反的,反射在这个时候就显得突兀,因为有人就会问,Java对象实例的时候为什么不直接new Object就好了呢?其实是情况所迫,有些时候,...
2016-08-23 20:28:00 127
转载 Maven聚合与继承的实例讲解(二)
继续上一节讲Maven的内容,我们这个节继续讲Maven继承和聚合的其他内容。 现在我们新建一个实例来测试Maven有关于聚合的部分 测试开始一、建立以pom为packaging的项目为,然后再以这一个项目为parent project来聚合其他子项目 新建立一个以pom的项目改写pom文件,依赖web-c...
2016-08-16 16:29:00 117
转载 Maven聚合与继承的实例讲解(一)
概述在javaweb高速发展的今天,我们软件设计人员往往会用很多种方式对软件划分模块,目的就是为了能有清晰的设计和低耦合性的,高重用性的软件。Maven有很好的依赖管理系统(Dependency Management System)和项目生命周期的管理(Project Leftcycle),而其中的依赖管理是本文阐述和做出实例的重点。实例背景 利用一个教程的...
2016-08-15 14:35:00 172
转载 linux的命令
Linux命令的分类选项及参数的含义以“-”引导短格式选项的(单个字符),例如“-l”以“--”引导长格式选项(多个字符),例如“--color”多个短格式选项可以写在一起,只用一个“-”引导,例如“-al”命令的分类目录操作命令pwd,cd, ls , mkdir, du文件操作命令touch,file,cp,rm,mv,which,find,in文件内容操作命令cat ,more,l...
2016-08-14 00:50:00 100
转载 约瑟夫问题
一.约瑟夫问题 17世纪的法国数学家加斯帕在《数目的游戏问题》中讲到一个故事,15个教徒和15个非教徒在海上遇难,必须将一半的人投入海中,其余的人才能幸免于难,于是想了一个方法,30个人围成一个圆圈,从第一个人开始依次报数,每数到第九人,就将他扔入大海中,如此循环进行,直到仅余15人为止。设计一个算法,让15教徒幸免要如何排序。二.问题分析 题目中30...
2015-03-08 14:02:00 154
转载 java虚拟机内部介绍
一.介绍 java 的内存管理和垃圾回收在某种程度是同一个问题来着。对于java程序员来说,在虚拟机自动内存管理机制的帮助下,不在需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄露和内存溢出问题,由虚拟机管理内存这一切看起来变得很美好.不过,也正是因为java程序员将内存控制的权利交给了java虚拟机,一旦出现内存泄露和溢出的问题,如果不...
2015-03-05 14:39:00 78
转载 for循环和迭代
迭代的一个时间复杂度最大就是n^2,而在for循环和迭代相结合的一个情况下则是一个排序组合,不再是一个简单n^2,而是阶乘n!.转载于:https://www.cnblogs.com/kgrdomore/p/4304486.html...
2015-02-27 22:41:00 96
转载 Java数据类型和对象的引用
在Java中,变量分为两类:1.基本类型变量,java是传递的副本2.一切对象型变量,传引用副本的实质是复制指向地址的指针a.基本类型引用public class BasicTransmit { public static void test(boolean test){ test =! test; System.out.println("in ...
2015-02-10 13:05:00 76
转载 归并排序
一.定义 归并排序是将两个排序的子序列合并,形成一个排序的数据序列,又称为两路归并排序.n个元素的数据序列可看成是由n个长度为1的排序子序列组成,反复将相邻的两个子序列归并成一个排序的子序列,直到合并成一个序列,则排序完成.二.算法实现 两路归并排序包括三个方法.核心操作是一次归并,将数组X中相邻的两个排序的子序列归并到数组Y中,成为Y子序列. ...
2015-02-09 21:41:00 65
转载 选择排序
一,选择排序 选择排序算法有两种:直接选择排序和堆排序.二,直接选择排序 1.基本思想:第一趟从n个元素的数据序列中选出关键字最大(或最小)的元素并放在最后(或最前)位置,下一趟再从n-1个元素中选择出最大(小)的元素并放在次后(前)位置.以此类推,经过n-1趟完成排序.直接选择算法可用顺序表和单/双链表实现. 2.代码//以下是书本的直接选择...
2015-02-08 16:35:00 85
转载 交换排序
一.介绍基于交换排序的算法有两种:冒泡排序和快速排序,冒泡排序其实是比较简单的排序算法,而快速排序则是在冒泡排序上面更高一层的思想体现.二.冒泡排序1.基本思想: 比较相邻两个元素的关键字值,如果反序,则交换.若按升序排序,每一趟将被扫描的数据序列中的最大元素交换到最后位置,就像气泡从水里冒出来一样.同样的,冒泡排序每一趟也是要遍历n-1次,比较n-1次.从第一个元素和第二个...
2015-02-08 13:50:00 117
转载 插入排序
一.介绍插入排序中有比较简单的直接插入排序,也有在直接插入排序上升级版本:希尔排序.插入排序(insertion sort)的基本思想是:每趟将一个元素,按其关键字大小插入到它前面已排序的子序列中,使得插入后的子序列仍是排序的,依此重复,直到全部元素插入完毕.二.详解1.直接插入排序思想指导方法:首先我们要找到一个已经排序好了的子序列,而一开始最佳选择就是在第一个位置...
2015-02-07 22:39:00 80
转载 有关于break,continue,return的区别和代码分析
今天,用代码和结果直接解释break,continue,return的区别1.break代码public static void breakTest() { //break的讲解 for(int i = 1 ;i<=5;i++){ for(int j=1 ; j<=5 ;j++){ ...
2015-02-05 17:03:00 95
转载 代理模式
代理模式一、介绍 A要做某事,但是不方便去做,所以让B去做,这就是最简单的代理模式。二、例子 在这个例子中我们将建立三个类,一个抽象类(定义A想要做的事情),一个真实类(就是A啦),一个代理类(就是角色为Proxy的B)。1.抽象类public abstract class Subject { //A想要做的事情 p...
2015-01-23 10:03:00 76
转载 工厂模式的介绍、优缺点
二、工厂模式1.介绍 在上一节中介绍了“简单工厂模式”,现在来介绍下“工厂模式”,在“工厂模式”和“简单工厂模式”中,最主要,最明显的区别之一是“工厂模式”下可以设立多个子工厂,而不是所有的产品有单一的工厂来生产,而是给各自特色的子工厂来生产。2.例子 我们还是继续使用“计算器”来作为例子吧。由于在产品Product的结构模式变化不大,所以就不在载入(...
2015-01-22 16:33:00 373
转载 简单工厂模式的介绍、优缺点分析和解决方案
所有的模式都是利用java中的封装、继承、多态这三个特性张开的,就像由这三个秘籍组成的各种变幻万千的招式,而所有的目的都是为了打败坏模式带来的代码垃圾这个敌人,所有的招式都是要求“可维护”、“可扩展”、“可复用”,当然如果达到这三个标准后,基本上“灵活性好”同时也就拥有了。所以下面介绍最常用的工厂模式,分为三类:简单工厂模式、工厂模式和抽象工厂模式。一、简单工厂模式1.介绍 ...
2015-01-22 15:00:00 201
转载 Java的数据转换
Java的数据类型分为三大类,即布尔型、字符型和数值型,其中数值型又分为整型和浮点型。相对于数据类型,Java的变量类型为布尔型boolean;字符型char;整型byte、short、int、long;浮点型 float、 double。其中四种整型变量分别对应于不同的精度和范围。此外,编程时还经常用到两种类变量,即String和Date。 字符型中的char是16bit...
2015-01-14 17:14:00 73
转载 有关于i++,i=i++等符号的笔记
最近在看一些基础知识,发现自己以前忽略掉了很多东西,而这些东西恰恰是面试笔试中最常考到的1.i=i+1这个是最简单,最明了的一个表达式2.有关于i++和++i的区别i++和++i都是代表i=i+1的意思;i++指的是i++所在的语句运行后,i再自增1;++i指的是++i所在的语句运行前,i先自增1;其实这个大家都懂,就不在阐述;同时加一道题目,大家看看int i=0;i=++i ...
2015-01-14 13:57:00 339
转载 单例模式
单例模式代码本身classSingleton{//将声明对象的工作发在全局变量中privatestaticSingletoninstance;//这个对象是为了在锁住这个类的时候的判断privatestaticObjectobject=newObject();//私有化构造方法,只有本身可以创建本身pr...
2015-01-12 23:16:00 93
转载 欧几里得算法--辗转相除法
今天在做一个很简单的算法题目,“求最大公约数和最小公倍数”。一看,太tm容易。 思考过程是这样的:1.最大公约数,有两个个极端,一个是最大公约数是1,一个最大公约数是两个数之间较小的那个数。2.我就理所当然地认为,so easy。不就一个for循环吗?从较小的那个数到1的这一段范围就,如果其中一个数能被较大的数整除不就ok罗,然后返回到那个数,不就得到最大公约数...
2014-10-22 20:22:00 124
转载 java中多线程入门有趣介绍
我们在网上可以看到所有有关于java的线程的基本概念的很多解释,不乏有很多详细经典的解释和代码解说。但是我们的很多初学者看完不能有一个直观的印象,特别是一些没有编程基础的学习者,很多时候要花很多时间去理解。我希望这篇文章能给初学者一个很直观,很容易理解的角度去学习。一、java线程的生命周期了解一个东西,要搞清楚它是怎么运作的。搞清楚内部的来龙去脉是一个学习极好的角度,而生命周期...
2014-10-17 21:44:00 86
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人