随笔分类 - Java
Java技术及经验
摘要:一、判断一个字符串str不为空的方法有: 1、str == null; 2、"".equals(str); 3、str.length <= 0; 4、str.isEmpty(); 注意:length是属性,一般集合类对象拥有的属性,取得集合的大小。 例如:数组。length就是取得数组的长度。 length()是方法,一般字符串类对象有该方法,也是取得字符串长度。 例如:字符串。length(); 说明: 1、null表示这个字符串不指向任何的东西,如果这时候你调用它的方法,那么就会出现空指针异常。 2、""表示它指向一个长度为0的字符串,这时候调
阅读全文
摘要:你可能已经看过一些类似“关于调试的N件事”的文章了。但我想我每天大概在调试上会花掉1个小时,这是非常多的时间了。所以非常值得我们来了解一些用得到的功能,可以帮我们节约很多时间。所以在这个主题上值得我再来写一篇文章。第一条: 不要过分的调试!有关调试的第一条要牢记的便是这条很疯狂的口号!但是我必须要在这里再说一遍:不要过分的调试!试着将复杂的逻辑分解成独立的小单元,然后写单元测试代码来保证小单元的正确运行。我经常看到某些人会这么做:在一个大型的Web应用上点击,填了几个表单,跳转了多个页面,只是为了确认最后一个页面的结果的正确性,最后在调试视图下来开发代码。在你开启tomcat之前,应该要先问问
阅读全文
摘要:Java应用中抛出的空指针异常是解决空指针的最好方式,也是写出能顺利工作的健壮程序的关键。俗话说“预防胜于治疗”,对于这么令人讨厌的空指针异常,这句话也是成立的。值得庆幸的是运用一些防御性的编码技巧,跟踪应用中多个部分之间的联系,你可以将Java中的空指针异常控制在一个很好的水平上。顺便说一句,这是Javarevisited上的第二个空指针异常的帖子。在上个帖子中我们讨论了Java中导致空指针异常的常见原因,而在本教程中我们将会学习一些Java的编程技巧和最佳实践。这些技巧可以帮助你避免Java中的空指针异常。遵从这些技巧同样可以减少Java代码中到处都有的非空检查的数量。作为一个有经验的Ja
阅读全文
摘要:这个例子是用面向过程的编写,然后再介绍一个可达到同样效果的面向对象的方法array.java代码如下: 1 class ArrayApp 2 { 3 public static void main(String[] args) 4 { 5 long[] arr; //声明数组 6 arr = new long[100]; // 创建数组 7 int nElems = 0; // 索引 8 int j; /...
阅读全文
摘要:类的封装性不只是体现在对属性的封装上,实际上的方法也是可以被封装的,当然,在方法的封装中也包含了对构造方法的封装。如下代码就是对构造方法进行了封装。代码如下:class TestClass{ private TestClass() { System.out.println("构造方法被封装了!"); } public void print() { System.out.println("类中的方法!"); }} public class TestDemo{ TestClass tc=null;//可以声...
阅读全文
摘要:如何去学习Java Web开发?1. java基础。这是最基本的,也是最重要的,熟悉java语言基础不只在面试的时候有帮助,在以后的开发过程中也是不可或缺的。从一无所知到基本上能够写出一些小程序,我是花了有两个多月的时间的。但是我的java基础还不行,所以打算最近再恶补一下thinking in java这本经典。2. HTML+CSS+j。学完java基础之后,如果真的要学web开发,那么就必须得学习HTML+CSS+j,能够写出静态的页面。这些算比较简单的,但是j的话,我没有学得很好,但是还是算会用。3.SQL语法,MySQL,Oracle数据库操作,PL/SQL语言。因为我们做的系统大部
阅读全文
摘要:软件设计的十二个最佳步骤许多公司理解不了为何自己设计的软件没有达到预期的效果,也理解不了为何用户会遇到预料不到的错误。据微软加拿大公司的可用性顾问DavidCrow和多伦多的软件开发公司RadiantCore总裁JayGoldman介绍,没有比醒来后才发现需要可用性测试更糟糕的了。近日在加拿大辛尼加学院举行的自由软件和开源软件讨论会上,两人介绍了让软件设计返回正常轨道的12个步骤。第一个步骤:承认自己有问题Goldman说:“你想单凭自己设计出可用性良好的软件是不可能的。”他们主张借助人物角色,设计这种虚构人物是为了模拟目标用户群当中可能使用网站或者产品的不同类型的用户。增强可用性的“非正..
阅读全文
摘要:Java中23种设计模式详解通常,一个设计模式描述了一个被证实可行的方案。这些方案非常普遍,是具有完整定义的最常用的模式。一般模式有4个基本要素:模式名称(patternname)、问题(problem)、解决方案(solution)、效果(consequences)。 常见的Java设计模式有以下23种: 1、抽象工厂模式(AbstractFactory):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 2、适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口或类不兼容而不能一起工作的类可以一起工作。 3、桥梁模式...
阅读全文
摘要:对编程语言而言,好的编码风格不仅能在程序编写初期生成有效的框架编码,还可以让我们的编码更加清晰规范。但是,正如本文作者所说,一些Java程序的编码风格虽应用广泛,却会对编码的可维护性产生负面影响,对我们的编程有害。本文告诉你如何打破这种风格,重写这4个有害的编码风格,优化编码,提高可维护性。程序中的编码风格让我们的编程工作变得轻松,特别是程序维护员,他们要经常阅读其他人编写的程序编码,这一点尤其突出。编码规范从根本上解决了程序维护员的难题;规范的编码阅读和理解起来更容易,也可以快速的不费力气的借鉴别人的编码。对将来维护你编码的人来说,你的编码越优化,他们就越喜欢你的编码,理解起来也就越快。..
阅读全文
摘要:关于JavaFX已经有非常多的舆论报道、讨论和手册指南,对我们这些普通的Java开发者而言,JavaFX从技术角度来讲并不难掌握,更难的是我们要搞清楚它对我们而言到底是否有用,也即它到底意味着什么呢?James Sugrue在Javalobby的博客中阐述了他对此的看法。简述历史JavaFX是一个富客户端平台,可以创建出在多种设备上都可以运行的应用,这些设备包括电脑桌面和移动设备。JavaFX其中的一个主要优点是你为其中一个设备写出的代码可以运行在任何其他设备上,因为JavaFX集成了Java runtime,只要桌面安装了Java或者手持设备支持JavaME,那么这些代码就可以运行。Java
阅读全文
摘要:Java开发人员可以做出的最重要的架构性决策之一就是如何使用Java异常模型。Java异常一直以来就是社群中许多争议的靶子。有人争论到,在Java语言中 的异常检查已是一场失败的试验。本文将辨析,失败的原因不在于Java异常模型,而在于Java类库的设计者未能充分了解到方法失败的两个基本原因。本文倡导一种对异常条件本质的思考方式,并描述一些有助于设计的模式。最后,本文还将在AOP模型中,作为相互渗透的问题,来讨论异常的处理。当你能正确使用异常时,它们会有极大的好处。本文将帮助你做到这一点。为何异常是如此重要Java应用中的异常处理在很大程度上揭示了其所基于架构的强度。架构是在应用程序各个层次上
阅读全文
摘要:Jasypt开发团队推出了Java加密工具Jasypt 1.4,它可与Spring Framework、Hibernate和Acegi Security集成。与项目有关的一位开发者表示,Jasypt是一个Java库,可以使开发者不需太多操作来给Java项目添加基本加密功能,而且不需要知道加密原理。 Jasypt也即Java Simplified Encryption是Sourceforge.net上的一个开源项目。在当地时间11月23号的通告中,Jasypt 1.4的新特征包括:加密属性文件(encryptable properties files)、Spring Framework集成、加.
阅读全文
摘要:jama:java 矩阵包背景jama是一个基本的线性代数java包,它提供了实数非稀疏矩阵类,程序员可构造操控这些类。对于经常使用到矩阵运算的码农来说,即使不精通线性代数也没有关系,因为jama包提供的功能已经够用,调用方便,使用自然,而且易于理解。Jama包意欲称为java的标准矩阵包,这一标准计划将提交给Java Grande论坛,转而交给sun公司。java矩阵类的潜在竞争对手包括Mathworks公司和国家标准化管理委员会(NIST)实现的矩阵类,我们发布这一版本,以广收评议。将来jama的新版本不一定和现在的版本兼容。NIST和马里兰大学曾开发过一个类似的矩阵包:Jampack,这
阅读全文
摘要:如果你要买一辆车而且你的首要目标是性能或者更具体的说是原始动力,那么在4缸发动机和8缸发动机之间选择的话,答案很显然,因为越大越好。通常而言,当我们看计算机配置列表或者产品宣传的时候,64位的性能也比32位有优势,同样四核比双核更棒。 然而许多在大同世界里很简单的道理包括越多/大越好,移到计算机领域里就不是那么回事了。当处理多重CPU时,你会觉得那些多核所多出来的处理单元很有用,但如果你的工作仅仅是单线程的,那你要做的却是让其他核一边歇着。 32位与64位的比较则更加细微。x86-64架构不仅在x86架构的基础上增大了寄存器,而且还增加了寄存器的数量。从基本上说这会带来更好的性能(因为...
阅读全文
摘要:ava 3D 与用户界面Canvas3D能够绘制三维图形的每块区域都被称为是Canvas3D。它是包含了你环境(universe)中对象视图(view)的长方形。你把画布(canvas)放进帧(frame)中,于是你就创建了能够被显示在画布中的环境。下面的例子展示了如何在上下端有标签的帧中创建画布。程序能够以applet或者应用的方式运行。 1 import com.sun.j3d.utils.universe.SimpleUniverse; 2 import com.sun.j3d.utils.geometry.ColorCube; 3 import javax.media.j3d.Bran
阅读全文
摘要:Java程序员有许多应遵循的守则或最佳实践方式。本文概述了每个开发者最应该遵循的10条守则或戒律,如果不遵循它们,将会导致灾难性后果。1. 为代码添加注释(Add comments to your code).– 每个人都知道这一点,但不是每个人都会这么做。你有多少次“忘记”添加注释了?确实,注释不会为你的程序增加任何函数功能。但是,有多少次,看到2周前写的代码,你都记不起它是干什么的?你很幸运,那些未注释的代码是你自己写的,你脑海中还会有残存的印象。非常不幸,大多时候,代码是别人写的,并且那个人很可能已经离开公司了。有句谚语说的好:“有来有往,互惠互利”,因此程序员应该体谅彼此(还有你自己)
阅读全文
摘要:源代码: 1 public class RegularExpressionDemo 2 { 3 public static void main(String[] args) 4 { 5 String text="abcdebcadxbc"; 6 String [] tokens=text.split(".bc"); 7 for(String token:tokens) 8 { 9 System.out.print(token+" ");10 }11 Sys...
阅读全文
摘要:java数据结构内容整理关键字: 数据结构 Collection:List、Set Map:HashMap、HashTable如何在它们之间选择一、Array , ArraysJava所有“存储及随机访问一连串对象”的做法,array是最有效率的一种。1、 效率高,但容量固定且无法动态改变。 array还有一个缺点是,无法判断其中实际存有多少元素,length只是告诉我们array的容量。2、Java中有一个Arrays类,专门用来操作array。 arrays中拥有一组static函数, equals():比较两个array是否相等。array拥有相同元素个数,且所有对应元素两两相等。 fi
阅读全文
摘要:Java中类与类之间的关系存在以下关系: 1、 泛化(Generalization) 很简单,就是我们常说的继承。是说子类获得父类的功能的同时,还可以扩展自己的功能。 如图: Java代码中表现为:extends 和 implements 2、 依赖(Dependency) 两个相对独立的咚咚(A和B),当A负责构造B时,A与B形成依赖关系,即A使用B。 如图: Java代码中的表现为局部变量,方法的参数,以及对静态方法的调用 3、 关联(Association) 两个相对独立的咚咚(A和B),当A对象持有B对象的时候,形成关联关系。 关于分为有两种特殊的形式,聚合(Ag...
阅读全文
摘要:1 public class Regex { 2 3 /** 4 * 检查 email输入是否正确 5 * 正确的书写格 式为 username@domain 6 * @param value 7 * @return 8 */ 9 public boolean checkEmail(String value, int length) { 10 return value.matches("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*")&&value.length()<=length; 11 } 1
阅读全文
浙公网安备 33010602011771号