自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (7)
  • 收藏
  • 关注

转载 java多线程并发系列之闭锁(Latch)和栅栏(CyclicBarrier)

-闭锁(Latch)闭锁(Latch):一种同步方法,可以延迟线程的进度直到线程到达某个终点状态。通俗的讲就是,一个闭锁相当于一扇大门,在大门打开之前所有线程都被阻断,一旦大门打开所有线程都将通过,但是一旦大门打开,所有线程都通过了,那么这个闭锁的状态就失效了,门的状态也就不能变了,只能是打开状态。也就是说闭锁的状态是一次性的,它确保在闭锁打开之前所有特定的活动都需要在闭锁打开之后才能完成。应...

2018-10-25 16:49:07 194

转载 JavaWeb之搭建自己的MVC框架

. 介绍        MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用...

2018-10-25 13:22:24 3221

转载 Java 反射详解

目录1、什么是反射?   2、反射能做什么?    3、反射的具体实现 4、根据反射获取父类属性 4、反射总结   反射反射,程序员的快乐!回到顶部1、什么是反射?    Java反射就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;并且能改变它的属性。而这也是Java被视为动态(或准动态,为啥要说是准...

2018-10-25 11:47:25 134

转载 Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结

java.lang.OutOfMemoryError这个错误我相信大部分开发人员都有遇到过,产生该错误的原因大都出于以下原因:JVM内存过小、程序不严密,产生了过多的垃圾。导致OutOfMemoryError异常的常见原因有以下几种:内存中加载的数据量过于庞大,如一次从数据库取出过多数据; 集合类中有对对象的引用,使用完后未清空,使得JVM不能回收; 代码中存在死循环或循环产生过多重复...

2018-10-24 22:31:06 252

转载 对JVM中可能出现内存溢出(OOM)情况的整理

这篇文章主要是对java程序运行在JVM上可能产生内存溢出(OOM)的情况进行整理...在这里引言书中作者一句话“希望读者在工作中遇到实际的内存溢出异常时,能根据异常的信息快速判断是哪个区域的内存溢出,知道什么样的代码可能会导致这些区域内存溢出,以及出现这些异常后该如何 处理”所以,了解这部分知识是非常必要的,那么下面开始整理...1. java 堆溢出java堆用于存储对象实...

2018-10-24 22:19:29 200

转载 Spring的事件机制详解

同步事件和异步事件  同步事件:在一个线程里,按顺序执行业务,做完一件事再去做下一件事.      异步事件:在一个线程里,做一个事的同事,可以另起一个新的线程执行另一件事,这样两件事可以同时执行.  用一个例子来解释同步事件和异步事件的使用场景,有时候一段完整的代码逻辑,可能分为几部分,拿最常见的注册来说,假设完整流程是,1.点击注册->2.检验信息并存库->3.发送邮件...

2018-10-24 20:46:16 160

转载 聊聊分布式事务,再说说解决方案

数据库事务在说分布式事务之前,我们先从数据库事务说起。 数据库事务可能大家都很熟悉,在开发过程中也会经常使用到。但是即使如此,可能对于一些细节问题,很多人仍然不清楚。比如很多人都知道数据库事务的几个特性:原子性(Atomicity )、一致性( Consistency )、隔离性或独立性( Isolation)和持久性(Durabilily),简称就是ACID。但是再往下比如问到隔离性指的是什...

2018-10-24 14:25:48 149

转载 java打印空心菱形

之前已经成功写过一次代码,今天重新看这个题目时,一下子又没了思路,在草稿纸上比划了大概十分钟才想到实现的思路。思路跟上次实现的完全一样,发现时间长了就忘记了!真是好记性不如烂笔头,何况我这么差的记性呢!现把解决该问题时,自己的思路写下来分享一下。(注意重点看我怎么思考的,不要一下子就看代码)                                                    ...

2018-10-22 23:03:29 4297

转载 java去打印输出一个菱形

比如要在控制台打印输出一个:  *   *** ***** ***   *   我们应该怎么去做呢?首先,这个涉及到行和列,所以,这个肯定是用两个for的嵌套来打印输出。然后,我们要找出这个的规律,因为“磨刀不误砍柴工”,所以找出规律所在,我们才知道应该怎么去下手。比如:我们应该把这个分成上下两个部分,上面部分是:    *****        第一行:三个部分;2个空格  ...

2018-10-22 22:28:38 661

转载 冒泡排序算法 Java 实现过程及详解

冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。  冒泡排序算法的运作如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。  对每一对相邻元素作同样...

2018-10-22 22:00:36 133

转载 静态代理、JDK与CGLIB动态代理、AOP+IoC

目录一、为什么需要代理模式 二、静态代理 三、动态代理,使用JDK内置的Proxy实现 四、动态代理,使用cglib实现 五、使用Spring实现AOP 六、使用IOC配置的方式实现AOP 七、使用XML配置Spring AOP切面 八、示例下载 九、视频 十、作业AOP(Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态...

2018-10-22 17:23:20 146

转载 细说JDK动态代理的实现原理

关于JDK的动态代理,最为人熟知的可能要数Spring AOP的实现,默认情况下,Spring AOP的实现对于接口来说就是使用的JDK的动态代理来实现的,而对于类的代理使用CGLIB来实现。那么,什么是JDK的动态代理呢?JDK的动态代理,就是在程序运行的过程中,根据被代理的接口来动态生成代理类的class文件,并加载运行的过程。JDK从1.3开始支持动态代理。那么JDK是如何生成动态代理的...

2018-10-22 17:08:41 126

转载 10分钟理解代理——JDK动态代理

引子:在上一篇文章中介绍了什么是静态代理。本章继续为大家讲解代理的另外一个领域:JDK动态代理。动态代理的的优势在于代理对象可以触发被动理对象的任何方法。动态代理的JDK实现方式很容易使用。Invoce的意思是调用,Invocation是Invoce 的名词形式,handler的意思是处理器。InvocationHandler的意思是调用处理器,该接口内部只有一个  public Obje...

2018-10-22 16:16:39 119

转载 HashTable原理和底层实现

1. 概述上次讨论了HashMap的结构,原理和实现,本文来对Map家族的另外一个常用集合HashTable进行介绍。HashTable和HashMap两种集合非常相似,经常被各种面试官问到两者的区别。对于两者的区别,主要有以下几点:HashMap是非同步的,没有对读写等操作进行锁保护,所以是线程不安全的,在多线程场景下会出现数据不一致的问题。而HashTable是同步的,所有的读...

2018-10-22 15:56:18 1087 1

转载 物化视图的定义,创建,刷新,删除等

一. 物化视图概述Oracle的物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照。 物化视图可以用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,而从快速的得到结果。物化视图有很多方面和索引很相似:使用物化视图的目的是为了提高查询性能;...

2018-10-22 12:46:19 356

转载 Java并发编程:volatile关键字解析

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来...

2018-10-21 22:52:09 75

转载 SpringMVC+redis整合

   在网络上有一个很多人转载的springmvc+redis整合的案例,不过一直不完整,也是被各种人装来转去,现在基本将该框架搭建起来。 1 2 3 4 5 6 7 package com.pudp.bae.base;   import java.io.Serializable;...

2018-10-21 17:53:24 267

转载 spring boot事务描述

什么是事务?我们在开发企业应用时,对于业务人员的一个操作实际是对数据读写的多步操作的结合。由于数据操作在顺序执行的过程中,任何一步操作都有可能发生异常,异常会导致后续操作无法完成,此时由于业务逻辑并未正确的完成,之前成功操作数据的并不可靠,需要在这种情况下进行回退。事务的作用就是为了保证用户的每一个操作都是可靠的,事务中的每一步操作都必须成功执行,只要有发生异常就回退到事务开始未进行操作的...

2018-10-17 22:16:25 119

原创 redis持久化及主从

【聊聊redis持久化 – 两种方式】redis提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(Append Only File)。RDB,简而言之,就是在不同的时间点,将redis存储的数据生成快照并存储到磁盘等介质上;AOF,则是换了一个角度来实现持久化,那就是将redis执行过的所有写指令记录下来,在下次redis重新启动时,只要把这些写指令从前到后...

2018-10-15 22:02:52 118

转载 java设计模式之建造

建造者模式  建造者模式,顾名思义的就是类似建房子,有一个固定的流程。在大话设计模式中,作者举了一个例子大概意思是同一道菜在中国的每一个地方都有不同的味道(LZ印象最深的是鱼香肉丝,来北方最之后印象最深的是宫保鸡丁。哈哈),而肯德基的鸡腿、汉堡在每一个城市都是一样的味道。我觉的这一个例子可以清楚的认识到建造者模式有一个固定的建造过程。建造者模式实现了依赖倒转原则,抽象不应该依赖细节,细节应该依...

2018-10-15 12:13:57 190

转载 java设计模式之建造

好了,接下来让我们进入正题,建造者模式呢,很多其他介绍这个文章的内容中都提到了4个角色。什么builder,director的一时让同为初次了解到建造者模式的这个概念感受到困惑不已。后来看明白才发现,这些角色和我们开始理解建造者模式不是充分必要关系。我们完全可以等了解了建造者模式后才总结出这几个角色。所以我决定一开始先不扯这些概念性的东西,而是一步一步引导读者来揭开建造者模式的面纱。  那从例...

2018-10-15 12:11:54 106

转载 java设计模式之迭代器

本文介绍行为型模式的一种模式——迭代器模式。该模式主要用于对某一对象集合进行遍历,将对象的数据存储和遍历进行分离。在Java语言中有着较高的应用频率。1、定义:提供一种方法顺序地访问一个聚合对象中的各个元素而不需要暴露该对象的内部表示。2、模式结构:(1)Iterator(抽象迭代器):定义访问和遍历元素的接口,声明获取元素的方法。(2)ConcreteIterator(具体迭代器...

2018-10-15 12:03:32 137

转载 java设计模式之模板

模板方法模式的结构  模板方法模式是所有模式中最为常见的几个模式之一,是基于继承的代码复用的基本技术。  模板方法模式需要开发抽象类和具体子类的设计师之间的协作。一个设计师负责给出一个算法的轮廓和骨架,另一些设计师则负责给出这个算法的各个逻辑步骤。代表这些具体逻辑步骤的方法称做基本方法(primitive method);而将这些基本方法汇总起来的方法叫做模板方法(template met...

2018-10-15 11:53:17 133

转载 java设计模式之装饰

在阎宏博士的《JAVA与模式》一书中开头是这样描述装饰(Decorator)模式的:  装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。   装饰模式的类图如下:    涉及到的角色:  抽象构件(Component)角色:给出一个抽象接口,以规范接收附加责任的对象。  具体构件(ConcreteCompon...

2018-10-15 11:39:49 120

转载 jvm常见面试题

1:什么是JVMJVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码)...

2018-10-14 20:23:07 221

转载 负载均衡相关算法介绍

一、概要    随着系统日益庞大、逻辑业务越来越复杂,系统架构由原来的单一系统到垂直系统,发展到现在的分布式系统。分布式系统中,可以做到公共业务模块的高可用,高容错性,高扩展性,然而,当系统越来越复杂时,需要考虑的东西自然也越来越多,要求也越来越高,比如服务路由、负载均衡等。此文将针对负载均衡算法进行讲解,不涉及具体的实现。二、负载均衡算法    在分布式系统中,多台服务器同时提供一个...

2018-10-14 17:45:41 149

转载 spring 常见面试题

1.什么是Spring?Spring是一个开源的Java EE开发框架。Spring框架的核心功能可以应用在任何Java应用程序中,但对Java EE平台上的Web应用程序有更好的扩展性。Spring框架的目标是使得Java EE应用程序的开发更加简捷,通过使用POJO(简单java对象,也就是javabean)为基础的编程模型促进良好的编程风格。2.Spring有哪些优点?轻量级...

2018-10-13 21:57:37 205

转载 mybatis常见面试题

1、#{}和${}的区别是什么? 答:${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静态替换为com.mysql.jdbc.Driver。#{}是sql的参数占位符,Mybatis会将sql中的#{}替换为?号,在sql执行前会使用PreparedStatement的参数设置方法,按序给sql的?号占位符设置参...

2018-10-13 12:10:16 119

转载 Mybatis批量插入返回插入成功后的主键id

我们都知道Mybatis在插入单条数据的时候有两种方式返回自增主键:1、对于支持生成自增主键的数据库:增加 useGenerateKeys和keyProperty ,<insert>标签属性。2、不支持生成自增主键的数据库:使用<selectKey>。但是怎么对批量插入数据返回自增主键的解决方式网上看到的还是比较少,至少百度的结果比较少。Mybatis官网资...

2018-10-13 11:36:56 2661

转载 java设计模式之代理

在阎宏博士的《JAVA与模式》一书中开头是这样描述代理(Proxy)模式的:代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。   代理模式的结构  代理对象在客户端和目标对象之间起到中介的作用。   代理模式类图如下:     代理模式中的角色:  抽象对象角色:声明了目标对象和代理对象的共同接口,在使用目标对象的...

2018-10-12 23:40:06 104

转载 java设计模式之适配器

适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。   作用  类似于三相插头到两相插头转换器(适配器)所起的作用。   结构  适配器模式有类的适配器模式和对象的适配器模式这两种不同的形式。  类适配器模式  把适配类的API转换成目标类的API,见下图:    Adaptee类没有sam...

2018-10-12 23:19:38 107

转载 java设计模式之策略

策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。  策略模式把一个系列的算法封装到一个系列的具体策略类里面,作为一个抽象策略类的子类或策略接口的实现类。简单地说:准备一组算法,并将每一个算法封装起来,使它们可以互换。    示意性UML图:    这个模...

2018-10-12 23:13:45 110

转载 UML中常见关系详解(泛化、实现、依赖、关联、组合、聚合)

UML中类与类,已经类与接口,接口与接口的关系有:泛化(generalization),关联(association),依赖(dependency),实现(realization)这几种。 泛化(generalization)关系时指一个类(子类、子接口)继承另外一个类(称为父类、父接口)的功能,并可以增加它自己新功能的能力,继承是类与类或者接口与接口最常见的关系,在Java中通过关键字e...

2018-10-12 22:51:10 191

转载 java设计模式之观察者

1、初步认识观察者模式的定义:  在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。大白话:  其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。2、这个模式的结构图3、可以看到,该模式包含四个角色抽象被观察者角色:也就是一个抽象主题,它把所有对观察者对象的引用保存在一个集合中,...

2018-10-12 22:40:52 105

转载 java设计模式之单例

概念:  java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。  单例模式有以下特点:  1、单例类只能有一个实例。  2、单例类必须自己创建自己的唯一实例。  3、单例类必须给所有其他对象提供这一实例。  单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对...

2018-10-12 22:03:46 108

原创 java设计模式之工厂模式

工厂模式简介:工厂模式的作用是屏蔽创建对象过程中的具体过程,以便提高创建对象过程的灵活性,使使用者不必关心构造对象的细节和复杂的过程。工厂模式一般情况下分为三类:1.简单工厂模式(Simple Factory)2.工厂方法模式(Factory Method)3.抽象工厂模式(Abstract Factory)在工厂模式中一般存在以下三个类型的角色,分别是产品类,工厂类和客户类。...

2018-10-12 22:01:00 168

oracle11g下载.rar

oracle11g下载.rar

2021-04-09

32位java jdk1.8|jdk.rar

纯净安全绿色,官网下载的32位java jdk1.8,纯净安全绿色,官网下载的32位java jdk1.8,纯净安全绿色,官网下载的32位java jdk1.8

2020-10-30

精通Oracle10g PL/SQL编程

精通Oracle10g PL/SQL编程

2012-05-07

junit4.jar

junit4.jar

2012-03-24

首个字的拼音自动匹配

首个字的拼音自动匹配,首个字的拼音自动匹配

2011-12-29

tomcate优化,集群

tomcate优化,集群

2011-12-29

深入浅出extjs第二版源码

深入浅出extjs第二版源代码,非常不错!

2011-12-29

空空如也

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

TA关注的人

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