自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wkh—江原

悟已往之不谏,知来者之可追;实迷途其未远,觉今是而昨非。

  • 博客(33)
  • 资源 (18)
  • 问答 (1)
  • 收藏
  • 关注

转载 JAVA CAS原理深度分析

参考文档:http://www.blogjava.net/xylz/archive/2010/07/04/325206.htmlhttp://blog.hesey.net/2011/09/resolve-aba-by-atomicstampedreference.htmlhttp://www.searchsoa.com.cn/showcontent_69238.htm

2016-01-28 17:29:40 1976

原创 高并发下的系统设计(偏数据库设计)

高并发完成数据库设计是要结合不同的应用场景的,本文主要涉及到一下问题:1、对数据库表的字段访问比较均衡,业务导向明显(网上商城,多条业务线);2、对数据库表的字段访问比较均衡,业务导向不明显(对单一应用的高并发访问);3、对数据库表的单一字段访问比较集中(秒杀、大量用户对同一账户操作)一、对数据库表的访问比较均衡,业务导向明显(网上商城,多条业务线)     像这种情况

2015-07-02 15:32:49 9904

原创 eclipse下手动利用hibernate连接数据库

1.下载hibernate jar包:hibernate-release-4.3.8.Final ORM,导入必要的jar包,路径为:hibernate-release-4.3.8.Final\lib\required。    包含的jar包有10个。2.建立新的java项目。3.学习自己建立User Library:   (a)项目右键——build path——

2015-04-15 13:09:00 6362 1

原创 理解同步异步与阻塞非阻塞

本篇文章我准本从两个大方面来解释下同步异步、阻塞非阻塞的知识,第一个方面主要是说下,到底什么是同步异步、阻塞非阻塞;第二个方面主要是解释下在I/O场景下,同步异步阻塞非阻塞又是怎么定义的,在unix下同步异步又有哪些阻塞非阻塞IO。1、同步异步与阻塞非阻塞    首先从大的方面来说,“阻塞”与"非阻塞"与"同步"与“异步"不能简单的从字面理解,提供一个从分布式系统角度的回答。

2015-02-11 22:29:00 2729

原创 TreadLocal原理及其使用分析

对于TreadLocal,是有听说的,只是一直没有对它进行很全面的了解,最近因为有机会要用到,所以就找了很多文章看了下,也看了TreadLocal类的源码,总的感觉很多博客的文章说的有点模糊(可能是对于自己,理解不了),这里想总结一下,可能会有其他博文的一些内容。      (1) ThreadLocal 不是用来解决共享对象的多线程访问问题的,这一点很关键!假设一个变量声明了一个变量为Thr

2015-02-10 23:32:44 4330

转载 5分钟搞定内存字节对齐

