自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (3)
  • 收藏
  • 关注

转载 Jsoup解析HTML实例及文档方法详解

这篇文章主要介绍了Jsoup如何解析一个HTML文档、从文件加载文档、从URL加载Document等方法,对Jsoup常用方法做了详细讲解,最近提供了一个示例供大家参考 使用DOM方法来遍历一个文档 从元素抽取属性,文本和HTML 获取所有链接解析和遍历一个HTML文档如何解析一个HTML文档:复制代码代码如下:String ht

2016-09-29 23:55:25 826

转载 java clone原理

在java中 clone为什么要用super.clone()方法 这里为什么要用super不是this?1.Object中的clone执行的时候使用了RTTI(run-time type identification)的机制,动态得找到目前正在调用clone方法的那个reference,根据它的大小申请内存空间,然后进行bitwise的复制,将该对象的内存空间完全复制到新的空间中去,从而达到s

2016-09-24 11:40:28 2269

转载 java clone替代方案

(1)提供一个拷贝构造函数(如果你用过C++就不会陌生)Java代码  public RaceCar(RaceCar raceCar);          (2)提供一个静态工厂方法,当然名字可以改变,比如deepCopy等Java代码  public RaceCar newInstance(RaceCar raceCar

2016-09-24 11:37:37 1069

转载 java克隆对象clone()的用法和作用

内容摘要若需修改一个对象,同时不想改变调用者的对象,就要制作该对象的一个本地副本。这也是本地副本最常见的一种用途。若决定制作一个本地副本,只需简单地使用clone()方法即可。Clone是“克隆”的意思,即制作完全一模一样的副本。这个方法在基础类Object中定义成“protected”(受保护)模式。但在希望克隆的任何衍生类中,必须将其覆盖为“public”模式。例如,标准库类Vecto

2016-09-24 11:36:02 1260

转载 详解Java中的clone方法

Java中对象的创建clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢? 1 使用new操作符创建一个对象 2 使用clone方法复制一个对象 那么这两种方式有什么相同和不同呢? new操作符的本意是分配内存。程

2016-09-24 11:34:50 375

转载 Java clone() 浅克隆与深度克隆

现在Clone已经不是一个新鲜词语了,伴随着“多莉”的产生这个词语确实很“火”过一阵子,在Java中也有这么一个概念,它可以让我们很方便的“制造”出一个对象的副本来,下面来具体看看java中的Clone机制是如何工作的?     1. Clone&Copy     假设现在有一个Employee对象,Employee tobby =new Employee(“CMTobby”,5000),

2016-09-24 11:33:28 312

转载 Java的clone方法

什么是"clone"?   在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能 会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的。在 Java语言中,用简单的赋值语句是不能满足这种需求的。要满足这种需求虽然有很多途径,但实现clone()方法是其中最简单

2016-09-24 11:31:48 296

转载 httpcomponent4.0调用样例

private static class HttpComponentUtil { private static int timeout = 5 * 1000; private static PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager(); private st

2016-09-24 11:27:09 1474

转载 谈谈Java利用原始HttpURLConnection发送POST数据

URLConnection是个抽象类,它有两个直接子类分别是HttpURLConnection和JarURLConnection。另外一个重要的类是URL,通常URL可以通过传给构造器一个String类型的参数来生成一个指向特定地址的URL实例。每个 HttpURLConnection 实例都可用于生成单个请求,但是其他实例可以透明地共享连接到 HTTP 服务器的基础网络。请求后在 H

2016-09-24 11:00:47 1512

转载 详解HttpURLConnection(注意末尾的部分)

请求响应流程设置连接参数的方法setAllowUserInteractionsetDoInputsetDoOutputsetIfModifiedSincesetUseCachessetDefaultAllowUserInteractionsetDefaultUseCaches设置请求头或响应头HTTP请求允许一个key带多个用逗号分开的values,

2016-09-24 10:56:16 3687

转载 Java对象的浅克隆和深克隆

为什么需要克隆     在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的。在Java语言中,用简单的赋值语句是不能满足这种需求的,要满足这种需求有很多途径。     克隆的实现方式

2016-09-19 23:39:06 9484

转载 揭开Java IO流中的flush()的神秘面纱

前言:大家在使用Java IO流中OutputStream、PrintWriter ……时,会经常用到它的flush()方法。一.为什么要flush:与在网络硬件中缓存一样,流还可以在软件中得到缓存,即直接在Java代码中缓存。这可以通过BufferedOutputStream或BufferedWriter 链接到底层流上来实现。因此,在写完数据时,flush就显得

2016-09-18 22:47:08 5777

转载 Java的解释执行是先全部解释完后再执行还是边解释边执行?

它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。既然Ja

2016-09-17 16:48:26 10974 2

转载 Java为什么解释执行时不直接解释源码?

原文地址:http://www.zhihu.com/question/34345694Java源码为什么会经过中间步骤转换为字节码,这样不是增加工作量吗?直接解释源代码一样跨平台。为什么不在解释运行时直接解释源代码,而是字节码。字节码更便于虚拟机读取,不用在解析字符串,所以运行速度比直接解析源代码快。语法是会变的,而源代码中没有版本信息,而字节码中不但有版本信息,还

2016-09-17 16:45:28 1571

转载 Java 6 RowSet 使用完全剖析

C# 提供了 DataSet,可以将数据源中的数据读取到内存中,进行离线操作,然后再同步到数据源。同样,在 Java 中也提供了类似的实现,即 RowSet。javax.sql.rowset 包下,定义了五个不同的 RowSet 接口,供不同的场合使用。本文将分别对这五个 RowSet 的使用场合以及详尽用法进行介绍,并且描述使用中可能出现的问题,以提醒读者在实际使用时绕开这些问题。

2016-09-17 16:31:41 3744

转载 SQL中inner join、outer join和cross join的区别

对于SQL中inner join、outer join和cross join的区别很多人不知道,我也是别人问起,才查找资料看了下,跟自己之前的认识差不多,如果你使用join连表,缺陷的情况下是inner join,另外,开发中使用的left join和right join属于outer join,另外outer join还包括full join.下面我通过图标让大家认识它们的区别。现有两张

2016-09-17 16:21:39 1010

转载 Java技术回顾之JDBC:JDBC的事务支持

与事务相关的理论1.事务(Transaction)的四个属性(ACID)原子性(Atomic) 对数据的修改要么全部执行,要么全部不执行。一致性(Consistent) 在事务执行前后,数据状态保持一致性。隔离性(Isolated) 一个事务的处理不能影响另一个事务的处理。持续性(Durable) 事务处理结束,其效果在数据库中持久化。2.事务并发处理可能引起的问题

2016-09-11 22:37:58 398

转载 Java技术回顾之JDBC:连接池

JDBC连接池框架在企业级数据库应用中,数据库连接池(Connection Pool)是一个非常重要的组件。连接池的主要功能是管理和控制JDBC中的几类资源(Connection,Statement,ResultSet),以提供高性能的数据库访问,同时防止这几类资源的无限制使用而导致性能降低甚至服务崩溃。连接池一般有最大连接数,最小连接数,最大并发连接数等属性。在JDBC3.0提出连接池框架之

2016-09-11 22:35:35 1145

转载 java中RowSet用法

与ResultSet相比,RowSet默认是可滚动的,可更新的,可序列化的结果集。而且作为javaBean使用。因此能方便的在网络上传输。用于同步两端的数据。对于离线RowSet而言程序再创建RowSet时已经把数据从数据库读取到内存,因此能充分利用计算机的内存。从而降低服务器的负载。java7提供了RowSetProvider,可以利用RowSetProvider.new

2016-09-11 22:31:50 2011

转载 Java技术回顾之JDBC:ResultSet和RowSet

ResulSet类型和选项Connection提供了三种不同的方法来创建Statement:createStatement() createStatement(int resultSetType, int resultSetConcurrency) createStatement(int resultSetType, int resultSetConcurrency, int

2016-09-11 22:29:34 1522

转载 机器自动识别验证码的原理是怎么样的?

http://www.zhihu.com/question/22479139

2016-09-10 22:34:55 1615

转载 MySQL优化—工欲善其事,必先利其器之EXPLAIN

最近慢慢接触MySQL,了解如何优化它也迫在眉睫了,话说工欲善其事,必先利其器。最近我就打算了解下几个优化MySQL中经常用到的工具。今天就简单介绍下EXPLAIN。内容导航idselect_typetabletypepossible_keyskeykey_lenrefrowsExtra 环境准备MySQL版本:创建测试表CREA

2016-09-10 22:33:42 510

转载 被12306坑了?聊聊验证码发展

年关将至,也正值春运购票高峰,正所谓“一张车票引无数英雄尽折腰”。近日,铁路部门的官方购票网站12306再次成为网友调侃的对象。不过,这次 调侃的内容不再是抢票难的问题,而换成了12306登陆时的图形验证码。部分网友在购票时发现,该网站的少数图形验证码不仅难以识别,甚至有些物品名称都 没有听说过,最终也导致部分人没有买到理想的回家车票。既然验证码这么“反人类”,那它存在的意义是什么呢?今天笔者就带

2016-09-10 22:32:29 1815

转载 验证码的原理、作用及实现

验证码原理分析及实现一、前言    最近学习实现了验证码,首先附图效果如下:(    简单说明:        分别提交正确、错误的验证码及对应效果         本文是图文结合说明)                          二、验证码的作用    验证码是目前大多网站所支持并使用于

2016-09-10 22:30:36 5347

转载 Java Class文件详解

Java Class文件中包含以下信息:ClassFile {u4 magic; //模数u2 minor_version; //次版本号u2 major_version; //主版本号u2 constant_pool_cou

2016-09-10 22:28:50 951

转载 java class文件简介

之前对Java虚拟机作了概述,接下来来讲一讲Java class文件,主要涉及class文件的内容,包括常量池的结构及其格式等。 Java class文件是什么? java class 文件是对Java程序二进制文件格式的精确定义。每一个Java class文件都对一个Java类或者Java接口做出了全面描述。一个class文件中只能包含一个类或者接口。无论Java

2016-09-10 22:27:50 334

转载 Java虚拟机类加载和执行机制

虚拟机的类加载和执行机制是虚拟机的最主要功能,在这里简单的对所知的内容进行一次温习,并记录以方便日后重温。本篇主要引用《深入理解Java虚拟机——JVM高级特性与最佳实践》一书。1、类文件结构    java虚拟机要对类文件进行加载和执行,那么必须要能够理解类文件结构,而对于虚拟机而言,平台无关性和语言无关性是其最重要的两大特征,那么就势必要对类文件结构进行规范化和结构化,这样才能保证

2016-09-10 22:26:10 415

转载 类加载器的工作原理

Java类加载器的作用就是在运行时加载类。Java类加载器基于三个机制:委托、可见性和单一性。委托机制是指将加载一个类的请求交给父类加载器,如果这个父类加载器不能够找到或者加载这个类,那么再加载它。可见性的原理是子类的加载器可以看见所有的父类加载器加载的类,而父类加载器看不到子类加载器加载的类。单一性原理是指仅加载一个类一次,这是由委托机制确保子类加载器不会再次加载父类加载器加载过的类。正确理解类

2016-09-10 22:25:20 425

转载 深入研究Java类加载机制

深入研究Java类加载机制 类加载是Java程序运行的第一步,研究类的加载有助于了解JVM执行过程,并指导开发者采取更有效的措施配合程序执行。研究类加载机制的第二个目的是让程序能动态的控制类加载,比如热部署等,提高程序的灵活性和适应性。 一、简单过程 Java程序运行的场所是内存,当在命令行下执行:java HelloWorld命令的时候,JVM会将HelloW

2016-09-10 22:24:26 256

转载 MySQL不支持FULL JOIN, INTERSECT和MINUS(except)的替代方法

基本资料:mysql> select version();+-----------+| version() |+-----------+| 5.0.16 |+-----------+mysql> select * from t1;+----+------+| id | name |+----+------+| 1 | aa || 2 | bb |

2016-09-05 23:40:59 7890

转载 [Tomcat源码系列] Tomcat 类加载器结构

一、从类加载器(ClassLoader)结构说起1.基本介绍(此部分可参见> Chapter9. Security)      顾名思义,类加载器是用于加载Java的类定义信息(.class)。需要注意的是类加载器仅在需要的才加载类定义信息,参见> Chapter9. Security关于ClassLoader的说明如下      Note that the virtual mac

2016-09-04 22:23:09 433

转载 Java类加载器深入理解

本篇文章主要是详细写一下个人对Java ClassLoader的理解。首先回顾一下,java虚拟机载入java类的步骤:java文件经过编译器编译后变成字节码文件(.class文件),类加载器(ClassLoader)读取.class文件,并且转换成java.lang.Class的一个实例,最后通过newInstance方法创建该类的一个对象。ClassLoader的作用就是根据一个类名,

2016-09-04 17:22:57 336

转载 Java深度历险(二)——Java类的加载、链接和初始化

在上一篇文章中介绍了Java字节代码的操纵,其中提到了利用Java类加载器来加载修改过后的字节代码并在JVM上执行。本文接着上一篇的话题,讨论Java类的加载、链接和初始化。Java字节代码的表现形式是字节数组(byte[]),而Java类在JVM中的表现形式是java.lang.Class类的对象。一个Java类从字节代码到能够在JVM中被使用,需要经过加载、链接和初始化这三个步骤。这三个步骤中

2016-09-04 17:22:12 290

转载 Java类加载器总结

1.类的加载过程  JVM将类加载过程分为三个步骤:装载(Load),链接(Link)和初始化(Initialize)链接又分为三个步骤,如下图所示:1) 装载:查找并加载类的二进制数据;2)链接:验证:确保被加载类的正确性;准备:为类的静态变量分配内存,并将其初始化为默认值;解析:把类中的符号引用转换为直接引用;3)初始

2016-09-04 17:20:15 182

转载 innodb next-key lock解析

这里补充一些:(1)InnoDB默认加锁方式是next-key locking(2)在聚集索引中,如果主键有唯一性约束(unique,auto increment),next-key locking 会自动降级为record locking。(3)由于事务的隔离性和一致性要求,会对所有扫描到的record加锁。比如:update ... where/delete .. wh

2016-09-04 17:18:43 421

转载 mysql next-key locking

在 InnoDB 的行级锁定上使用一个称作 next-key locking 算法。在 InnoDB 在搜索或扫描表的索引时将进行行锁,它将在所访问到的索引上设置共享或排它的锁定。因而行锁是更加精确地而又称为索引记录锁定。InnoDB 在索引记录上设置的锁同样会影响索引记录之前的“间隙(gap)”。如果一个用户对索引记录 R 加了一个共享或排它的锁定,那其它用户将不能在 R 之前立即插入新

2016-09-04 17:18:01 819

转载 mysql的mvcc(多版本并发控制)

我们知道,mysql的innodb采用的是行锁,而且采用了多版本并发控制来提高读操作的性能。什么是多版本并发控制呢 ?其实就是在每一行记录的后面增加两个隐藏列,记录创建版本号和删除版本号,而每一个事务在启动的时候,都有一个唯一的递增的版本号。 1、在插入操作时 : 记录的创建版本号就是事务版本号。 比如我插入一条记录, 事务id 假设是1 ,那么记录如下:也就是说,

2016-09-04 17:16:41 420

转载 MYSQL MVCC实现及其机制

多版本并发控制  Multiversion Concurrency Control  大部分的MySQL的存储 引擎,比如InnoDB,Falcon,以及PBXT并不是简简单单的使用行锁机制。它们都使用了行锁结合一种提高并发的技术,被称为MVCC(多版本并 发控制)。MVCC并不单单应用在MySQL中,其他的数据库如Oracle,PostgreSQL,以及其他数据库也使用这个技术。

2016-09-04 17:16:11 980

转载 MySQL的InnoDB索引原理详解(讲的很好)

本篇介绍下Mysql的InnoDB索引相关知识,从各种树到索引原理到存储的细节。InnoDB是Mysql的默认存储引擎(Mysql5.5.5之前是MyISAM,文档)。本着高效学习的目的,本篇以介绍InnoDB为主,少量涉及MyISAM作为对比。这篇文章是我在学习过程中总结完成的,内容主要来自书本和博客(参考文献会给出),过程中加入了一些自己的理解,描述不准确的地方烦请指出。

2016-09-04 17:15:11 2337 2

转载 INNODB整体讲解

=========================1 内存结构  组成部分:  缓冲池   buffer pool, 由innodb_buffer_pool_size配置  重做日志缓冲池 redo log buffer, 由innodb_log_buffer_size配置  额外内存池  additional memory pool, 由innodb_additional

2016-09-04 17:13:02 2399

C++编程思想(中文)

C++编程思想(中文) 本书作者根据自己学习C++的亲身体会及多年教学经验,用简单的例子和简练的叙述讲解C++编程,别具特色。 全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚函数、模板和包容器类、多重继承、异常处理和运行时类型识别。 本书作为正式教材和自学用书均非常优秀,作为程序设计者的参考用书亦极为合适。

2009-11-11

vc文件拷贝程序(显示拷贝进度)

是一个在VC下实现文件拷贝的程序,包括浏览文件夹、拷贝进度显示功能,文家拷贝主要使用win32函数CopyFileEx,进度显示则通过其回调函数CopyProgressRoutine实现。

2009-05-17

空空如也

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

TA关注的人

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