Java学习
Eric0525
这个作者很懒,什么都没留下…
展开
-
倒序打印一个单链表
public class SingleLinkList { private static LinkListNode root; public static LinkListNode initSingleLinkList(){ LinkListNode nodeFive = new LinkListNode(5,null); LinkListNode nodeFour = new Lin原创 2015-06-10 11:38:54 · 1491 阅读 · 0 评论 -
Hibernate操作MySQL视图
Hibernate以对象的方式操作数据库,符合OOP的编程模式。这种操作方式大大的简化了程序员与数据库交互的流程,减少了大量操作数据库的代码(不用自己拼写sql语句),通过实体与数据库之间的映射,程序员只需像操作对象及其属性一项操作一个实体就可以完成对数据的增删改查操作,十分方便。通过Hibernate操作数据库虽然简便高效,但是在某些特殊需求面前,这种方式有显得不是那么灵活,例如从多个表中查原创 2012-04-16 20:42:28 · 6999 阅读 · 1 评论 -
ssh中Connection is read-only问题的产生原因与解决方法
WARN [org.hibernate.util.JDBCExceptionReporter] -ERROR [org.hibernate.util.JDBCExceptionReporter] -org.hibernate.exception.GenericJDBCException: could not executeupdate query产生原因:一般如果报了这个错,估计是转载 2012-04-09 20:00:45 · 3591 阅读 · 0 评论 -
如何成为Java高手?
1、不仅要熟练掌握Java语言,还要深入理解OOA,OOD,OOP等编程思想 2、熟悉各种Java IDE和开发相关工具(Eclipse、Jbuilder、WSAD、CVS,Ant、JUnit) 3、熟悉各种流行J2EE框架(Spring/Struts/Hibernate等) 4、理解关系数据库的设计原理,熟练掌握Oracle/SQL Server/DB2/MySQL其中至少一种转载 2011-12-29 11:48:12 · 533 阅读 · 0 评论 -
myeclipse中No entries available错误解决方法
在hibernate中,每个数据表对应的其实是一个实体类,每个实体类有一个对应的hbm.xml配置文件和你匹配,myeclipse中有个MyEclipse Database Explorer视图,它提供了myeclipse与数据库直接连接的内置窗口,并且通过此窗口可以生成hibernate的mapping文件。 在原有的工程中我配置好了这些,并且可以对数据表进行浏览和数据修改了,但是在执行Gen转载 2012-01-07 16:49:46 · 16801 阅读 · 0 评论 -
com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException错误原因
An exceptionoccurred: com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException今天碰到这个错误,以前没碰到过,开始检查了connection也不为null,其他对象也都正常,但是在运行的时候最终就会报空指针异常,debug跟到这里发现是这个错误导致的,后来仔细看了一下当前connection的信息,发现原原创 2012-01-06 12:45:04 · 10120 阅读 · 0 评论 -
Java按行读取文件
以前用Java做好好多读取,处理字符串的工作,按行读取文件写过好多次,后来用了perl的类库,就没有自己写过了,长时间不用竟然忘记了怎么用Java按行读取文件了,为了以后用起来方便,就记在这里了。主要就是使用BufferedReader来读取。简单代码如下: FileReader reader = new FileReader("C:test.txt"); //这里参数为文件路径,可原创 2011-12-26 16:59:34 · 1202 阅读 · 0 评论 -
VO:值对象、视图对象PO:持久对象QO:查询对象DAO:数据访问对象DTO:数据传
struts 里的 ActionForm 就是个VO;hibernate里的 实体bean就是个PO,也叫POJO;hibernate里的Criteria 就相当于一个QO;在使用hibernate的时候我们会定义一些查询的方法,这些方法写在接口里,可以有不同的实现类.而这个接口就可以说是个DAO.个人认为QO和DTO差不多. PO或叫BO,与数据库最接近的一层转载 2011-12-26 17:09:30 · 2059 阅读 · 0 评论 -
重读《Java编程思想》之四:初始化与清理
最近老加班,没时间再读,拖了好长时间才写了这些。初始化与清理1. 用构造器确保初始化:1) 在创建对象时就会为对象分配存储空间,并调用相应的构造器。这就保证了在你能操作对象之前,它已经恰当地初始化了。注意:由于构造器的名称必须与类名完全相同,所以“每个方法首字母小写”的编码风格并不适用于构造方法。2) 构造器没有返回值,这与返回值为vo原创 2011-12-22 11:01:56 · 761 阅读 · 0 评论 -
Hibernate实现limit查询方法
Hibernate实现sql中的limit的方法也很简单,原理是创建一个查询之后,给当前查询添加start和limit两个参数,之后执行查询即可。代码如下所示。public List findKnowledgeExpertArticleForSearch( String keyName, Object value,final int start,final int limi原创 2011-12-13 19:18:10 · 24889 阅读 · 0 评论 -
Hibernate Duplicate entry 解决方法
今天在修改一个bug的时候开始一直找不到原因,多次检查代码发现逻辑无误,但是操作时确实会间歇性出错,后来找了很久发现出错时后台报了一个“Duplicate entry '132' for key 'PRIMARY'”的错误,字面意思为主键重复,这才想到此表有两个地方都在操作,框架外有一个自动程序会往该表中添加数据,框架内也可以手动添加数据,导致这个错误的原因就是框架外的程序添加的记录与手动添加的记原创 2012-06-08 11:25:23 · 8049 阅读 · 0 评论 -
插入排序实例及Java实现
插入排序时较简单的一种排序方法,可以分为直接插入排序以及在直接插入排序基础上衍生出的其他插入排序方法。插入排序的基本思想是:在要排序的一组数中,假设前面的n-1[n>=2]个数已经是排好顺序的,现在要将第n个数字插入到前面有序的数字中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。这种排序方法的算法复杂度为O(n),其Java实现如下:// insert_sort原创 2012-06-12 20:55:41 · 3290 阅读 · 4 评论 -
Java合并两个有序数组
合并排序,将两个已经排序的数组合并成一个数组,其中一个数组能容下两个数组的所有元素public class MergeArray { public MergeArray(){ } public static ArrayList mergeArrays(int[] arrayOne, int[] arrayTwo){ int arrayOneLen = arrayOne.leng原创 2015-06-09 14:24:21 · 10343 阅读 · 1 评论 -
Spring中Responsebody的作用
作用: 该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。使用时机: 返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;转载 2015-04-07 17:29:03 · 1558 阅读 · 0 评论 -
Java工厂模式
Java工厂模式看了这么多关于工厂模式的讲解,还是觉得这篇文章讲的好理解,贴出来和大家分享分享。 一、引子 话说十年前,有一个****户,他家有三辆汽车——Benz奔驰、Bmw宝马、Audi奥迪,还雇了司机为他开车。不过,****户坐车时总是怪怪的:上Benz车后跟司机说“开奔驰车!”,坐上Bmw后他说“开宝马车!”,坐上Audi说“开奥迪车!”。你一定转载 2014-03-04 16:21:16 · 796 阅读 · 0 评论 -
开发笔记之20140121
关于try catch语句和finally语句块(转自http://blog.csdn.net/ns_code/article/details/17485221):try语句在返回前,将其他所有的操作执行完,保留好要返回的值,而后转入执行finally中的语句,而后分为以下三种情况: 情况一:如果finally中有return语句,则会将try中的return语句”覆盖“原创 2014-01-21 10:56:58 · 653 阅读 · 0 评论 -
Java是解释型语言还是编译型语言
有人说Java是编译型的。因为所有的Java代码都是要编译的,.java不经过编译就无法执行。 也有人说Java是解释型的。因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释型的。对于C和C++,它们经过一次编译之后,可以由操作系统直接执行,所以它们是编译型语言。而Java不一样,它首先由编译器编译成.class(字节码)文件,然后在通过JVM从.class文件中读转载 2014-01-21 10:18:04 · 2195 阅读 · 0 评论 -
Java基础知识点汇总
1.Java中比较对象时,“==”比较的是对象的引用,equals比较的是对象的值是否相等。原创 2014-01-21 13:42:45 · 634 阅读 · 0 评论 -
SQL中的连接操作(join, left join, right join)
SQL中的连接操作是经常用到的一个操作,连接包括内连接inner join, 外连接outer join,外连接又分为左外联,右外联,他们的具体操作如下例所示 。例如有两个表A和B table A: Field_K, Field_A 1 a 3 b转载 2014-01-09 10:16:59 · 783 阅读 · 0 评论 -
选择排序之java实现
选择排序也是比较简单的一种排序方法,原理也比较容易理解,它与冒泡排序的比较次数相同,但选择排序的交换次数少于冒泡排序。冒泡排序是在每次比较之后,若比较的两个元素顺序与待排序顺序相反,则要进行交换,而选择排序在每次遍历过程中只记录下来最小的一个元素的下标,待全部比较结束之后,将最小的元素与未排序的那部分序列的最前面一个元素交换,这样就降低了交换的次数,提高了排序效率。java实现的代码如原创 2013-04-05 21:59:48 · 7804 阅读 · 3 评论 -
冒泡排序之java实现
冒泡排序是最简单的一种排序方法,主要适用于数据量较小且待排序数据已基本有序的情况。冒泡排序的基本思路是通过一次比较将相邻的两个参数进行排序,通过嵌套的两个for循环即可完成排序,java实现如下:public class BubbleSort { //constructor without parameters public BubbleSort(){}; //constructor原创 2013-04-05 21:23:08 · 1188 阅读 · 0 评论 -
Java基础知识
Ø final, finally, finalize的区别。Final是一个修饰符,可以用来修饰类,方法或变量。当它修饰一个类的时候,该类不能派生出子类,也就是不可被继承。当final又是方法时,该方法只能被调用,不能被改变,也就是说不可被重载。当final修饰变量时,该变量在声明时就必须被初始化,因为final变量在初始化后即不可改变,如果在初始化时不赋值则该变量的值就为空或者默认值,以后原创 2012-07-10 11:44:44 · 763 阅读 · 0 评论 -
重读《Java编程思想》之三:控制执行流程
就像有知觉的生物一样,程序必须在执行过程中控制它的世界,并作出选择。在Java中,你要使用控制语句来作出选择。简单而言,程序就是执行程序员采用程序语言指定的命令,也就是说在什么时候,什么地方执行什么操作,而这其中的什么地方什么时候就是由控制语句来实现,可见控制执行流程的重要性了。废话不多说,转入正题。1、 迭代:迭代语句会重复执行,直到起控制作用的布尔表达式得到“假”的结果为止。包括原创 2011-12-13 10:22:43 · 984 阅读 · 0 评论 -
null value was assigned to a property of primitive type setter of原因急解决方法
今天碰到这个问题(如题),开始不知道是什么原因,后来看了数据库里字段的类型,与实体中字段类型比较,原来是误把integer写成了int类型,导致了这个错误。原理如下:Integer property与int property的区别: Integer是对象. 因此可以为null(对象可以为空.),即property = null; int 是普通原创 2011-12-20 15:46:45 · 8710 阅读 · 0 评论 -
A different object with the same identifier value was already associated with the session错误解决方法
错误:A different object with the same identifier value was already associated with the session今天又碰到这个错误,知道是怎么回事但是忘记在哪儿写过改正代码了,为了避免下一次再找不到,就写到这里吧。这个错误产生的原因是因为在hibernate中同一个session里面有了两个相同标识但是是不同实体.原创 2011-12-08 11:36:32 · 745 阅读 · 0 评论 -
Java Date操作大全
package com.util;import java.text.DateFormat;import java.text.ParsePosition;import java.text.SimpleDateFormat;import java.util.Calen转载 2011-10-18 08:44:47 · 762 阅读 · 0 评论 -
mysql插入小数变成整数的解决方法
mysql输入小数自动变为整数,输了半天也不知道怎么回事,很是郁闷的问题。 数据库中字段的类型明显设置的是double,float等小数类型,但输入小数的时候,小数就会变成整数。很是奇怪。 使用的是navicat客户端,里面有个“十进位”,也不知道是做什么的。转载 2011-10-15 17:29:46 · 9987 阅读 · 0 评论 -
Java学习路线
Java学习路线 先学习j2se 要学习j2ee就要先学习j2se,刚开始学习j2se先建议不要使用IDE,然后渐渐的过渡到使用IDE开发,毕竟用它方便嘛。学习j2se推荐两本书,《java2核心技术一二卷》,《java编程思想》,《java模式》。其中《java编程思想》要研读,精读。这一段时间是基本功学习,时间会很长,也可能很短,这要看学习者自身水平而定。 不要被IDE纠缠 在学习java和转载 2010-01-09 15:58:00 · 632 阅读 · 0 评论 -
JEE30问
1 什么是J2EE?它和普通的Java有什么不同? 答:J2EE全称为Java2 Platform, Enterprise Edition。 “J2EE平台本质上是一个分布式的服务器应用程序设计环境——一个Java环境,它提供了: ·宿主应用的一个运行基础框架环境。 ·一套用来创建应用的Java扩展API。”(引自《J2EE服务器端高级编程》) 2 J2EE好学吗? 答:J2EE是很多技术的集合体转载 2010-01-09 15:56:00 · 527 阅读 · 0 评论 -
java复制,剪切,删除文件操作
package OALogic.sql.data;import java.io.*; public class FileOperate { public FileOperate() { } public static void main(String args[]){ newFolder("D:/100"); } /** * 新转载 2010-01-09 14:02:00 · 1096 阅读 · 0 评论 -
java学习之路
java学习之路经常看APIjava连带知识:tomcat,servlet,jsp,struts,mysql,jdbc。数据结构,算法,网络,操作系统也需要了解。主要是多实践,多思考。推荐书籍:《java开发实战经典》《java编程思想》《java笔试红宝书》网友高见:web应用工作难找不说,工资还不杂滴..看java网络编程吧....不过那个就比较有难度了,推荐先自己看看th原创 2010-01-08 14:12:00 · 508 阅读 · 0 评论 -
各大IT公司笔试真题汇总
巨人网络java笔试基础题分享http://www.coderarea.net/bbs/read.php?tid=834百度笔试题http://www.coderarea.net/bbs/read.php?tid=811百度2010校招运维部门笔试http://www.coderarea.net/bbs/read.php?tid=779百度2010年校园招聘软件测试笔试题http://转载 2010-03-22 09:48:00 · 1326 阅读 · 0 评论 -
MyEclipse+Tomcat + Servlet开发
今天来讲一下MyEclipse + Tomcat + MySQL的框架下的Servlet开发。对于目前的WEB项目开发,Java项目的开发还是一直占主流。所以做Java项目的还是很多。但是仅仅用很少的时间能学会Java的各种项目开发是不可能的。但是了解一些最常用的框架是很有必要的。所以这里花一点时间分好几块来谈谈MyEclipse平台下Servlet的开发,数据库以最常使用的MyS转载 2010-01-17 17:14:00 · 947 阅读 · 0 评论 -
JAVA环境变量JAVA_HOME、CLASSPATH、PATH设置详解
Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH。下面逐个分析。 JAVA_HOME指向的是JDK的安装路径,如C:/jdk1.5.0_06,在这路径下你应该能够找到bin、lib等目录。值得一提的是,JDK的安装路径可以选择任意磁盘目录,不过建议你放的目录层次浅一点,如果你放的目录很深,比如x:/XXXXXX/xxxxx/XXXX/x转载 2010-01-17 14:50:00 · 730 阅读 · 0 评论 -
如何把JAVA程序封装成EXE文件
可以把普通的Java程序做成真正的exe,也就是单一个exe就可以在没有安装JVM的机器上运行。这样的工具常见的有JET和gcj.前者是收费的,而且做出来的exe还是需要一堆dll。推荐使用gcj.他有windows和Linux版,直接下载zip包,不需要安装,里面有不少例子,一些build的批处理文件。从原理来说gcj自己实现了JVM规范,也就是你编写一个HelloWorld.java,其中的转载 2009-09-19 10:32:00 · 12415 阅读 · 2 评论 -
Java信号处理
信号简介信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。通俗来讲,信号就是进程间的一种异步通信机制。典型的例子:kill -s SIGKILL pid (即kill -9 pid) 立即杀死指定pid的进程。在上面这个例子中,SIGKILL就是往pid进程发送的信号。平台相关性信号具有平台相关性,不同转载 2011-11-21 16:42:37 · 13510 阅读 · 0 评论 -
Null value was assigned to a property of primitive type setter of"原因及解决方
在action请求数据的过程中报出"Null value was assigned to a property of primitive type setter of"错误,搜索之后发现是因为数据库里相应的字段为NULL。例如:Java代码 "printTime" type="long">"print_time"/> 其中的类型为hibernate类型,在原创 2011-11-21 09:40:21 · 75952 阅读 · 6 评论 -
屏蔽浏览器打开下载文件方法
Web项目中通过浏览器下载附件,实现方法是将附件url设置为,这样在页面点击链接就可以下载附件。但是有些情况下浏览器会直接打开附件而不是下载,解决方法是在web.xml(SSH项目)中设置元素,将你想让其默认下载的附件格式通过设置之后就可以屏蔽浏览器自动打开,而改为下载。 rar application/rar原创 2011-12-08 10:22:47 · 1624 阅读 · 0 评论 -
Java语言特征
1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性转载 2011-11-13 21:59:37 · 587 阅读 · 0 评论 -
Java SSH项目中找不到action错误解决方法
今天碰到一个奇怪的问题,视图层提交之后,没有走到action直接就报错,错误为“找不到对应的action”。开始以为是自己struts或者spring配置文件里面配置出错了,然后自己检查了一遍,发现配置没什么问题,重试还是出现这个问题。叫来同事帮忙检查,再次确认配置没问题,debug跟到js里面,也没发现哪儿出错。后来又找了另外一个同事,dedug一步步查数据,最后发现是视图层把数据送到VO的原创 2011-12-02 09:33:00 · 6922 阅读 · 5 评论