Java

Effective Java (创建和销毁对象)

一、考虑用静态工厂方法代替构造器:构造器是创建一个对象实例最基本也最通用的方法,大部分开发者在使用某个class的时候,首先需要考虑的就是如何构造和初始化一个对象示例,而构造的方式首先考虑到的就是通过构造函数来完成,因此在看javadoc中的文档时首先关注的函数也是构造器。然而在有些时候构造器并非我们唯一的选择,通过反射也是可以轻松达到的。我们这里主要提到的方式是通过静态类工厂的方式来创建class的实例,如:1publicstaticBooleanval

系统 2019-08-29 22:02:41 1985

Java

java 设计模式

l创建模式1.工厂模式简单工厂:又称静态工厂方法模式,它可以根据传进来的参数来选择创建哪些对象。这样方便,但有个缺点,因为工厂模式本来就是为了将对象的使用和创建脱藕,而如果使用简单工厂模式的话,那么客户端就需要知道要创建的对象的类型。工厂方法:又称多态性工厂模式。工厂模式的核心是一个抽象工厂类,而简单工厂模式把核心放在一个具体类上。工厂方法模式可以允许很多具体工厂从抽象工厂类中将创建行为继承下来,从而可以成为多个简单工厂模式的统合,进而推广了简单工厂类。而

系统 2019-08-12 09:30:07 1985

Java

Java桌面游戏巡礼——Java数独

“数独”(sudoku)一词来自日语,意思是“单独的数字”或“只出现一次的数字”。概括来说,它就是一种填数字游戏。但这一概念最初并非来自日本,而是源自拉丁方块,它是十八世纪的瑞士数学家欧拉发明的。数独把填字游戏和棋盘游戏巧妙地结合在一起,采用填字游戏式的棋盘,解题时在空格中填上1-9的数字。这种游戏不仅需要逻辑思维能力,还需要一点加法运算。规则数独的游戏规则很简单,9x9个格子里,已有若干数字,其它宫位留白,玩家需要自己按照逻辑推敲出剩下的空格里是什么数字

系统 2019-08-29 22:52:57 1984

Java

java内存分配和String的不变性

转载请出自出处:http://eksliang.iteye.com/blog/2146549http://eksliang.iteye.com一.java分配内存涉及的区域包括寄存器常量池栈堆静态存储域二.寄存器介绍寄存器是最快的内存区域,因为他保存在处理器内部,这块区域我们没有直接的控制权,也不可能在代码里面找到寄存器的任何存在踪迹,所以这块不做讨论三.常量池介绍1.常量池是什么?答:他是在.class文件中开避的一块内存区域,用来存储在编译期间就可以确

系统 2019-08-12 09:30:36 1984

Java

Java--Eclipse关联Java源码

打开Eclipse,Window->Preferences->Java点Edit按钮后弹出:点SourceAttachment后弹出:选择Java安装路径下的src.zip文件即可跟Java源码关联Java--Eclipse关联Java源码

系统 2019-08-12 01:33:01 1984

Java

Java线程:并发协作-死锁

