自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 分布式协议之两阶段提交协议(2PC)和改进三阶段提交协议(3PC)

一、 事务的ACID事务是保证数据库从一个一致性的状态永久地变成另外一个一致性状态的根本,其中,ACID是事务的基本特性。A是Atomicity,原子性。一个事务往往涉及到许多的子操作,原子性则保证这些子操作要么都做,要么都不做,而不至于出现事务的部分操作成功,而另外一部分操作没有成功。如果事务在执行的过程中发生错误,那么数据库将回滚到事务发生之前的状态。比如银行的转账服务

2015-06-30 15:32:22 1785

原创 JDBC高级特性(三)分布式事务和JTA基本原理

在进入主题之前我们首先来了解一下JNDI和连接池~一、JNDI1)是一组在Java应用中访问命名和目录服务的API(Java命名与目录接口)命名服务将名称和对象联系起来,使得我们可以通过名称访问对象。目录服务是命名服务的扩展,两者之间的关键差别是目录服务中对象可以有属性(例如:用户有email地址),而命名服务中对象没有属性。2)JNDI API提供了一种统一的方式,可以在本地

2015-06-28 20:44:23 4233

原创 JDBC高级特性(二)事务、并发控制和行集

一、事务事务是指一个工作单元,它包含了一组添加,删除,修改等数据操作命令,这组命令作为一个整体向系统提交执行,要么都执行成功,要么全部恢复在JDBC中使用事务1)con.setAutoCommit(false),取消自动提交2)对数据库执行一个或多个操作(一个或多个SQL语句)3)con.commit(),提交事务(上面的第二部的多个操作就作为一个整体提交执行)4)如果某个

2015-06-28 13:55:12 2535

原创 JDBC高级特性(一)结果集,批量更新

一、ResultSet的高级特性1 可滚动ResultSet   1)向前和向后滚动   滚动特性在JDBC初期版本中, ResultSet仅能向前滚动在JDBC后续版本中, ResultSet默认能向前滚动或前后滚动迟缓滚动:记录集可前后滚动,不受数据库数据更新影响灵敏滚动:记录集可前后滚动,受数据库数据更新影响由结果集类型设定con.createSt

2015-06-27 15:26:22 2245

原创 JDBC基本应用

首先我们来看一下JDBC操作数据的核心:Connection应用程序与数据库之间的桥梁数据库驱动程序是构建桥梁的基石和材料DriverManager类是基石和材料的管理员Statement桥梁上的汽车,在应用程序和数据库之间运送SQL语句和执行结果ResultSet执行查询得到的数据集,由若干行和列组成的数据表,是数据库中数据表的子集,有游标JDBC基本步骤

2015-06-27 12:46:40 863

原创 Java对二叉搜索树进行插入、查找、遍历、最大值和最小值的操作

1、首先,需要一个节点对象的类。这些对象包含数据,数据代表存储的内容,而且还有指向节点的两个子节点的引用class Node { public int iData; public double dData; public Node leftChild; public Node rightChild; public void displayNode() { System.out.p

2015-06-25 15:21:41 2195

原创 Java用链表实现栈和队列

1、用链表实现栈package stack;/** * * @author denghb * */class Link { public long dData; public Link next; public Link(long dd) { dData = dd; } public void displayLink() { System.out.print(d

2015-06-24 08:35:18 1793

转载 Java Struts2 的请求处理流程详解

一、Struts2的处理流程: 客户端产生一个HttpServletRequest的请求,该请求被提交到一系列的标准过滤器(Filter)组建链中(如ActionContextCleanUp:它主要是清理当前线程的ActionContext、Dispatcher,FilterDispatcher主要是通过ActionMapper来决定需要调用那个Action,FilterDispatche

2015-06-23 14:24:00 737

原创 Java数组实现循环队列的两种方法

用java实现循环队列的方法:1、增加一个属性size用来记录目前的元素个数。目的是当head=rear的时候,通过size=0还是size=数组长度,来区分队列为空,或者队列已满。2、数组中只存储数组大小-1个元素,保证rear转一圈之后不会和head相等,也就是队列满的时候,rear+1=head,中间刚好空一个元素。      当rear=head的时候,一定是队列空了。队列

2015-06-23 12:48:32 6278

原创 String源码分析之Java中的String为什么是不可变的以及replace方法源码分析

什么是不可变对象?众所周知, 在Java中, String类是不可变的。那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对象就是不可变的。不能改变状态的意思是,不能改变对象内的成员变量,包括基本数据类型的值不能改变,引用类型的变量不能指向其他的对象,引用类型指向的对象的状态也不能改变。区分对象和对象的引用对于Java初学

2015-06-18 16:55:16 1104

原创 Java中的clone方法详解

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

2015-06-18 13:53:20 1028

原创 Java反射机制详解

一、什么是反射机制         简单的来说,反射机制指的是程序在运行时能够获取自身的信息。在java中,只要给定类的名字,     那么就可以通过反射机制来获得类的所有信息。 二、哪里用到反射机制         有些时候,我们用过一些知识,但是并不知道它的专业术语是什么,在刚刚学jdbc时用过一行代码,     Class.forName("com.mysql.jdbc.

2015-06-14 13:53:37 735

原创 SpringMVC与Freemarker的集成以及多视图解析器配置

一、Spring MVC视图解析器视图解析器的工作流程大致是这样的:Controller的某个方法执行完成以后,返回一个视图(比如:listUser),视图解析器要做的工作就是找到某个对象来完成视图的渲染,或者跳转到其他的逻辑视图。这里的渲染对象通常就是我们的jsp文件或者我们下面用的Freemarker(例如listUser.jsp或者listUser.ftl)。渲染完成以后,将解析

2015-06-07 17:53:48 9550 1

原创 深入理解Java注解

什么是注解(Annotation):Annotation(注解)就是Java提供了一种元程序中的元素关联任何信息或者任何元数据(metadata)的途径和方法。Annotion(注解)是一个接口,程序可以通过反射来获取指定程序元素的Annotion对象,然后通过Annotion对象来获取注解里面的元数据。  Annotation(注解)是JDK5.0及以后版本引入的。它可以用于创建文档

2015-06-07 16:25:51 793

原创 美团实习生电面之谈(成功拿到offer)

3月底进行了美团的一次实习生面试(Java研发工程师),当时顺利的通过一面,下面是我的一面:1、CPU由哪些部分组成2、线程和进程的区别3、Java类加载机制4、如何实现一个字符串的反转(如abcdef转换成fedcba)5、memcached详细介绍(memcached优点,内存分配机制以及调优,删除机制,分布式算法)6、concurrenthashmap工作原理(详情可

2015-06-02 15:21:51 4211 1

空空如也

空空如也

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

TA关注的人

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