一、考虑用静态工厂方法代替构造器:构造器是创建一个对象实例最基本也最通用的方法,大部分开发者在使用某个class的时候,首先需要考虑的就是如何构造和初始化一个对象示例,而构造的方式首先考虑到的就是通过构造函数来完成,因此在看javadoc中的文档时首先关注的函数也是构造器。然而在有些时候构造器并非我们唯一的选择,通过反射也是可以轻松达到的。我们这里主要提到的方式是通过静态类工厂的方式来创建class的实例,如:1publicstaticBooleanval
系统 2019-08-29 22:02:41 2453
好久没有上来更新过了,最近在学习线程池实现,参考了Tomcat和Jetty的线程池的实现后,还是比较佩服他们的实现的,佩服瞬间突然回忆起来以前看过的书里面提到过JDK1.5带了douglea的concurrency包,douglea算是对Java世界影响最大的人物之一了,其对Java的贡献绝对超过JamesGosling等Java世界的“言论”巨头(我认为而已)。这位可爱的老教授为JDK中的Collection和如今的Concurrency包作出的贡献是不
系统 2019-08-29 21:58:22 2453
下载了文档自己截图存留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 2452
前些年内部培训写的ppt.一个介绍j2ee基础,包括Servlet/Filter/SessionListener的启动和编写方法,以及他们为什么会在这个世界上存在的道理。这个pptcopy了先人的一些知识,我在里面隐藏了很多小故事,适合用来讲解(讲解的话大概2个小时)。另外一个介绍mvc的原理,主要是说MVC为什么要可以在这个世界存活下来,他帮助解决了什么问题,以及如何设计一个自己的MVC。相信对理解mvc的原理会有所帮助。希望有用处。分享2个javaj2
系统 2019-08-29 23:12:22 2451
Java理论与实践:使用通配符简化泛型使用理解通配符捕获英文原文级别:高级BrianGoetz(brian.goetz@sun.com),高级工程师,SunMicrosystems2008年5月26日通配符是Java™语言中最复杂的泛型之一,特别是围绕捕获通配符的处理和令人困惑的错误消息。在这一期的Java理论与实践中,资深Java开发人员BrianGoetz解释了一些由javac生成的怪异错误消息并提供了一些简化泛型使用的技巧和解决方法。自从泛型被添加到
系统 2019-08-29 23:14:24 2450
请大家务必审题,转行做程序员,是程序员,并非数据分析也不是软件测试。首先声明:这是一篇容易引起撕逼的问答,为了祖国和谐,人民安康,请各位看官尽量理性讨论。同时,这篇文章是面向一些初入行的朋友进行一些相对中肯一点的分析和建议而已,虽然有浓厚的个人色彩,但我还是尽量以事实说话,以代码说话,大牛们就不要拿自己的牛逼经验来这里装逼了。我先问大家一个问题,为什么中国人用刀叉是很容易上手的一件事情,而外国人用筷子,应该是他们在中国吃饭时最痛苦的一件事情吧。为什么会这样
系统 2019-09-27 17:47:34 2449
一、Java的故事1、Java的诞生让我们把时空切换到1982年,那一年一个伟大的公司诞生于美国斯坦福大学校园,它的名字叫SunMicrosystems,直译的话叫太阳微系统公司,我们平时就叫他Sun,事实上Sun是StanfordUniversityNetwork的缩写。Sun在行业中被认为是最具创造性的企业。是极少数几个同时拥有自己微处理器、电脑系统、操作系统的公司。然而,1990年的一天,Sun的总裁麦克尼利(McNealy)听说他最好的一个工程师詹
系统 2019-08-29 23:03:38 2449
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 2449
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 2449
用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 2447
小生现在大二,java学习的时间不到一年但是自认学习效率还是比较高的,同时在java上用时也比较多在周末,放假,暑假。每天能花费12+个小时在实验室里面钻研j2ee我学过c/c++差不多一年吧(我就属于十分喜欢编程,完全不跟随课程走,想学神马就专攻神马,表示其他杂课挂的挺频繁的。。。。。。)今天在一个技术交流群里面见到有人谈论说java是【解释性语言】今天就在这里,发表一下自己的观点吧。。。就拿c++和java比较吧c++就是先将cpp源代码编译为二进制文
系统 2019-08-29 23:11:52 2447
DK1.5引入了新的类型——枚举。在Java中它虽然算个“小”功能,却给我的开发带来了“大”方便。用法一:常量在JDK1.5之前,我们定义常量都是:publicstaticfianl....。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。Java代码publicenumColor{RED,GREEN,BLANK,YELLOW}publicenumColor{RED,GREEN,BLANK,YELLOW}用法二:s
系统 2019-08-12 09:30:22 2447
理解Ajax编程的基本知识是重要的,但是如果正在构建复杂的用户界面,那么能够在更高层次的抽象上工作也很重要。在面向Java开发人员的Ajax系列的第3篇文章中,我在上个月的Ajax的数据序列化技术基础之上,介绍一种可以避免繁琐的Java对象序列化细节的技术。在上一篇文章中,我介绍了如何用JavaScript对象标注(JSON)以一种在客户机上容易转化成JavaScript对象的格式对数据进行序列化。有了这个设置,就可以用JavaScript代码调用远程服务
系统 2019-08-29 23:11:13 2446
《关于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 2446
点击这里使用RSS订阅本Blog: