
JAVA基础
苏美尔叹息
不疯魔,不成佛
展开
-
正则表达式
正则表达式在计算理论或编译原理中曾经论述过用正则文法来做词法分析,所以正则文法具备表达任何字符串的能力。正则表达式的表达能力和正则文法相当,对于任何一类字符串描述,都可以用正则表达式表达。在实际的编程中,我们通常会遇到字符串匹配、过滤等操作,而这种操作往往可以通过正则表达式来解决;而一般常用的语言都会提供相应的语言库API来支持正则表达式,如Java的java.util.regex包下的M转载 2013-06-19 21:17:58 · 1069 阅读 · 0 评论 -
MyEclipse中使用Junit
在Spring框架中使用junit,建议使用Junit4.4版本的。使用要注意的问题:1.如果已经将junit-4.4.jar包导入到项目中,测试一个类中的方法,点击该类 new--->Junit Test Case如果已经将junit-4.4.jar包导入到项目中,new--->Junit Test Case的时候,默认采用的junit jar包就是自己添加的junit4.4 j转载 2013-11-06 01:42:04 · 1456 阅读 · 0 评论 -
JUnit4的使用
JUnit4是JUnit框架有史以来的最大改进,其主要目标便是利用Java5的Annotation特性简化测试用例的编写。先简单解释一下什么是Annotation,这个单词一般是翻译成元数据。元数据是什么?元数据就是描述数据的数据。也就是说,这个东西在Java里面可以用来和public、static等关键字一样来修饰类名、方法名、变量名。修饰的作用描述这个数据是做什么用的,差不多和publ转载 2013-11-06 01:25:49 · 920 阅读 · 0 评论 -
浅谈ISO 8859-1与UTF-8
ISO/IEC8859-1,又称Latin-1或“西欧语言”,是国际标准组织内ISO/IEC 8859的第一个8位字符集。它以ASCII为基础,在空置的0xA0-0xFF的范围内,加入96个字母及符号,藉以供使用变音符号的拉丁字母语言使用。UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Tho原创 2014-03-12 22:54:10 · 1345 阅读 · 0 评论 -
sun的java编译器对string常量表达式的处理和优化
首先把问题摆出来,先看这个代码 String a = "ab";String b = "a" + "b";System.out.println((a == b));打印结果会是什么?类似这样的问题,有人考过我,我也拿来考过别人(蛮好玩的,大家也可以拿来问人玩),一般答案会是以下几种:1.true"a" + "b" 的结果就是"ab",这样a,b都是"ab"了,内容一样所以"转载 2014-03-12 21:16:23 · 620 阅读 · 0 评论 -
Java中遭遇NaN
虽然几乎每种处理器和编程语言都支持浮点运算,但大多数程序员很少注意它。这容易理解 ,我们中大多数很少需要使用非整数类型。除了科学计算和偶尔的计时测试或基准测试程序,其它情况下几乎都用不着它。同样,大多数开发人员也容易忽略 java.math.BigDecimal 所提供的任意精度的小数, 大多数应用程序不使用它们。然而,在以整数为主的程序中有时确实会出人意料地需要表示非整型数据。例如,JDBC 使转载 2014-03-13 23:03:20 · 2455 阅读 · 0 评论 -
spring的jdbcTemplate实现分页
1、分页类代码:import java.sql.ResultSet;import java.sql.SQLException;import java.util.List;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.jdbc.core.RowMapper;import转载 2014-03-28 00:00:00 · 6201 阅读 · 0 评论 -
java 8简明教程(新特性)
[java] view plaincopyJava并没有没落,人们很快就会发现这一点” 欢迎阅读我编写的Java 8介绍。本教程将带领你一步一步地认识这门语言的新特性。通过简单明了的代码示例,你将会学习到如何使用默认接口方法,Lambda表达式,方法引用和重复注解。看完这篇教程后,你还将对最新推出的API有一定的了解,例如:流控制,函数式接口,map扩展和新的时间日期API等等转载 2014-03-22 14:39:24 · 570 阅读 · 0 评论 -
处理URL传递中文乱码问题
方法1:在后台中先获得字符串的iso-8859-1编码形式数组,再使用此数组实例一个UTF-8编码形式String类型字符串. 页面提交的url为:leavesp?work=部门主管审批 后台处理:String inStr=request.getParameter("work ");String outStr = new String(inStr.getBytes("iso转载 2014-04-18 20:31:01 · 1052 阅读 · 0 评论 -
Java实现验证码
模式一: makeCertPic.java package pic; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.IOExceptio转载 2014-03-26 20:05:18 · 598 阅读 · 0 评论 -
java中hashcode()的作用
hashcode()是干什么用的?首先hashcode是哈希算法的一中简单实现,他是一个对象的哈希吗值。一般和equals一起使用。 hashcode也是用来查找的,如果你学过数据结构就应该知道,在查找和排序这一章有 例如内存中有这样的位置 0 1 2 3 4 5 6 7 而我有个类,这个类有个字段叫ID,我要把这个类存放在以上8个位置之一,如果不用hashcode而任意存放,转载 2013-10-06 22:59:06 · 1036 阅读 · 0 评论 -
Java中的权限修饰符
一个Java应用有很多类,但是有些类,并不希望被其他类使用。每个类中都有数据成员和方法成员,但是并不是每个数据和方法,都允许在其他类中调用。如何能做到访问控制呢?就需要使用访问权限修饰符。 Java语言中的访问权限修饰符有4种,但是仅有3个关键字,因为不写访问权限,在Java中被称为默认权限,或同包权限,本文中以(default)代替。下面按照权限从小到大的顺序对4中访问权限分别介转载 2013-10-06 20:50:35 · 634 阅读 · 0 评论 -
单例模式(Singleton Pattern)
前面说提到的五种创建模式,主要解决的问题是如何创建对象,获得产品。而单例模式最要关心的则是对象创建的次数以及何时被创建。 Singleton模式可以是很简单的,它的全部只需要一个类就可以完成(看看这章可怜的UML图)。但是如果在“对象创建的次数以及何时被创建”这两点上较真起来,Singleton模式可以相当的复杂,比头五种模式加起来还复杂,譬如涉及到DCL双锁检测(double check转载 2013-10-04 14:59:22 · 558 阅读 · 0 评论 -
Java谜题畅读版之更多的库谜题
谜题78:反射的污染这个谜题举例说明了一个关于反射的简单应用。这个程序会打印出什么呢? [java] view plaincopyprint?import java.util.*; import java.lang.reflect.*; public class Reflector { public static voi转载 2013-06-19 16:17:42 · 899 阅读 · 0 评论 -
Java谜题畅读版之更多的类谜题
谜题66:一件私事在下面的程序中,子类的一个域具有与超类的一个域相同的名字。那么,这个程序会打印出什么呢? [java] view plaincopyprint?class Base { public String className = "Base"; } class Derived extends Base {转载 2013-06-19 16:16:57 · 796 阅读 · 0 评论 -
正则表达式概述与JAVA中正则表达式的应用
编程或者电脑使用过程中,经常需要对字符串进行 匹配,查找,替换,判断。如果单纯用代码 if () ,whlie 什么的进行比较复杂麻烦。正则表达式是一种强大灵活的文本处理工具,专门对字符串进行匹配,查找,替换,判断。正则表达式的各种匹配符[java] view plaincopy// 正则表达式的各种匹配符转载 2013-06-23 19:43:37 · 590 阅读 · 0 评论 -
JAVA中Scanner类中,next()与nextLine()的异同
在运用Scanner做语句解析的时候在next()与nextLine()之间小小的困惑了一下,下面是我的调试分享。next():public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String[] str = new String[1024];原创 2013-06-23 13:26:14 · 1263 阅读 · 0 评论 -
关于JAVA谜题畅读的进一步理解
在研究前几天转载的JAVA谜题时调试谜题25:无情的增量操作的理解:public class Increment { public static void main(String[] args) { int j = 0; for (int i = 0; i j = j++;原创 2013-06-20 09:39:52 · 918 阅读 · 0 评论 -
JAVA移位运算符
移位运算符就是在二进制的基础上对数字进行平移。按照平移的方向和填充数字的规则分为三种:>(带符号右移)和>>>(无符号右移)。对移位运算符右侧的参数值要进行模32的运算(若左侧是long型值则进行模64的运算),即在移位运算时,byte、short和char类型移位后的结果会变成int类型,对于byte、short、char和int进行移位时,规定实际移动的次数是移动次数和32的余数,原创 2013-06-20 15:38:16 · 922 阅读 · 0 评论 -
JAVA中的运算符
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。下面介绍JAVA中的运算符。 一、算术运算符: 单目:+(取正)-(取负) ++(自增1) - -(自减1) 双目:+ - * / %(取余) 三目:a>b?true:false 说明:当a大于b的时候,为true(也就是冒号之前的值),否则为false;这整个运算符包括一个关系运算符(可以是">"" 二、关系运算:转载 2013-07-30 13:25:29 · 999 阅读 · 0 评论 -
Java单例模式
单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。正是由于这个特 点,单例对象通常作为程序中的存放配置信息的载体,因为它能保证其他对象读到一致的信息。例如在某个服务器程序中,该服务器的配置信息可能存放在数据库或 文件中,这些配置数据由某个单例对象统一读取,服务进程中的其他对象如果要获取这些配置信息,只需访问该单例对象即可。这转载 2013-10-04 12:22:15 · 607 阅读 · 0 评论 -
如何写出更好的Java代码
Java是最流行的编程语言之一,但似乎并没有人喜欢使用它。好吧,实际上Java是一门还不错的编程语言,由于最近Java 8发布了,我决定来编辑一个如何能更好地使用Java的列表,这里面包括一些库,实践技巧以及工具。这篇文章在GitHub上也有。你可以随时在上面贡献或者添加你自己的Java使用技巧或者最佳实践。编码风格结构体builder模式依赖注入避免null值不可转载 2014-05-21 20:54:10 · 870 阅读 · 0 评论