写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的变量总长度要大,这是怎么回事呢?讲讲字节对齐吧. /******************************分割线如果体系结构是不对齐的,A中的成员将会一个挨一个存储,从而sizeof(a)为11。显然对齐更浪费了空间。那么为什么要使用对齐呢?体系结构的对齐和不对齐,是在时间和

2015-02-07 23:10:26 1933

转载 堆和栈的区别

一、预备知识—程序的内存分配    一个由C/C++编译的程序占用的内存分为以下几个部分    1、栈区(stack)—   由编译器自动分配释放   ,存放函数的参数值,局部变量的值等。其    操作方式类似于数据结构中的栈。    2、堆区(heap)   —   一般由程序员分配释放,   若程序员不释放,程序结束时可能由OS回    收   。注意它与数据结构中的堆是两

2015-02-07 22:59:01 1173

转载 字符数组与字符指针

1.字符指针可以指向一个字符串。我们可以用字符串常量对字符指针进行初始化。例如,有说明语句:char *str = "This is a string.";是对字符指针进行初始化。此时,字符指针指向的是一个字符串常量的首地址,即指向字符串的首地址。这里要注意字符指针与字符数组之间的区别。例如,有说明语句:char string[ ]="This is a string.";

2015-02-07 22:53:54 829

转载 C++虚函数表解析(转)

C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。       关于虚函数的使用方法,我在

2015-02-07 22:50:12 651

转载 空类与空结构的大小

问题引入:经常看到有人说,在C++中如果定义空类/空结构,用sizeof对其取长度结果是1,疑问:对于这个结果个人比较困惑,无法确定是否正确,所以做了一系列测试来验证说法测试环境:gcc 3.4.4,vc++6.0,CVI8.0.0解决:在msdn中对sizeof的使用中有如下一句话引用:"...The sizeof operator

2015-02-07 22:24:00 1056

转载 java容器介绍

原文出处:http://www.cnblogs.com/wishyouhappy/p/3669198.html1.java容器分类图  说明:第一个图为简化图(其中粗线部分是重点的容器),第二个图为完整容器分类图                          2.容器类接口和抽象容器类 2.1 说明  容器接口是容器的基础

2015-02-06 11:36:07 1079

转载 session和cookie的区别 本篇文章来源于 站长资讯网 原文链接:http://www.chinahtml.com/1007/128010707619425.html

session和cookie是网站浏览中较为常见的两个概念,也是比较难以辨析的两个概念,但它们在点击流及基于用户浏览行为的网站分析中却相当关键。基于网上一些文章和资料的参阅,及作者个人的应用体会,对这两个概念做一个简单的阐述和辨析,希望能与大家共同探讨下。  session和cookie的最大区别在于session是保存在服务端的内存里面,而cookie保存于浏览器或客户端文件里面;s

2012-11-25 21:09:21 2509

转载 URL,URLConnection,HttPURLConnection的使用

URLConnection与HttPURLConnection都是抽象类,无法直接实例化对象。其对象主要通过URL的openconnection方法获得。值得注意的是:1.openConnection方法只创建URLConnection或者HttPURLConnection实例,但是并不进行真正的连接操作。并且,每次openConnection都将创建一个新的实例。2.openCo

2012-11-20 09:46:12 18830

转载 完整java开发中JDBC连接数据库代码和步骤

JDBC连接数据库   •创建一个以JDBC连接数据库的程序,包含7个步骤:    1、加载JDBC驱动程序:       在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),       这通过java.lang.Class类的静态方法forName(String  className)实现。       例如:       try{       //加载M

2012-11-12 14:52:10 904

转载 java线程同步原理及wait,notify的用法及与sleep的区别

一。 java线程同步原理java会为每个object对象分配一个monitor,当某个对象的同步方法(synchronized methods )被多个线程调用时,该对象的monitor将负责处理这些访问的并发独占要求。当一个线程调用一个对象的同步方法时,JVM会检查该对象的monitor。如果monitor没有被占用,那么这个线程就得到了monitor的占有 权,可以继续执行该对象的同

2012-11-06 19:59:40 1198

原创 java异常机制

异常处理●     异常处理●     激发异常●     创建自己的异常●     示例Java语言的设计从根本上便于我们写出整洁、设计良好的代码;尽管如此,在程序运行中仍可能有各种各样的错误出现1、异常处理Java的异常是面向对象的。一个Java的Exception是一个描述异常情况的对象.当出现异常情况时,一个Exception对象就产生了,并放到异常的成员函数里

2012-11-04 16:11:42 838

原创 关于java内部类总结

分类:(1) 在类中定义一个类(私有内部类,静态内部类)(2) 在方法中定义一个类(局部内部类,匿名内部类)内部类是Java编译器一手操办的。虚拟机并不知道内部类与常规类有什么不同,主要是编译器在编译的时候对内部类和外部类加以处理。特点总结:(1)  在类中方法外定义的非静态内部类:        ● 内部类可互相访问外围类的所有

2012-11-03 20:02:42 1070

转载 浅谈C++对象内存布局

最简单的类先从一个简单的类开始吧。如下,此简单类,非常简单,两个int成员,通过printf很容易了解到它的内存布局,本质就是一个C结构体,两个成员依次排列。对象:|成员1 | 成员2 |   1: #include 2: class Class0 3: { 4: public: 5: int member1;

2012-10-31 08:17:44 1560

转载 类在内存中的分配问题

一个类,有成员变量:静态与非静态之分;而成员函数有三种:静态的、非静态的、虚的。那么这些个东西在内存中到底是如何分配的呢?以一个例子来说明:#include"iostream.h"class CObject{public:static int a;CObject();~CObject();void Fun();private:int m_coun

2012-10-31 08:16:01 1316

转载 WM_INITDIALOG与WM_CREATE消息的区别

WM_CREATE是所有窗口都能响应的消息,表明本窗口已经创建完毕(可以安全的使用这个窗口了,例如在它上面画控件等)。在响应WM_CREATE消息响应函数的时候,对话框及子控件还未创建完成,亦是说只是通知系统说要开始创建窗口啦,这个消息响应完之后,对话框和子控件才开始创建。因此在此消息响应函数中无法对控件进行修改和初始化。        WM_INITDIALOG消息是对话框才能收到的消息

2012-04-26 14:37:10 7195

转载 汇编语言—通用寄存器

通用寄存器的主要用途寄存器的分类寄存器主 要 用 途通用寄存器数据 寄存器AX乘、除运算,字的输入输出,中间结果的缓存AL字节的乘、除运算,字节的输入输出,十进制算术运算AH字节的乘、除运

2012-03-09 16:45:21 965

转载 标志寄存器——标志位

标志位简介:    标志寄存器,又称程序状态寄存器(它的内容是Program Status Word,PSW).这是一个存放条件码标志,控制标志和系统标志的寄存器.6个状态标志位    CF—进位标志,加法时的最高位(D7或D15)产生进位或减法时最高位出现借位,则CF=1,否则CF=0;    AF—辅助进位标志,供BCD码使用。当D3位出现进位或借位时AF=1,否则AF=0

2012-03-09 16:20:43 15338

转载 各种排序算法的稳定性和时间复杂度小结

选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。冒泡法:  这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡:  复杂度为O(n*n)。当数据为正序,将不会有交换。复杂度为O(0)。直接插入排序:O(n*n)选择排序:O(n*n)快速排序:平均时间复杂度log2(n)*

2012-01-02 15:15:43 464

转载 非阻塞IO 和阻塞IO:

在网络编程中对于一个网络句柄会遇到阻塞IO 和非阻塞IO 的概念, 这里对于这两种socket 先做一下说明:       基本概念:              阻塞IO::                     socket 的阻塞模式意味着必须要做完IO 操作(包括错误)才会                     返回。              非阻塞IO::

2011-12-26 15:48:43 365

转载 syslog(),closelog()与openlog()--日志操作函数

为了满足某些目的,进行日志记录是很有必要的。在典型的 LINUX 安装中,/var/log/messages 包含所有的系统消息,/var/log/mail 包含来自邮件系统的其它日志消息,/var/log/debug 可能包含调试消息。根据你的LINUX的版本,你可以在 /etc/syslog.conf 或者 /etc/syslog-ng/syslog-ng.conf 文件里检查你的

2011-12-24 16:33:43 716

转载 Linux守护进程

一、守护进程简介守护进程,也就是通常说的Daemon进程,是Linux中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程常常在系统引导装入时启动,在系统关闭时终止。Linux系统有很多守护进程,大多数服务都是通过守护进程实现的,同时,守护进程还能完成许多系统任务,例如,作业规划进程crond、打印进程lqd等(这里的结尾字母

2011-12-24 11:04:57 551

原创 子进程和线程的区别

1、相同点:(a)二者都具有ID,一组寄存器,状态,优先级以及所要遵循的调度策略。(b) 每个进程都有一个进程控制块,线程也拥有一个线程控制块。(c) 线程和子进程共享父进程中的资源;线程和子进程独立于它们的父进程,竞争使用处理器资源;线程和子进程的创建者可以在线程和子进程上实行某些控制,比如,创建者可以取消、挂起、继续和修改线程和子进程的优先级;线程和子进程可以改变其属性并创建新的资

2011-12-20 21:09:42 16066 3

原创 多线程程序里不准使用fork ?

其实这是 UNIX上C++程序设计守则3准则3:多线程程序里不准使用fork在多线程程序里,在”自身以外的线程存在的状态”下一使用fork的话,就可能引起各种各样的问题.比较典型的例子就是,fork出来的子进程可能会死锁.请不要,在不能把握问题的原委的情况下就在多线程程序里fork子进程.那看看实例吧.一执行下面的代码,在子进程的执行开始处调用doit()时,发生死锁的机率会很高.

2011-12-20 20:05:11 1258 1

转载 线程和fork

fork函数调用会创建子进程,子进程的地址空间是在调用fork时父进程地址空间的拷贝。因为子进程地址空间跟父进程一样,所以调用fork时,子进程继承了父进程中的所有互斥锁、读写锁和条件变量(包括它们的状态)。    但在多线程环境中,调用fork时,子进程中只有一个线程存在,这个线程是调用fork函数的那个线程,其他线程都没有被拷贝。    根据上述两点,子进程中的锁可能被不存在的线程所拥

2011-12-20 19:46:44 1549

转载 sigsuspend 与sigwait 的区别

sigsuspend 与sigwait 的区别sigsuspend(const sigset_t *mask):设置阻塞信号为mask,等待其他信号(除mask之外的信号)的发生,若信号发生且对应的handler已执行,则返回-1,并设置相应的errno(已发生的信号值)。注意:sigsuspend 总是返回-1在程序执行到suspend之前发生的信号将不会被sigsuspend捕

2011-12-20 19:24:16 1563

转载 Linux 线程实现机制分析

一.基础知识:线程和进程按照教科书上的定义,进程是资源管理的最小单位,线程是程序执行的最小单位。在操作系统设计上,从进程演化出线程,最主要的目的就是更好的支持SMP以及减小(进程/线程)上下文切换开销。无论按照怎样的分法,一个进程至少需要一个线程作为它的指令执行体,进程管理着资源(比如cpu、内存、文件等等),而将线程分配到某个cpu上执行。一个进程当然可以拥有多个线程,此时,如果

2011-12-20 16:23:29 345

原创 关于函数可重入与其线程安全之我讨论(二)

可重入函数:       Reentrant Function线程安全函数:   Thread-Safe Function可重入和线程安全不是一个概念。可重入 => 线程安全可重入函数要解决的问题是,不在函数内部使用静态或全局数据,不返回静态或全局数据,也不调用不可重入函数。 线程安全函数要解决的问题是,多个线程调用函数时访问资源冲突。函数如果使用静态变量,通过加锁

2011-12-20 16:16:43 657

转载 关于函数重入和线程安全之我讨论(一)

线程安全:一个函数被称为线程安全的(thread-safe),当且仅当被多个并发进程反复调用时,它会一直产生正确的结果。如果一个函数不是线程安全的,我们就说它是线程不安全的(thread-unsafe)。我们定义四类(有相交的)线程不安全函数。第1类:不保护共享变量的函数将这类线程不安全函数变为线程安全的,相对比较容易:利用像P和V操作这样的同步操作来保护共享变量。这个方法的优点是在调

2011-12-20 15:43:04 650

ORACLE数据库性能优化

不错的一篇论文,对进行数据库优化工作有帮助

2014-08-17

SQL语句大全大全

SQL语句大全大全(经典珍藏版 很不错的pdf 希望对你有所帮助

2012-12-10

JavaApplet教程

从简繁入手,详细介绍了javaapplet的原理和创建过程,以及使用

2012-12-10

Applet安全限制和签名

详细讲解了applet的签名过程,自己亲自试过

2012-12-10

mysql使用文档 中文

很全的使用文档 对刚用MySQL处理数据的朋友们 很好用

2012-12-10

mysql-connector-java-5.1.22.zip

这个传到网上也是为了大家好下 其实价值不是很大

2012-12-10

Mysql数据库中文乱码

对mysql中文乱码问题,有一个详细的总结,有几种典型的解决办法 很好的文章

2012-12-10

网络服务评测程序

自己所写 能和servlet 配合使用 对网络服务进行评测

2012-12-10

java网络编程

全面介绍java 网络编程 总结的很不错 值得一看

2012-11-22

servlet部署例子

一个简单地servlet部署例子 适合初学者

2012-11-22

servlet详细讲解

比较全面的介绍了serlet的简单地编写,部署,生命周期等过程,适合初学者

2012-11-22

servlet api 中文版

比较全面的介绍了Servlet API,chm格式,方便阅读

2012-11-22

java核心技术(完整版)第八版

很权威的java入门书籍,而且质量很好,最版版本

2012-09-06

Webservice 和soa实现

在最新Java开发世界里,我们经常会遇到这样一个名词:Web Services(Web服务)。同时还会发现,与这个名词同时出现的多是各大主流技术供应商,各大技术供应商无一不在关注这一领域的发展。从Microsoft的.NET架构,到SUN的SUN ONE,以及IBM的Web Services,都体现了这些重量级的技术提供者对Web Services的推崇与重视。

2012-09-06

shell脚本学习指南

介绍了shell编程的基本规则,语法,等,封面动物级别的好书

2012-07-06

汇编语言_王爽著

很好的汇编语言书籍 通俗易懂 可以使你受益匪浅 建议到网上和视频一起看 效果会更好

2012-03-23

codeblock初级使用教程

里面很详细的介绍了 codeblocks的初级应用 很适合初级学习者入门

2011-10-14

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除