java
文章平均质量分 82
tongyuehong
技术引领生活!
展开
-
安装Maven3时出现Exception in thread "main" java.lang.UnsupportedClassVersionError
一、问题描述安装完maven-3.3.9,并配置好环境变量之后,在命令行输入mvn -v,出现Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0 at java.lang原创 2016-02-18 19:21:36 · 16751 阅读 · 3 评论 -
JAVA中的饿汉式和饱汉式单例模式及jdk中Runtime类的单例模式实现方式详解
一、描述单例模式是一种非常常见的设计模式,即一个类只能有一个对象(实例),一般通过将该类的构造器私有化,来阻止在该类外创建该类的对象,并提供给外界一个唯一的对象(这个对象在该类中创建)。 java中的单例模式常见的有两种实现方式,一种是恶汉方式,即将该类对象用static休息并且在类加载的时候进行初始化;另一种是饱汉方式,在程序中需要用到该对象的时候才初始化,一旦初始化一次就不原创 2015-04-25 11:28:33 · 2509 阅读 · 0 评论 -
java中类的静态代码块、构造代码块、构造方法、静态成员的初始化顺序详解
一、描述java中类的静态代码块、构造代码块、构造方法、静态成员的初始化顺序: 首先,在类加载时,为类中的静态成员变量分配内存空间,并为其赋予默认值(整数型为0,浮点型为0.0,布尔型为false,字符型为'\u0000',引用型为null); 其次,执行静态成员变量的显式初始化操作。静态成员的初始化方法有两种,其一为在声明的时候直接初始化,其二为使用静态代码块进行初始化, 这两种原创 2015-04-25 16:20:19 · 2074 阅读 · 0 评论 -
java中JVM加载类的时机
一、描述java中的类在什么时候被JVM虚拟机加载呢?因为静态成员初始化的时候会在类首次加载的时候执行, 我们通过测试一个静态代码块的执行时间来判断JVM加载该类的时间。总结:JVM只在需要某个类或者使用Class.forName(className)强制加载类的时候才会被调用,如果只是声明某个类的引用,而没有创建对象则不会加载该类。二、源代码1、只是声明某个类的引用,而没原创 2015-04-25 17:26:02 · 2036 阅读 · 0 评论 -
java(引入一个中间变量,不引入中间变量)交换两个变量的值
一、描述在不引入其它变量的情况下交换两个数,引入一个变量做中介,交换两个数的值,第一种是引入一个临时变量,第二种是将两个数的和存放在其中一个变量中,第三种方法是使用异或运算,一个数异或上任意一个数两次都还是自己。二、源代码package tong.yue.sort;public class SwapTwoValues { /** * @param args */ public static void main(String[] args) { int a = 10,b = 20;原创 2015-04-18 23:00:09 · 4375 阅读 · 0 评论 -
java中子类覆盖父类方法所必须满足的条件
一、描述 子类重写(覆盖)父类的方法必须满足的条件: 1.父类中的方法在子类中必须可见,即子类继承了父类中的该方法(可以显式的使用super关键字来访问父类中的被重写的方法), 如果父类中的方法为private类型的,那么子类则无法继承,也无法覆盖。 2.子类和父类的方法必须是实例方法,如果父类是static方法而子类是实例方法,或者相反都会报错。 如果父类和子类都是static方原创 2015-04-26 12:05:47 · 26004 阅读 · 0 评论 -
JAVA基础编程50题(25-27题)详解
一、描述题目1:判断一个数字是否是2的阶次方数,例如8,16,64,256都是2的阶次方数。 题目解析:如果一个数是2的阶次方数,那么这个数字的二进制数的首位为1,后面跟着若干个0,例如8用二进制表示为1000,64为1000000, 如果让这个数减1,然后和这个数做按位&运算即得0,即(number-1)&number==0,8&7=1000&0111=0000。题原创 2015-04-19 11:25:45 · 1268 阅读 · 0 评论 -
JAVA基础编程50题(22-24题)详解
一、描述题目1:统计输入的一段字符串,分别统计这个字符串中大小写字母的个数,以及数字出现的次数。 第一种方法使用Character封装类的方法:isLowerCase(),isUpperCase(),isDigit()判断是否是该类字符, 第二种方法是直接使用char字符范围比较来统计。题目2:用户输入一串待统计的字符串,然后输入用户想要统计的某个单词或者字符的次数。 比如我输入如原创 2015-04-18 20:33:16 · 950 阅读 · 0 评论 -
JDK自带的二分查找算法和自己写的普通二分查找算法的比较(java二分查找源代码)
一、描述解析和比较JDK自带的二分查找算法和自己写的普通二分查找算法,使用二进制位无符号右移来代替除2运算,并使用产生随机数的方法产生一定范围的随机数数组,调用Arrays类的sort()静态方法,对int类型数组进行排序。Math.random()的用法:会产生一个[0,1)之间的随机数(注意能取到0,不能取到1),这个随机数的是double类型,要想返回指定范围的随机数如[m,n]之间原创 2015-04-18 21:30:28 · 5452 阅读 · 2 评论 -
JAVA基础编程50题(16-18题)详解
一、描述1、输出9*9表。程序分析:分行与列考虑,共9行9列,i控制行,j控制列。2、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个, 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了,求第一天共摘了多少。程序分析:采取逆向思维的方法,从后往前推断,第10天剩下一个,那第9天原创 2015-03-23 21:45:17 · 1124 阅读 · 0 评论 -
JVM的内存区域划分
本文转载自:http://www.cnblogs.com/dolphin0520/p/3613043.html(海子) 学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆、栈以及静态数据区。那么在Java语言当中,内存又是如何划分的呢?JVM运行时数据区通常包括这几个部分:程序计数器(Program Counter Regis转载 2015-03-28 11:21:17 · 608 阅读 · 0 评论 -
java中使用Properties加载XML文件设置java窗体应用程序的窗体属性
一、描述开发一个MyFrame窗体应用程序,该窗体继承JFrame类,窗体中的标题、按钮上的文字等信息都可以写在一个xml配置文件中,即使以后想更改所有的属性,只需要更改xml配置文件中的相应属性即可。本案例使用java中的Properties类来加载一个xml配置文件,并读取文件中的所有属性(key-value),并将取得的所有键值对应用于JFrame窗体属性中。二、源代码pac原创 2015-04-27 16:42:23 · 1772 阅读 · 0 评论 -
JAVA中使用System类的 getProperties()和getProperty(String)取得当前系统的属性
一、描述java中取得系统的属性的方法有两种:1、可以使用System类中的方法:public static Properties getProperties()得到系统的各种属性,该方法返回一个Properties类,这个类继承自Hashtable,在该类中定义了各种属性的键值对。2、直接使用System.getProperty(String key)获取所需的系统属性。实际原创 2015-04-27 16:15:48 · 7479 阅读 · 0 评论 -
JSP页面post和get方式提交请求,请求参数出现中文乱码
1、重新转码:String username= new String(request.getParameter(username).getBytes("ISO-8859-1"),"GB2312");为了方便还可以封装一个工具类专门实现中英文转码2、通过配置D:\javaInstall\Tomcat6\conf\server.xml,将改为" URIEncoding='"原创 2014-03-13 11:31:10 · 7050 阅读 · 0 评论 -
com.microsoft.sqlserver.jdbc.SQLServerException: 不支持此服务器版本。目标服务器必须是 SQL Server 2000 或更高版本。
使用myeclipse连接数据库时出现以下错误:严重: Servlet.service() for servlet jsp threw exceptioncom.microsoft.sqlserver.jdbc.SQLServerException: 不支持此服务器版本。目标服务器必须是 SQL Server 2000 或更高版本。 at com.microsoft.sqlserver原创 2014-03-31 15:14:03 · 8590 阅读 · 0 评论 -
Spring与Hibernate整合时, Cannot find class [org.apache.commons.dbcp.BasicDataSource]
org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.apache.commons.dbcp.BasicDataSource] for bean with name 'dataSource' defined in class path resource [beans.xml];原创 2014-03-09 11:08:23 · 2746 阅读 · 0 评论 -
Statement批量执行sql语句,批量操作数据库,提高数据库效率
例如有一个ArrayList al = new ArrayList();al中存放了若干个user对象:在执行前面的得到数据库连接之后,执行如下操作:Statement st = ct.createStatement();for(int i=0;iUser u=(User)al.get(i);sm.addBatch("insert into user values('"+原创 2014-03-14 22:34:25 · 4332 阅读 · 2 评论 -
java计算一个Date(TimeStamp)与一个格式化的String类型时间的相差天数或者相差时间
MySQL中的date类型如果用hibernate'反向生成,则对应java中的Date类型,datetime类型对应java中的Timestamp 类型。timestamp与date区别:Date表示特定的瞬间,精确到毫秒,而Timestamp类型由 java.util.Date 和单独的毫微秒值组成,只有整数秒才会存储在 java.util.Date 组件中,小数秒(毫微秒)是原创 2014-12-02 20:17:48 · 5393 阅读 · 0 评论 -
struts2在Action中获取Scope中的对象request、session、application
一、描述 在Action操作中,关键就是Action中的exectue方法,但是此方法并没有request、session、application等对象作为参数,自然就不能利用这些对象来操作,下面我们用四种方式来获取这些对象:方式一、与Servlet解耦合的非IOC方式获取的scope对象与容器无关,通过ActionContext获取。LoginAction代码如下:原创 2015-09-02 16:00:57 · 2546 阅读 · 1 评论 -
The import org.jdom cannot be resolved解决办法
一、描述当我们在java代码中需要用xml解析或者创建xml文档,我们需要引入下面这个札包:jdom-1.0.jar该札包的下载地址:http://download.csdn.net/detail/tongyuehong/8846835原创 2015-06-28 16:37:13 · 11785 阅读 · 2 评论 -
Spring注解Annotion详解
注释配置相对于 XML 配置具有很多的优势:它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作。如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO 的属性名、类型等信息,如果关系表字段和 PO 属性名、类型都一致,您甚至无需编写任务属性映射信息——因为这些信息都可以通过 Java 反射机制获取。注释和 Java 代码位于一个文件中,而 XM转载 2015-06-08 09:55:53 · 2180 阅读 · 0 评论 -
JSP页面中四种“返回按钮”的使用
列举4种实现返回按钮的形式,返回按钮出现在form表单中: html:form method="post" action="mypath/action1.do?method=showIndex" > input type="hidden" name="fatherID" id="fatherID" value="${Current_Id}" /> 1.转载 2015-06-22 16:32:54 · 18016 阅读 · 0 评论 -
JAVA中Arrays.sort()使用两种方式(Comparable和Comparator接口)对对象或者引用进行排序
一、描述自定义的类要按照一定的方式进行排序,比如一个Person类要按照年龄进行从小到大排序,比如一个Student类要按照成绩进行由高到低排序。这里我们采用两种方式,一种是使用Comparable接口:让待排序对象所在的类实现Comparable接口,并重写Comparable接口中的compareTo()方法,缺点是只能按照一种规则排序。另一种方式是使用Comparator接口:编原创 2015-04-27 23:28:27 · 11704 阅读 · 4 评论 -
JAVA基础编程50题(13-15题)详解
一、描述1、一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上168后再开方,如果开方后再平方等于原数则符合结果。2、输入某年某月某日,判断这一天是这一年的第几天? 程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年原创 2015-03-20 22:27:01 · 1236 阅读 · 0 评论 -
JAVA基础编程50题(10-12题)详解
一、描述1、一球从m米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第n次落地时,共经过多少米?第10次反弹多高?2、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。但是必须满足每一位上的数字各不相同,根据排列组合原理总共有4*3*2=24种。3、企业发放的奖金根据利润提成。利润(I原创 2015-03-20 10:57:49 · 1405 阅读 · 1 评论 -
java实现软件程序开机自动启动和创建程序的桌面快捷方式源代码
java实现软件程序开机自动启动和创建程序的桌面快捷方式,自己在eclipse编写的java项目用exe4j Wizard打包成一个.exe可执行文件,并让用户可以开机自动启动,java实现创建.exe程序的桌面快捷方式。原创 2014-12-26 21:14:22 · 5332 阅读 · 3 评论 -
java验证身份证号码是否有效源代码
1、描述用java语言判断身份证号码是否有效,地区码、出身年月、校验码等验证算法2、源代码package test;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.GregorianCale原创 2014-12-27 16:15:02 · 6691 阅读 · 1 评论 -
java采用3种方式判断用户输入的字符串是否为回文
一、描述回文的定义:"回文数" 就是正读倒读都一样的整数。如奇数个数字:98789, 这个数字正读是98789,倒读也是98789;偶数个数字3223也是回文数。我们今天将回文数扩展为字母和数字组合回文,如adgu6776ugda也是回文,我们采用三种方式判断这种类型的字符串是否为回文:1.调用StringBuffer类对象的reverse()方法,将字符串翻转后与之前的字符串比较,如原创 2015-01-14 15:04:55 · 14462 阅读 · 2 评论 -
java语言利用MySQL数据库自带的DATE_SUB()函数查询一周、一个月、半年、一年之内的数据记录
在JSP页面中根据论坛帖子的发帖时间查询帖子记录,前台JSP页面代码如下: 请选择时间: 后台的java代码如下: private List forumPostList;原创 2014-12-02 21:32:50 · 4454 阅读 · 1 评论 -
java中使用jdbcTemplate的query方法举例与总结
在java中使用JdbcTemplate进行查询时,可以使用queryForXXX()等方法1、jdbcTemplate.queryForInt() 和 jdbcTemplate.queryForLong()//查询数据记录的条数,返回一个int(数据范围较小)或者一个Long(数据范围较大)类型String todayCountTopicsSql="SELECT coun原创 2014-12-02 20:59:11 · 25906 阅读 · 3 评论 -
java中判断用户今天是否第一次登录,若是则加积分,反之亦然
具体思路:数据库中有一个datet原创 2014-08-26 15:49:51 · 8482 阅读 · 6 评论 -
jdbcTemplate操作MYSQL数据库时有外键约束无法插入或删除
String closeForeignKey = "SET @ORIG_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0";Integer close = jdbcTemplate.update(closeForeignKey);String branchSql = "insert into scpn_bra原创 2014-06-17 22:29:21 · 3595 阅读 · 0 评论 -
An explicit value for the identity column in table 'users' can only be specified when a column list
eclipse中tomcat console提示如下:An explicit value for the identity column in table 'users' can only be specified when a column list is used and IDENTITY_INSERT is ON. users中的字段有:userid,username,pas原创 2014-03-11 10:36:00 · 8269 阅读 · 0 评论 -
Tomcat6.0.37以数据源(jndi)方式访问数据库,数据库连接字符串
使用JDBC的弊端:每次操作数据库都要加载驱动得到一个连接,这样非常浪费时间。使用数据源和连接池的方式:根据项目的大小预先分配一定数量的连接供用户使,接下来详细讲述TomCat 6中如何设置数据源和连接池。步骤一:. 在tomcat 6目录下conf/context.xml文件中 加入以下红色字体代码 WEB-INF/web.xml原创 2014-01-17 21:39:27 · 1506 阅读 · 2 评论 -
java exception:registry
Error creating bean with name 'FansServ' defined in file [D:\myeclipse103\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\dersp\WEB-INF\classes\personSpace\app-spring-config\application原创 2013-10-18 09:47:55 · 1417 阅读 · 0 评论 -
java中.properties属性文件的使用案例源码
一、描述java中的.properties属性文件的正确使用可以解决很多问题,比如一个登录界面要做一个记住用户登录过的用户名和密码并且放在本地方便用户登录。二、操作步骤1. 打开eclipse工程文件目录下的XX.properties文件,如果没有就创建一个2. 以键-值对的方式记录用户最近登录过的用户名--密码,添加一个键值对3. 移除一个键-值对4. 保存这个属性文件5. 获取属性文件的所有键6. 获取指定键的属性值原创 2014-12-26 23:09:28 · 1593 阅读 · 1 评论 -
Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion' 解决方案
一、描述今天我先安装了jdk8,后来由于其他软件不兼容,又重新安装了jdk7并修改了环境变量为jdk7的,结果在cmd中输入Java -version发现还是用的jdk8的,于是我就将jdk8卸载后重启了机器。重启后机器再次输入jdk -version命令时出现以下错误提示: 二、解决方案将C:\Windows\System32目录下的java.exe删原创 2015-01-15 22:55:44 · 7027 阅读 · 2 评论 -
JAVA基础编程50题(7-9题)详解
一、描述1、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的总个数和每个字符出现的频率。 程序分析:使用String类的matchs()分别统计符合正则表达式的每类字符的总个数,然后分别使用List和Map集合类统计每个字符出现的频率。2、求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有原创 2015-03-20 09:05:29 · 1270 阅读 · 0 评论 -
JAVA基础编程50题(4-6题)详解
一、描述1、将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,输出之前的所有因子。(2)如果n!=k,但n能被k整除,则应打印出k的值,并用n除以k的商作为新的正整数n,重复执行第一步。(3)如果n不能被k整除,则用k+1作为原创 2015-03-19 18:12:00 · 1236 阅读 · 1 评论 -
JAVA基础编程50题(1-3题)详解
一、题目描述1、古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... ,该题其实就是斐波那契数列的一种。2、判断m-n之间有多少个素数,并输出所有素数。程序分析:判断素数的方法:用一个数n分别去除2到sqrt(n),这里是原创 2015-03-19 15:39:41 · 1526 阅读 · 1 评论