一、考虑用静态工厂方法代替构造器:构造器是创建一个对象实例最基本也最通用的方法,大部分开发者在使用某个class的时候,首先需要考虑的就是如何构造和初始化一个对象示例,而构造的方式首先考虑到的就是通过构造函数来完成,因此在看javadoc中的文档时首先关注的函数也是构造器。然而在有些时候构造器并非我们唯一的选择,通过反射也是可以轻松达到的。我们这里主要提到的方式是通过静态类工厂的方式来创建class的实例,如:1publicstaticBooleanval
系统 2019-08-29 22:02:41 2472
用java.util.Timer定时执行任务如果要在程序中定时执行任务,可以使用java.util.Timer这个类实现。使用Timer类需要一个继承了java.util.TimerTask的类。TimerTask是一个虚类,需要实现它的run方法,实际上是他implements了Runnable接口,而把run方法留给子类实现。下面是我的一个例子:classWorkerextendsTimerTask{publicvoidrun(){System.out
系统 2019-08-29 23:22:38 2471
小生现在大二,java学习的时间不到一年但是自认学习效率还是比较高的,同时在java上用时也比较多在周末,放假,暑假。每天能花费12+个小时在实验室里面钻研j2ee我学过c/c++差不多一年吧(我就属于十分喜欢编程,完全不跟随课程走,想学神马就专攻神马,表示其他杂课挂的挺频繁的。。。。。。)今天在一个技术交流群里面见到有人谈论说java是【解释性语言】今天就在这里,发表一下自己的观点吧。。。就拿c++和java比较吧c++就是先将cpp源代码编译为二进制文
系统 2019-08-29 23:11:52 2471
在上篇文章里提到的是JUnit的学习,其中就涉及到了一些内置的annotation,如@Test、@Ignore等。现在我就结合个人的理解谈下如何自定义自己的annotation。annotation能被用来为某个程序元素(类、方法、成员变量等)关联任何的信息,但annotaion不能影响程序代码的执行,无论增加、删除annotation,代码都始终如一的执行。另外,尽管一些annotation通过java的反射api方法在运行时被访问,而java语言解释
系统 2019-08-29 22:31:46 2471
转载:三、Java架构师之路哇~你已经学到了JAVA架构师的水平了,现在的你应该已经非常娴熟的运用Java编程,而且有了一个良好的编程思路和习惯了,但是你可能还缺乏对应用软件整体架构的把握,现在就是你迈向架构师的第一步。你准备好了吗?OK.Let'sGO!准备好看你一个经典入门JAVA架构师的书籍吧。1、《ExpertOne-on-OneJ2EEDesignandDevelopment》这本书是RodJohnson的成名著作,非常经典,从这本书中的代码诞生
系统 2019-08-29 22:16:22 2471
下载了文档自己截图存留8种排序之间的关系:1,直接插入排序(1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2]个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。(2)实例(3)用java实现packagecom.njue;publicclassinsertSort{publicinsertSort(){inta[]={49,38,65,97,76,13,27,49,78,34
系统 2019-08-12 09:29:58 2471
请大家务必审题,转行做程序员,是程序员,并非数据分析也不是软件测试。首先声明:这是一篇容易引起撕逼的问答,为了祖国和谐,人民安康,请各位看官尽量理性讨论。同时,这篇文章是面向一些初入行的朋友进行一些相对中肯一点的分析和建议而已,虽然有浓厚的个人色彩,但我还是尽量以事实说话,以代码说话,大牛们就不要拿自己的牛逼经验来这里装逼了。我先问大家一个问题,为什么中国人用刀叉是很容易上手的一件事情,而外国人用筷子,应该是他们在中国吃饭时最痛苦的一件事情吧。为什么会这样
系统 2019-09-27 17:47:34 2470
Java理论与实践:使用通配符简化泛型使用理解通配符捕获英文原文级别:高级BrianGoetz(brian.goetz@sun.com),高级工程师,SunMicrosystems2008年5月26日通配符是Java™语言中最复杂的泛型之一,特别是围绕捕获通配符的处理和令人困惑的错误消息。在这一期的Java理论与实践中,资深Java开发人员BrianGoetz解释了一些由javac生成的怪异错误消息并提供了一些简化泛型使用的技巧和解决方法。自从泛型被添加到
系统 2019-08-29 23:14:24 2470
1.JAR文件包JAR文件就是JavaArchiveFile,顾名思意,它的应用是与Java息息相关的,是Java的一种文档格式。JAR文件非常类似ZIP文件——准确的说,它就是ZIP文件,所以叫它文件包。JAR文件与ZIP文件唯一的区别就是在JAR文件的内容中,包含了一个META-INF/MANIFEST.MF文件,这个文件是在生成JAR文件的时候自动创建的。举个例子,如果我们具有如下目录结构的一些文件:.\com\fieldstar\isdet\cha
系统 2019-08-29 22:57:22 2470
Java基础axman考验你的Java基础1.简述逻辑操作(&,|,^)与条件操作(&&,||)的区别。(15分)2.下面程序运行会发生什么结果?如果有错误,如何改正?(15分)interfaceA{intx=0;}classB{intx=1;}classCextendsBimplementsA{publicvoidpX(){System.out.println(x);}publicstaticvoidmain(String[]args){newC().p
系统 2019-08-29 23:02:31 2469
1、JavaIO流io是java中实现输入输出的基础,它可以很方便的完成数据的输入输出操作,Java把不同的输入输出抽象为流,通过流的方式允许Java程序使用相同的方式来访问不同的输入、输出。2、流的分类输入流、输出流A、输入流:只能从中读取数据,而不能向里面写数据B、输出流:只能向里面写数据,而不能读数据可以这样理解,数据从内存到硬盘,通常认为是输出流,即写操作;相反,从硬盘到内存,通常认为是输入流,即读操作;这里的输入、输出是从内存的角度划分的。Jav
系统 2019-08-12 01:33:49 2469
在Java技术领域,JavaWeb应用开发空前活跃,致使许多程序员都积极地学习有关JavaWeb开发技术,但是面对众多的开发技术,许多人会感到困惑,不知如何学习,如何在实战中应用这些技术。本书就是为完整地学习JavaWeb开发技术后,想整合应用且逐步过渡到轻量级JavaEE开发的人员准备的。本书内容融入了作者多年的JavaWeb开发经验。本书第二版在前版的基础上扩充了相关的基础知识,并提供了更贴切的实用型案例。此书被多所高校采用为教材,在第二版的修订中,因
系统 2019-08-29 22:44:27 2468
1.计算某一月份的最大天数Calendartime=Calendar.getInstance();time.clear();time.set(Calendar.YEAR,year);//year为inttime.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0intday=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数注:在使用set方法之前,必须先cle
系统 2019-08-12 09:30:09 2468
《关于Java,我做过的书,从浅到深》原文地址:http://www.jianshu.com/p/3c30dcc352f9?utm_campaign=maleskine&utm_content=note&utm_medium=pc_author_hots&utm_source=recommendation“关于Java,我做过的书,从浅到深”
系统 2019-08-12 09:30:36 2467
共发帖211个总祝福分:27,332其中300分7个206分1个200分32个177分1个117分1个100分140个其它的21个散分排行榜(400分以上的)2008年5月19日14
系统 2019-08-29 23:13:55 2466