摘要:
Hibernate主要有三种查询方法:1.HQL (Hibernate Query Language)和SQL很类似,支持分页、连接、分组、聚集函数和子查询等特性,但HQL是面向对象的,而不是面向关系数据库中的表。正因查询语句是面向Domain对象的,所以使用HQL可以获得跨平台的好处,Hibernate会自动帮我们根据不同的数据库翻译成不同的SQL语句。这在需要支持多种数据库或者数据库迁移的应用中是十分方便的。但得到方便的同时,由于SQL语句是由Hibernate自动生成的,所以这不利于SQL语句的效率优化和调试,当数据量很大时可能会有效率问题,出了问题也不便于排查解决。2.QBC/QBE 阅读全文
随笔分类 - java
Hibernate与数据库锁
2012-08-11 22:40 by java线程例子, 868 阅读, 收藏,
摘要:
一、为什么要使用锁?要想弄清楚锁机制存在的原因,首先要了解事务的概念。事务是对数据库一系列相关的操作,它必须具备ACID特征:A(原子性):要么全部成功,要么全部撤销。C(一致性):要保持数据库的一致性。I(隔离性):不同事务操作相同数据时,要有各自的数据空间。D(持久性):一旦事务成功结束,它对数据库所做的更新必须永久保持。我们常用的关系型数据库RDBMS实现了事务的这些特性。其中,原子性、一致性和持久性都是采用日志来保证的。而隔离性就是由今天我们关注的锁机制来实现的,这就是为什么我们需要锁机制。如果没有锁,对隔离性不加控制,可能会造成哪些后果呢?1.更新丢失:事务1提交的数据被事务2覆盖。 阅读全文
Java新浪微博客户端开发第二步
2012-08-11 16:17 by java线程例子, 253 阅读, 收藏,
摘要:
上一篇:Java新浪微博客户端开发第一步中有下图,这个access_token就是接下来要用到的。关于access_token的有效时间:授权级别测试普通中级高级合作授权有效期1天7天15天30天90天更多关于access_token与Oauth2,请参看:http://open.weibo.com/wiki/Oauth2#.E8.BF.87.E6.9C.9F.E6.97.B6.E9.97.B4这次的包结构如下:Main类:主函数入口,access_token只在这里用到。通过Account和Users类获取到一个User对象,做MainDialog的一个参数。MainDialog:此微博客户 阅读全文
HelloWorld之Hibernate注解
2012-08-11 15:56 by java线程例子, 332 阅读, 收藏,
摘要:
Hibernate使用了Java标准的JPA注解,这个示例使用了SQLServer 2005数据库。项目结构:hibernate.cfg.xml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configura 阅读全文
[泛型经典]Java5泛型的用法,T.class的获取和为擦拭法站台
2012-08-10 23:52 by java线程例子, 311 阅读, 收藏,
摘要:
Java 5的泛型语法已经有太多书讲了,这里不再打字贴书。GP一定有用,不然Java和C#不会约好了似的同时开始支持GP。但大家也清楚,GP和Ruby式的动态OO语言属于不同的意识形态,如果是一人一票,我想大部分的平民程序员更热衷动态OO语言的平白自然。但如果不准备跳槽到支持JSR223的动态语言,那还是看看GP吧。 胡乱总结泛型的四点作用: 第一是泛化,可以拿个T代表任意类型。 但GP是被C++严苛的静态性逼出来的,落到Java、C#这样的花语平原里----所有对象除几个原始类型外都派生于Object,再加上Java的反射功能,Java的Collection库没有范型一样过得好好的。 第二是 阅读全文
JAVA计算器【源码】
2012-08-10 23:49 by java线程例子, 797 阅读, 收藏,
摘要:
import javax.microedition.midlet.*; import javax.microedition.lcdui.*; /*** 该类是应用程序的主类,控制应用程序的生命周期。*/publicclass CalcMIDletextends MIDletimplements CommandListener { // private CalcForm calcForm; private Command cmdExit =new Command("退出", Command.EXIT,1); publicvoid startApp() { Display di 阅读全文
Java Socket编程(五)NIO
2012-08-06 21:13 by java线程例子, 535 阅读, 收藏,
摘要:
一、服务器端的处理模式1.迭代服务器服务器只有处理完了当前用户的请求后,才会处理下一请求,因此是迭代式的,在同一线程内处理。ServerSocket serverSocket = new ServerSocket(port);while(true) { Socket clientSocket = serverSocket.accept(); ...}2.一客户一线程对每个连接的客户端都新建一个线程来处理它的请求。这种处理方式的缺点很明显,当创建出来的同时运行的线程过多时,操作系统大量时间都耗费在线程的切换和状态维护上,而非线程内的请求处理。ServerSocket serverSocket.. 阅读全文
Java Socket编程(四)Socket进阶
2012-08-06 21:10 by java线程例子, 378 阅读, 收藏,
摘要:
一、多播与广播我们可以向每个接受者单播一个数据副本,但这样做效率可能非常低。只有UDP套接字允许广播和多播,两者的区别是:广播会发送到网络上所有可达的主机,有些操作系统可能不允许普通用户进行广播操作;而多播只发送给感兴趣的主机。具体来说是调用MulticastSocket的joinGroup()加入到多播组的主机。public class MulticastReceiverTest { public static void main(String[] args) throws Exception { final InetAddress address = InetAddress.... 阅读全文
Java Socket编程(三)发送和接收深入
2012-08-05 19:40 by java线程例子, 1401 阅读, 收藏,
摘要:
在Java中,我们可以有很多种方法来发送和接收数据。有的方法比较靠近底层,有些问题就需要程序员自己去解决,而有些方法抽象层次比较高,很方便地就可以拿来使用。这些处理数据的方法根据抽象层次由低到高分别有:1.手动编码:使用位运算逐个自己编码和解析。2.利用流来自动编码:组合使用OutputStream和ByteArrayOutputStream。3.序列化:将数据放入一个数据对象中,直接将这个对象序列化后发送。使用起来很方便,但要注意效率的损失,以及接收方也要使用Java。4.RMI:将对方法的调用都发送过去了,直接实现了方法的远程调用。在最底层的方法1中,我们需要自己解决一些底层的问题:1.整 阅读全文
Java Socket编程(二)Socket基础
2012-08-04 21:51 by java线程例子, 527 阅读, 收藏,
摘要:
二、Socket基础1.地址的获得 public static void main(String[] args) { try { Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces(); while (interfaces.hasMoreElements()) { NetworkInterface iface = interfaces.nextElement(); System.out.println("Interface: " + iface.get. 阅读全文
Java Socket编程(一)TCP/IP简介
2012-08-04 21:44 by java线程例子, 1763 阅读, 收藏,
摘要:
以下是对《Java TCP/IP Socket编程》中重要知识的摘录。一、TCP/IP简介TCP/IP协议族是互联网使用的协议,也可以用在独立的专用网络中。TCP/IP协议族包括了IP协议、TCP协议和UDP协议。IP协议使用IP地址来分发报文,但它是尽力而为的服务,报文可能丢失、乱序或者重复发送。TCP和UDP协议在IP协议基础上增加了端口号,从而在两台主机的应用程序间建立起透明的连接。不同的是,TCP协议会对IP层的错误进行修复,它通过握手消息在主机间建立连接,之后通过在消息中加入序列号来恢复消息中的错误。而UDP只是简单地扩展了IP协议,使它能够在应用程序之间工作,而不是主机之间。关于I 阅读全文
Java7新特性--实战篇
2012-08-02 08:38 by java线程例子, 214 阅读, 收藏,
摘要:
Java综合 “举世瞩目”的java 7近日发布,oracle网站上列出了java 语言的新特性 http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html,最近出差,晚上闲来无事,将这些java语言的新特性试了下,very cool。 下面介绍了java 7的一些新特性,翻译自oracle网站,结合自己的实战。对Java 7研究不深,以下内容有对有错,欢迎大家批评指正,共同学习! 环境: ubuntu 11.04+eclipse 3.8 本来是用netbeans7.0.1,可是非常难用(不习惯 netBea. 阅读全文
Java温故知新 - 集合类
2012-07-30 16:21 by java线程例子, 268 阅读, 收藏,
摘要:
一、常用集合类实现1.ArrayDeque/LinkedList:双端队列的数组和链表实现2.HashSet/Map:散列表3.TreeSet/Map:红黑树实际上,TreeSet在内部使用了TreeMap,当添加新元素时,会向TreeMap放入一个空Object作为值。3.1 在实现Comparable和Comparator的compare方法时,正数表示:该对象或参数1对象大。因此,用参数2对象的域值减去参数1的对于域将会产生倒序。建议:compare()==0时equals()==true3.2 向TreeSet放入未实现Comparable接口的类会在运行时产生ClassCaseExc 阅读全文
Java 正则中的(.*?)vs(.*)
2012-07-23 11:11 by java线程例子, 248 阅读, 收藏,
摘要:
@author YHCpublic static void main(String[] args) { //选择最小和最大重复次数 String a="{user=\"administrator\",password=\"root\"}"; String b="user =\"a\"";//注意=号之间有空格 String c="user\r\n=\"c\"";//注意有换行符号 //获取双引号之间的内容,分别获得a,b,c中的所有的用户的名称 Strin 阅读全文
POI Excel 13 添加图片
2012-07-22 18:55 by java线程例子, 1210 阅读, 收藏,
摘要:
@author YHC添加图片:image是drawing其中的一部分,添加图片需要调用createPicture(),在写入文件的时候需要注意,支持一下的类型:PNG,JPG,DIB,应该值得注意的是,一旦你添加图片到这个工作簿中,任何现有的图片可能被擦除.该示例所需jar,以及下载的地址和页面:commons-codec-1.6.jar下载页面:commons-codec-1.6-bin.zip点击直接下载:下图就是该例子需要的jar以及图片放置的路径:代码: //创建Excel Workbook wb = new HSSFWorkbook(); //or ... 阅读全文
POI Excel 12 图形绘制
2012-07-21 17:57 by java线程例子, 479 阅读, 收藏,
摘要:
@author YHC图形绘制POI支持图形绘制,使用的是Microsoft Office的图形绘制工具,开始绘制图形你需要根据HSSFSheet类createPatriarch方法创建图形绘制对象,这个将会擦除该工作簿所有其他图形信息,POI会单独保留图形记录,除非你调用这个方法: //创建Excel Workbook wb = new HSSFWorkbook(); //创建工作簿 Sheet sheet = wb.createSheet("new sheet"); //根据... 阅读全文
java 正则 块转义,忽略大小写,匹配换行模式,匹配先前匹配的文本(解释正则运行机制)
2012-07-20 17:14 by java线程例子, 2457 阅读, 收藏,
摘要:
@author YHC //块转义:\Q \E \Q会抑制所有的元字符的含义 //,如果漏写了\E,那么从\Q开始之后的所有字符都将当作字面文本对待 System.out.println("*'".matches("\\Q*'\\E"));//true //全部忽略大小写 System.out.println("ABc".matches("(?i)abc"));//true //仅此a忽略大小写,(?i)会在正则表达式剩余打开 //,不区分大小写,(?-i)会关闭剩余部分的匹配,他们就像... 阅读全文
POI Excel 11 工作簿放大,设置页眉页脚
2012-07-20 12:51 by java线程例子, 600 阅读, 收藏,
摘要:
@author YHC设置工作簿放大显示比例:设置工作簿的放大是用分数表示的,如下例子将显示比例调为75%,3是分子,4是分母; //创建Excel Workbook wb = new HSSFWorkbook(); //创建工作簿 Sheet sheet1 = wb.createSheet("new sheet"); //设置工作簿放大 sheet1.setZoom(3,4); // 75 percent magnification // // 写入文件 FileOutputStream file... 阅读全文
POI Excel 10_之工具类函数,移动Sheet中Row位置,设置工作簿Sheet选中
2012-07-19 09:58 by java线程例子, 483 阅读, 收藏,
摘要:
@author YHC便利函数:这些便利函数将提供实用的程序功能,比如设置表格边框合并区域,和改变样式属性,而非重新创建一个新的样式: // 创建Excel Workbook wb = new HSSFWorkbook(); // 或者创建 new XSSFWorkbook() // 创建工作簿 Sheet sheet1 = wb.createSheet("new sheet"); // 创建一个合并的区域 // 创建行 Row row = sheet1.createRow(1); // 创建行 Row row2 = sheet1.... 阅读全文
30条Java基础教程,程序员都要懂得
2012-07-19 09:13 by java线程例子, 206 阅读, 收藏,
摘要:
基本概念 1.OOP中唯一关系的是对象的接口是什么,就像计算机的销售商她不管电源内部结构是怎样的,他只关系能否给你提供电就行了,也就是只要知道can or not而不是how and why.所有的程序是由一定的属性和行为对象组成的,不同的对象的访问通过函数调用来完成,对象间所有的交流都是通过方法调用,通过对封装对象数据,很大限度上提高复用率。 2.OOP中最重要的思想是类,类是模板是蓝图,从类中构造一个对象,即创建了这个类的一个实例(instance)。 3.封装:就是把数据和行为结合起在一个包中)并对对象使用者隐藏数据的实现过程,一个对象中的数据叫他的实例字段(instance f... 阅读全文