自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Java 攻城狮~~

一名Java攻城狮,喜欢研究相关的技术,对计算机的任何方面都感兴趣。真正的全栈,装系统,搭服务器,搭分布式,搭集群,操作数据库,搭框架,设计,写后端,写前端,单元测试,集成测试,联调,优化,部署

  • 博客(32)
  • 收藏
  • 关注

原创 数据库中查询的各种连接(左连接,右连接,全连接,内连接,交叉连接,自连接)

左右连接其实就是以哪个表为主(或者说为准),结果集为“主表”的全部记录+“副表”与“主表”相匹配的记录,如果“副表”中没有和“主表”相匹配的记录,则相对应的记录显示为NULL 左连接:左边表全部行+右边表相匹配的行,如果左边表中的某一行,在右边表中没有匹配的行,则显示NULL(left join 或者left outer join) 右连接:和左连接相反。(right join 或

2016-04-12 17:27:54 541

转载 数据库的几种连接查询

1:连接查询  通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型 数据库管理系统的一个标志。  在关系数据库管理系统中,表建立时各数据之间的关系不必确定,常把一个实体的所有信息存放在 一个表中。当检索数据时,通过连接操作查询出存放在多个表中的不同实体的信息。连接操作给用户带 来很大的灵活性,他们可以在任何时候增加新的数据类型。为不同实体创建新的表,尔后

2016-04-12 17:25:19 807

原创 SQL多表连接查询(详细实例)

本文主要列举两张和三张表来讲述多表连接查询。新建两张表:表1:student  截图如下:表2:course  截图如下:(此时这样建表只是为了演示连接SQL语句,当然实际开发中我们不会这样建表,实际开发中这两个表会有自己不同的主键。)一、外连接外连接可分为:左连接、右连接、完全外连接。1、左连接  left join 或 lef

2016-04-12 17:24:39 46621 1

原创 异常机制及throw与throws的区别

ava的异常处理Java的异常处理是通过5个关键字来实现的:try,catch,throw,throws,finally。JB的在线帮助中对这几个关键字是这样解释的:       Throws: Lists the exceptions a method could throw.       Throw: Transfers control of the method to

2016-04-12 11:35:20 1317

原创 Java中throw和throws的区别

系统自动抛出的异常所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行。 语句抛出的异常 用户程序自定义的异常和应用程序特定的异常,必须借助于 throws 和 throw 语句来定义抛出异常。throw是语句抛出一个异常。语法:throw (异常对象

2016-04-12 11:34:20 298

转载 浅谈java中static作用

static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,static对象可以在它的任何对象

2016-04-11 14:19:36 353

转载 Spring技术内幕——深入解析Spring架构与设计原理(一)IOC实现原理

IOC的基础 下面我们从IOC/AOP开始,它们是Spring平台实现的核心部分;虽然,我们一开始大多只是在这个层面上,做一些配置和外部特性的使用工作,但对这两个核心模块工作原理和运作机制的理解,对深入理解Spring平台,却是至关重要的;因为,它们同时也是Spring其他模块实现的基础。从Spring要做到的目标,也就是从简化Java EE开发的出发点来看,简单的来说,它是通过对POJO

2016-04-07 13:16:15 546

转载 Spring 之 生命周期机制混合使用

对于同一个bean,有多种生命周期机制,其有不同的初始化方法,如下所示: 1        使用@PostConstruct注解的方法2    实现了InitializingBean回调接口,并定义了afterPropertiesSet()方法3    自定义的init()方法 销毁方法如下顺序:1          @PreDestory注

2016-04-06 23:34:58 544

原创 String、StringBuffer和StringBuilder的区别(一)

String是不可变的,StringBuffer是可变的;StringBuffer是线程安全的,StringBuilder是非线程安全的。 因而在大部分情况下字符串的拼接速度为:StringBuilder>StringBuffer>String 解释如下:    因为String是不可变的(通过ide的debugger可以发现其属性大都为final类型),因此每次对其操作改变其变量值,

2016-04-06 23:33:28 257

原创 java中String、StringBuffer、StringBuilder的区别

java中String、StringBuffer、StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题。现在总结一下,看看他们的不同与相同。1.可变与不可变  String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的。    private final char value[];

2016-04-06 23:30:45 316

原创 Java中HashMap和TreeMap的区别深入理解

首先介绍一下什么是Map。在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value首先介绍一下什么是Map。在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value。这就是我们平时说的键值对。HashMa

2016-04-06 23:29:05 442

转载 Android/Java面试题,边面试边成长,为了应试而应试

从今天起,所有面试或遇到过的面试题,都整理到此文章下,提醒自己时刻要学习,同时分享给各位。【部分网上整理】Java基础 1,Java中一个汉字占多少字节?java中,只要是字符,不管是数字还是英文还是汉字,都占两个字节,都是一个char。 char c1 = ‘中’; char c2 = ‘A’; char c3 = ‘1’; 确切说,Unicode编码是指一类

2016-04-06 23:26:53 385

转载 StringBuffer和StringBuilder的区别

无论是做Java或是Android,都避免不了遇到这个问题,其实开发过程中一般情况下是不会纠结,这个问题是面试必选经典题,今天有时间,就总结一下。String、StringBuffer、StringBuilder区别StringBuffer、StringBuilder和String一样,也用来代表字符串。String类是不可变类,任何对String的改变都 会引发新的Str

2016-04-06 23:25:45 270

原创 浅谈java中String与StringBuffer的不同

String在栈中,StringBuffer在堆中!所以String是不可变的,数据是共享的。StringBuffer都是独占的,是可变的(因为每次都是创建新的对象!)String 不是简单类型,而是一个类,它被用来表示字符序列。字符本身符合 Unicode 标准,其初始化方式有两种。如:String greeting=“Good Morning! \n”;

2016-04-06 23:23:41 364

转载 Spring之JMS之发送消息

JmsTemplate包含了许多方法发送消息。有一些发送方法,其指定了目的地,使用了一个javax.jms.Destination对象并且还有那些使用一个String作为参数,需要JNDI查询。没有指定目的的发送方法使用默认的目的。下面是一个例子,发送消息到一个队列中。[java] view plain copy import j

2016-04-06 23:01:47 515

转载 Spring之JMS之接受消息

23.4.1 同步接受JMS一般是异步处理,也有可能同步消费消息。重载receive(..)方法提供了这个功能。在同步接受期间,调用线程会一直阻塞直到消息可用。这会是很危险的操作,因为调用线程可能随机发生阻塞。receiveTimeout属性指定了接收器在放弃等待一条消息前应该等待的时间。23.4.2 异步接受---消息驱动 POJOs需注意Spri

2016-04-06 23:00:13 589

转载 世界500强面试推理题求答案

1.击鼠标  击鼠标比赛现在开始!参赛者有拉尔夫、威利和保罗。  拉尔夫10秒钟能击10下鼠标;威利20秒钟能击20下鼠标;保罗5秒钟能击5下鼠标。以上各人所用的时间是这样计算的;从第一击开始,到最后一击结束。他们是否打平手?如果不是,谁最先击完40下鼠标?  2.感觉  用第一感觉判断8+8=91这个等式正确吗?说明理由。  3.谎话  如果下列每个人说的话都是假话,

2016-04-06 15:01:10 1579

转载 Spring实现AOP的4种方式

Spring实现AOP的4种方式   先了解AOP的相关术语:1.通知(Advice):通知定义了切面是什么以及何时使用。描述了切面要完成的工作和何时需要执行这个工作。2.连接点(Joinpoint):程序能够应用通知的一个“时机”,这些“时机”就是连接点,例如方法被调用时、异常被抛出时等等。3.切入点(Pointcut)通知定义了切面要发生的“故事”和时间

2016-04-06 14:58:28 321

转载 AOP的实现机制

1 AOP各种的实现AOP就是面向切面编程,我们可以从几个层面来实现AOP。在编译器修改源代码,在运行期字节码加载前修改字节码或字节码加载后动态创建代理类的字节码,以下是各种实现机制的比较。  类别机制原理优点缺点静态AOP静态织入在编译期,切面直接以字节码的形式编译到目

2016-04-06 14:56:48 351

转载 Spring AOP 详解

此前对于AOP的使用仅限于声明式事务,除此之外在实际开发中也没有遇到过与之相关的问题。最近项目中遇到了以下几点需求,仔细思考之后,觉得采用AOP 来解决。一方面是为了以更加灵活的方式来解决问题,另一方面是借此机会深入学习Spring AOP相关的内容。本文是权当本人的自己AOP学习笔记,以下需求不用AOP肯定也能解决,至于是否牵强附会,仁者见仁智者见智。对部分函数的调用进行日志记录,用于观

2016-04-06 14:55:57 334

原创 我对AOP的理解

1、问题 问题:想要添加日志记录、性能监控、安全监测  2、最初解决方案 2.1、最初解决方案缺点:太多重复代码,且紧耦合 2.2、抽象类进行共性设计,子类进行个性设计,此处不讲解,缺点一荣俱荣,一损俱损 2.3、使用装饰器模式/代理模式改进的解决方案装饰器模式:动态地给一个对象添加一些额外的职

2016-04-06 14:54:58 1458

原创 理解AOP

Aspect Oriented Programming  面向切面编程。解耦是程序员编码开发过程中一直追求的。AOP也是为了解耦所诞生。具体思想是:定义一个切面,在切面的纵向定义处理方法,处理完成之后,回到横向业务流。AOP 在Spring框架中被作为核心组成部分之一,的确Spring将AOP发挥到很强大的功能。最常见的就是事务控制。工作之余,对于使用的工具,不免需要了解其所以然。学习了一

2016-04-06 14:54:05 879

转载 Class.forName

Class.forName(xxx.xx.xx) 返回的是一个类首先你要明白在java里面任何class都要装载在虚拟机上才能运行。这句话就是装载类用的(和new 不一样,要分清楚)。 至于什么时候用,你可以考虑一下这个问题,给你一个字符串变量,它代表一个类的包名和类名,你怎么实例化它?只有你提到的这个方法了,不过要再加一点。 A a = (A)Class.forName("pac

2016-04-06 14:51:07 298

转载 我是一个线程

我是一个线程,我一出生就被编了个号: 0x3704,然后被领到一个昏暗的屋子里, 这里我发现了很多和我一模一样的同伴。  我身边的同伴0x6900待的时间比较长, 他带着沧桑的口气对我说:  “我们线程的宿命就是处理包裹。把包裹处理完以后还得马上回到这里,否则可能永远回不来了。”  我一脸懵懂,包裹,什么包裹?  “不要着急,马上你就会明白了, 我们这里是不养闲人的。”  果然

2016-04-06 14:48:23 307

转载 JAVA深入研究——Method的Invoke方法

在写代码的时候,发现Method可以调用子类的对象,但子类即使是改写了的Method,方法名一样,去调用父类的对象也会报错,虽然这是很符合多态的现象,也符合java的动态绑定规范,但还是想弄懂java是如何实现的,就学习了下Method的源代码。 Method的invoke方法 1.先检查 AccessibleObject的override属性是否为true。Accessibl

2016-04-06 14:45:35 655

转载 深入理解 java I/O

Java 的 I/O 类库的基本架构I/O 问题是任何编程语言都无法回避的问题,可以说 I/O 问题是整个人机交互的核心问题,因为 I/O 是机器获取和交换信息的主要渠道。在当今这个数据大爆炸时代,I/O 问题尤其突出,很容易成为一个性能瓶颈。正因如此,所以 Java 在 I/O 上也一直在做持续的优化,如从 1.4 开始引入了 NIO,提升了 I/O 的性能。关于 NIO 我们将在后面详

2016-04-06 11:42:02 1211

原创 Java类的初始化

Java类的初始化 我们知道一个类(class)要被使用必须经过装载,连接,初始化这样的过程。下面先对这三阶段做一个简单的描述,之后会结合一个简单的例子来说明java中类的初始化过程。 在装载阶段,类装载器(Bootstrap ClassLoader 或者用户自定义的ClassLoader) 把编译形成的class文件载入内存,创建类相关的Class对象,这

2016-04-06 11:41:20 1419

原创 详解java序列化(二)

好的,继续为大家 带来上一篇文章——详解java序列化(一)http://blog.csdn.net/moreevan/article/details/6697777中最后第2个问题的解答。第2个问题:Object是每个类的超类,但是它没有实现 Serializable接口,但是我们照样在序列化对象,所以说明一个类要序列化,它的父类不一定要实现Serializable接口。但是在父类中定义

2016-04-06 11:40:03 387

原创 详解java序列化(一)

我们可以通过序列化来保存一个对象的状态(实例变量)到文件中,也可以从这个格式化的文件中很容易地读取对象的状态从而可以恢复我们保存的对象。      用来实现序列化的类都在java.io包中,我们常用的类或接口有:ObjectOutputStream:提供序列化对象并把其写入流的方法ObjectInputStream:读取流并反序列化对象Serializable:一个对象想要

2016-04-06 11:38:58 421

转载 Spring AOP 实现原理

什么是AOPAOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定

2016-04-06 09:52:04 407

转载 Java中的线程Thread方法之suspend()和resume()

这一篇我们就来介绍一下suspend()和resume()方法,从字面意义上可以了解到这两个方法是一对的,suspend()方法就是将一个线程挂起(暂停),resume()方法就是将一个挂起线程复活继续执行。首先看一个例子:view sourceprint?01.package com.threadstop.demo;02. 03.

2016-04-03 23:29:02 1363

原创 JAVA多线程suspend()、resume()和wait()、notify()的区别

suspend() 和 resume() 方法:       两个方法配套使用,suspend()使得线程进入阻塞状态,并且不会自动恢复,必须其对应的 resume() 被调用,才能使得线程重新进入可执行状态。典型地,suspend() 和 resume() 被用在等待另一个线程产生的结果的情 形:测试发现结果还没有产生后,让线程阻塞,另一个线程产生了结果后,调用 resume() 使其恢

2016-04-03 23:27:15 494

空空如也

空空如也

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

TA关注的人

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