Java线程:并发协作-死锁线程发生死锁可能性很小,即使看似可能发生死锁的代码,在运行时发生死锁的可能性也是小之又小。发生死锁的原因一般是两个对象的锁相互等待造成的。在《Java线程:线程的同步与锁》一文中,简述死锁的概念与简单例子,但是所给的例子是不完整的,这里给出一个完整的例子。/***Java线程:并发协作-死锁**@authorAdministrator2009-11-422:06:13*/publicclassTest{publicstaticv

系统 2019-08-12 09:29:31 1983

Java

想转行做程序员,是学习JAVA还是Python?哪个更好?

请大家务必审题,转行做程序员,是程序员,并非数据分析也不是软件测试。首先声明:这是一篇容易引起撕逼的问答,为了祖国和谐,人民安康,请各位看官尽量理性讨论。同时,这篇文章是面向一些初入行的朋友进行一些相对中肯一点的分析和建议而已,虽然有浓厚的个人色彩,但我还是尽量以事实说话,以代码说话,大牛们就不要拿自己的牛逼经验来这里装逼了。我先问大家一个问题,为什么中国人用刀叉是很容易上手的一件事情,而外国人用筷子,应该是他们在中国吃饭时最痛苦的一件事情吧。为什么会这样

系统 2019-09-27 17:47:34 1982

Java

java 串口编程

通过JAVA与串口(RS232)通信实例文章分类:Java编程关键字:javacom串口rs232最近了解到的需求是需要需激光打刻机进行(RS232)串口通信,这里使用的是RXTX开源包实现的。之前并没有用java做过串口通信,而且这方面资料不是很多。项目实际应用中可能会采用VB开发(这个我就不会了)只不过用java尝试一下,记个笔记,希望可以对相关开发用些帮助。下面是实现代码Java代码packagetest;importjava.io.IOExcept

系统 2019-08-29 22:16:24 1982

Java

Java 入门 四 (Java 三大特性之一 继承)

Java入门四(Java三大特性之一继承)继承顾名思义看名字也应该有所了解,好了不扯了切入正题。Java中继承用extends。类由变量和方法构成。变量也可以被称为成员变量和属性。方法分成员方法和构造方法。父类也可以称为基类,超类。子类也可以称为派生类,导出类.子类能够继承父类中所有变量和方法(构建函数不能被继承)。当你创建一个子类对象时,在这个子类对象中有一个父类对象。当你调用子类构建函数时,在这个子类构建函数中必须调用父类的构建函数。如果在子类构建函数

系统 2019-08-12 09:30:21 1982

Java

java现状----编程使用的语言最新排名

有相当权威性的TIOBE的编程语言指数最近一期的结果显示Java稳居第一,且有较大优势,C++下降了两名,落后于(Visual)Basic和PHP,成了老五。而C则稳居第二。PositionSep2007PositionSep2006DeltainPositionProgrammingLanguageRatingsSep2007DeltaSep2006Status11Java21.701%+0.17%A22C14.908%-3.15%A34(Visual)

系统 2019-08-29 23:41:24 1981

Java

java解释xml

这就一个简单的jdom怎么解释xmlTest.javaimportorg.jdom.Document;importorg.jdom.Element;importorg.jdom.input.SAXBuilder;importjava.io.*;importjava.util.*;publicclassTest...{publicTest()...{}publicstaticvoidmain(String[]args)...{Documentdom=null

系统 2019-08-29 22:39:30 1981

Java

Apache Axis2(java web service)備忘記(图文并

原文地址:joeytaAxis(ApacheExtensibleInteractionSystem)為Apachewebservice開源計劃,WebService功能為提供兩個遠端程式互相溝通,其溝通使用的協定為SOAP(SimpleObjectAccessProtocol).Axis2增強舊版Axis的效能,加入模組化及使其更面向XML,Axis2設計成更容易嵌入如security及其他可靠模組.官方網站有更詳細的說明.Webservice其運作原理如

系统 2019-08-29 22:13:37 1981

Java

关于Flex+json+Java的整合开发【连载二】- Java

由于系统中是用Json传输数据的,我觉得在这里有必要把Java和Flex处理Json数据分别介绍一下,今天我们先介绍Java处理Json数据。java里面已经有开源包实现了把一个Java对象转换为JSon对象,它就是http://www.json.org/java/,各位读者可以在这个网站上面去下载jar包。首先创建一个自己的public的class,需要转换的类必须是public的,如果不是public的,这里转换不成功,我在写这篇文章的时候就遇到了这样

系统 2019-08-12 09:29:38 1981

Java

将BIRT整合到自己的Java项目中(一)

BIRT的runtime下载包中有一个birt.war文件,将它解开,复制WEB-INF/plantform目录下的congiguration和plungins目录到项目lib/birt-2.1.2目录,复制WEB-INF/lib目录下的jar到项目lib/birt-2.1.2/lib。顺便说一下,我的项目目录结构是这样的:src/javalib/birt-2.1.2/libconfgurationpluginsweb/WEB-INF如果项目需要使用BIR

系统 2019-08-12 09:29:50 1980