- 浏览: 75845 次
最新评论
-
ctgujimmy:
非常详细了,受益良多,但是楼主有没有发现:Reader下面应该 ...
Java IO最详解,欢迎提出意见 -
maobaolong:
还有,为什么要用while(available),修改成if运 ...
java线程(三):线程同步ReentrantLock,condition(await,signal) -
maobaolong:
通过作者的例子,很好的理解了ReentrantLock和Con ...
java线程(三):线程同步ReentrantLock,condition(await,signal) -
neo_26:
目前没有听说过锁投票这个概念,但是可能说的是锁的公平性,先请求 ...
java线程(三):线程同步ReentrantLock,condition(await,signal) -
jzzwy:
你那个类的结构图是用什么工具画的 ,劳烦告诉下
Java IO最详解,欢迎提出意见
文章列表
在JDK(Java Development Kit)类库中,开发人员使用了大量设计模式,正因为如此,我们可以在不修改JDK源码的前提下开发出自己的应用软件,本文列出了部分JDK中的模式应用实例,有兴趣的童鞋可以深入研究,看看前Sun公司的开发人员是如何在实际框架开发中运用设计模式的,,Sunny认为,研究JDK类库中的模式实例也不失为学习如何使用设计模式的一个好方式,。
创建型模式:
(1) 抽象工厂模式(Abstract Factory)
• java.util.Calendar#getInstance()
• java.util.Arrays#asList()
• ja ...
一.一对多的情况:
1.1------ 一对多中多的一方 有表又有类(双向,单向不另外做例,只需要去掉对应的<set>元素即可)
有一个B类,数据库有B类的对应表,B类多对一A类,那么就在A类中定义B对象的set集合,并在A的配置文件中使用
Customer.hbm.xml:
<hibernate-mapping>
<class name="mypack.Customer" table="CUSTOMERS">
<id n ...
三.通过hibernate操作对象
要理解hibernate是如何操纵对象的首先要知道hibernate的缓存机制,缓存的作用是什么我就这里我就不说了,我们说说Session进行脏检查和清理缓存的机制,这一点非常重要:
Session是如何进行脏检查的呢,当一个Customer对象呗加入到Session缓存中时,Session会为Customer对象的值类型的属性复制一份快照,Session清理缓存的时候,会先进行脏检查,比较Customer的当前属性和他的快照,看是否发生了变化,如果有变化就称这个对象时脏对象,那么Session就会根据最新的属性来执行相关的sql语句,从而同 ...
(一)hibernate 优化笔记:基础
二.hibernate的映射:一对多关联关系
hibernate的映射可以说是hibernate中最复杂的部分了。我们一步一步来,首先说一对多关联关系,我们知道在数据库只能用外键而且只能出表示一对多和多对一的单向关系,而在hibernate中还有另外一种就是一对多双向关联。
Order到Customer的多对一单项关联
Customer到Order的一对多单项关联
前言:本文适合对hibernate有一定了解的人,未了解hibernate的读者可能会有点困难。众所周知,hibernate是个十分强大的ORM框架,然而越强大的东西规则就越多,hibernate也是,hibernate用得好那就是如虎添翼,用的不好会严重拖累系 ...
package com.hxw.T2;
public class ExtendsMemo {
public static void main(String[] args) {
/*
* 几大原则
* 一、静态成员变量(Static)
* 1、静态成员变量为类变量,所有对象共享同一内存空间
* 2、静态成员变量的声明和定义仅在 ...
1. 阻塞队列定义
阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。阻塞队列就是生产者存放元素的容器,而消费者也只从容器里拿元素。
阻塞队列提供了四种处理方法:
当没有空间可以用或者空间已满时下面各个方法的处理方式
方法\处理方式
(三)线程同步ReentrantLock,condition(await,signal)
一.synchronized和ReentrantLock 故事
1. 我们前面(二)java 的线程同步(synchronized ,wait,notify)讲了synchronized的同步方法,java 就是这么神奇,这里又有一个同步的方法!当然,长江后浪推前浪,后者肯定比前者是由优越之处的。
先看看 synchronized
java 位移运算,先出【运算结果】,不懂的可以运行程序:
6的二进制是: 110
6进行左移两位运算后结果是:11000,也就是24,可以看出来,正数的左移N位就是在右边末尾加N个0
-33的二进制是: 11111111111111111111111111011111
-33进行左移两位运算后结果是:11111111111111111111111101111100,也就是-132,可以看出来,负数的左移N位就是在右边末尾加N个0,为了保持位数不变,高位直接舍去
124的二进制是: 1111100
124进行右移两位位位运算后结果是:11111,也就是31 ...
这几天在研究java爬虫,争取整理出个教程,一般都是用httpclient 和 Jsoup 来做的,
httpclient 下载地址:http://mirrors.hust.edu.cn/apache//httpcomponents/httpclient/binary/httpcomponents-client-4.3.5-bin.zip
jsoup 下载地址: http://jsoup.org/download
导入到myeclipse 就可以了
先来个例子:
下面是参照部分资料写的实例代码,由于这个网站结构可能会变化,不保证这程序在永久能运行,如果运行不了,改 ...
新版HttpClient4.2与之前的3.x版本有了很大变化,建议从http://hc.apache.org/处以得到最新的信息。
关于HttpCore与HttpClient:HttpCore是位于HTTP传输组件的底层包,可以用来简化HTTP客户端与服务器端的开发。HttpClient是一个符合HTTP1.1版本 ...
纯个人整理,如有错误请指正。
java的集合框架最全详解(图)
前言:数据结构对程序设计有着深远的影响,在面向过程的C语言中,数据库结构用struct来描述,而在面向对象的编程中,数据结构是用类来描述的,并且包含有对该数据结构操作的方法。
在Java语言中,Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类)。所有抽象出来的数据结构和操作(算法)统称为Java集合框架(JavaCollectionFramework)。
Java程序员在具体应用时,不必考虑数据结构和算法实现细节,只需要用这些类创建出来一些对象,然后直接应用就可以了,这样就大大提高了 ...
Java IO 详解
初学java,一直搞不懂java里面的io关系,在网上找了很多大多都是给个结构图草草描述也看的不是很懂。而且没有结合到java7 的最新技术,所以自己来整理一下,有错的话请指正,也希望大家提出宝贵意见。
首先看 ...
转自http://www.ibm.com/developerworks/cn/java/j-iframe/#icomments
自 Java 1.0 开始,UI 开发人员就一直在寻找自定义应用程序窗口的方法。在引入了 Swing 后,这个问题愈发突出了,因为开发人员可以创建具有令人惊叹的更复杂的、更高级 widget,但是却受到它所在的 Frame 或者 JFrame 和它们的特定于操作系统的外观的限制。常常可以看到应用程序在框架边框内部看起来很好,但是 Microsoft Windows 的蓝色标题栏却大刹风景的情况。更糟的是,应用程序有 70 年代的 Motif 外观,但却使用了 Mic ...
线程同步
前言:我们上一篇http://davidisok.iteye.com/blog/2105369讲了线程的基本介绍,这一篇主要讲线程的同步,前面我们为线程分配CPU是完全异步的,我们不能控制线程的执行顺序,当所有的线程同时访问同一资源的时候就产生了一致性的问题,java中初步使用synchrnized关键字来锁定资源实现的,既然叫“锁”,那这个关键字的特性也很明了了,它通过锁定资源限定只有一个线程占有该资源并执行线程的动作。
synchronized 关键字
1.线程不同步(异步)的情况
我用一个比较明了的例子来给大家看看。我们设定左右两个球桶通过两个线程来模拟代表线程的一 ...