自定义博客皮肤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)
  • 资源 (12)
  • 收藏
  • 关注

原创 嵌套事务被提交的情况

class ServiceA{ method_a(){ //PROPAGATION_REQUIRED 逻辑 A1{ 更新表a1; } 逻辑 A2{ ServiceB.method_b(); } 逻辑 A3{ 更新表a2; ...

2019-04-28 22:31:17 1515

转载 Spring事务的传播机制

事务的嵌套概念所谓事务的嵌套就是两个事务方法之间相互调用。spring事务开启 ,或者是基于接口的或者是基于类的代理被创建(注意一定要是代理,不能手动new 一个对象,并且此类(有无接口都行)一定要被代理——spring中的bean只要纳入了IOC管理都是被代理的)。所以在同一个类中一个方法调用另一个方法有事务的方法,事务是不会起作用的。###Spring默认情况下会对运行期例外(RunT...

2019-04-28 09:56:31 235

转载 分布式唯一ID生成方案

目录前言 改造数据库主键自增 竞争问题 突发阻塞问题 双buffer方案 总结前言上一篇文章中介绍了分布式唯一ID你想了解一线大厂的分布式唯一ID生成方案吗?,留了一个悬念,这里老顾就介绍一下两种大厂的方案思路。希望能够帮到大家。改造数据库主键自增老顾在前一篇文章中介绍了利用数据库的自增主键的特性,可以实现分布式ID;这个ID比较简短明了,适合做userId,正好符合...

2019-04-25 10:52:33 306

转载 tomcat读取外部配置文件

步骤一: maven install 命令打包项目war包步骤二:新建文件夹如图,config是后面要存放配置文件的步骤三:修改tomcat conf/server.xml不自动解压war包 不自动部署war步骤四:修改tomcat conf/catalina.properties 将配置文件路径加入common.loader步骤五:启动...

2019-04-25 10:17:15 1892

转载 Java面试题内容聚合

往期内容聚合设计模式内容聚合面试技术文Java岗 面试考点精讲(基础篇01期)Java岗 面试考点精讲(基础篇02期)Java岗 面试考点精讲(网络篇03期)Java 面试中遇到的坑Java面试中遇到的坑【填坑篇】Java面试中遇到的坑【篇二】java面试遇到的坑[第三期]java面试填坑解惑篇[三]java面试遇到的坑[第四期]面试官:你分析...

2019-04-25 10:10:08 216

转载 史上最全69道Spring面试题和答案

目录Spring 概述 依赖注入 Spring beans Spring注解 Spring数据访问 Spring面向切面编程(AOP) Spring MVCSpring概述1.什么是spring?Spring是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring框架目标是简化Ja...

2019-04-25 10:03:43 1021 1

转载 彻底理解cookie,session,token

发展史1、很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应, 尤其是我不用记住是谁刚刚发了HTTP请求, 每个请求对我来说都是全新的。这段时间很嗨皮2、但是随着交互式Web应用的兴起,像在线购物网站,需要登录的网站等等,马上就面临一个问题,那就是要管理会话,必须记...

2019-04-25 09:56:20 157

转载 Java性能优化的50个细节

在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。1. 尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第一,控制资源的使用,通过线程同步来控制资源的并发访问;第二,控制实例的产生,以达到节约资源的目的;...

2019-04-07 23:56:59 85

转载 Spring Cloud底层原理

目录一、业务场景介绍二、Spring Cloud核心组件:Eureka三、Spring Cloud核心组件:Feign四、Spring Cloud核心组件:Ribbon五、Spring Cloud核心组件:Hystrix六、Spring Cloud核心组件:Zuul七、总结概述毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这...

2019-04-07 23:35:51 160

转载 Redis分布式锁进化史

近两年来微服务变得越来越热门,越来越多的应用部署在分布式环境中,在分布式环境中,数据一致性是一直以来需要关注并且去解决的问题,分布式锁也就成为了一种广泛使用的技术,常用的分布式实现方式为Redis,Zookeeper,其中基于Redis的分布式锁的使用更加广泛。但是在工作和网络上看到过各个版本的Redis分布式锁实现,每种实现都有一些不严谨的地方,甚至有可能是错误的实现,包括在代码中,如果不能...

2019-04-07 10:58:38 105

转载 一次非常有意思的sql优化经历

场景我用的数据库是mysql5.6,下面简单的介绍下场景课程表create table Course(c_id int PRIMARY KEY,name varchar(10))数据100条学生表:create table Student(id int PRIMARY KEY,name varchar(10))数据70000条...

2019-04-07 10:49:56 89

转载 线程池是怎样工作的

我们在工作中或多或少都使用过线程池,但是为什么要使用线程池呢?从他的名字中我们就应该知道,线程池使用了一种池化技术,和很多其他池化技术一样,都是为了更高效的利用资源,例如链接池,内存池等等。数据库链接是一种很昂贵的资源,创建和销毁都需要付出高昂的代价,为了避免频繁的创建数据库链接,所以产生了链接池技术。优先在池子中创建一批数据库链接,有需要访问数据库时,直接到池子中去获取一个可用的链接,使用完...

2019-04-04 22:32:09 179

转载 HashMap实现原理及源码分析

哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。本文会对java集合框架中的对应实现HashMap的实现原理进行讲解,然后会对JDK7的HashMap源码进行分析。目录  一、什么是哈希表  二、Ha...

2019-04-01 22:15:41 180

转载 java动态代理实现与原理详细分析

关于Java中的动态代理,我们首先需要了解的是一种常用的设计模式--代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理。一、代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象...

2019-04-01 21:38:32 174

转载 11个简单的Java性能调优技巧

原文:11SimpleJavaPerformanceTuningTips译文:http://www.codeceo.com/article/11-simple-java-performance-tips.html大多数开发人员理所当然地以为性能优化很复杂,需要大量的经验和知识。好吧,不能说这是完全错误的。优化应用程序以获得最佳性能不是一件容易的事情。但是,这并不意味着如果你...

2019-03-31 20:57:54 319

转载 为什么Map桶中个数超过8才转为红黑树

这是笔者一个好友面试阿里时,被问及的一个问题,应该不少人看到这个问题都会一面懵逼。因为,大部分的文章都是分析链表是怎么转换成红黑树的,但是并没有说明为什么当链表长度为8的时候才做转换动作。笔者第一反应也是一样,只能初略的猜测是因为时间和空间的权衡。 要弄明白这个问题,我们首先要明白为什么要转换,这个问题比较简单,因为Map中桶的元素初始化是链表保存的,其查找性能是...

2019-03-31 20:46:35 1929

转载 Javascript 异步加载详解

一、同步加载与异步加载的形式1. 同步加载我们平时最常使用的就是这种同步加载形式:<script src="http://yourdomain.com/script.js"></script> 同步模式,又称阻塞模式,会阻止浏览器的后续处理,停止了后续的解析,因此停止了后续的文件加载(如图像)、渲染、代码执行。js之所以要同步执行,是因为 j...

2019-03-20 22:33:24 209

转载 hibernate缓存机制详细分析

在本篇随笔里将会分析一下hibernate的缓存机制,包括一级缓存(session级别)、二级缓存(sessionFactory级别)以及查询缓存,当然还要讨论下我们的N+1的问题。随笔虽长,但我相信看完的朋友绝对能对hibernate的 N+1问题以及缓存有更深的了解。一、N+1问题首先我们来探讨一下N+1的问题,我们先通过一个例子来看一下,什么是N+1问题:list()获得对象...

2019-03-11 20:39:08 80

转载 Spring MVC运行流程

spring mvc 先将请求发送给 DispatcherServlet。 DispatcherServlet 查询一个或多个 HandlerMapping,找到处理请求的 Controller。 DispatcherServlet 再把请求提交到对应的 Controller。 Controller 进行业务逻辑处理后,会返回一个ModelAndView。 Dispathcher 查询一个...

2019-03-11 12:52:34 188

转载 Spring事务处理

事务(Transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。数据库向用户提供保存当前程序状态的方法,叫事务提交(commit);当事务执行过程中,使数据库忽略当前的状态并回到前面保存的状态的方法叫事务回滚(rollback)事务特性(ACID)原子性(atomicity):将事务中所做的操作捆绑成一个原子单元,...

2019-03-11 08:36:22 102

转载 HTTP状态码

HTTP状态码分类HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型: 分类 分类描述 1** 信息,服务器收到请求,需要请求者继续执行操作 2** 成功,操作被成功接收并处理 3**...

2019-02-15 10:29:15 97

转载 缓存架构设计,从此不再发愁

原创: 58沈剑 架构师之路 缓存是互联网系统架构中必不可少的一环,之前花大精力系统性的写了10篇,缓存架构设计相关的文章,欢迎回顾。1.《进程内缓存究竟怎么玩?》缓存,可以分为:进程内缓存,缓存服务。文章介绍了:(1)什么是进程内缓存(2)进程内缓存的优缺点(3)进程内缓存保存一致性的3种方案(4)到底什么时候用进程内缓存文章也说明,大部分业务场景,不应该用进程内缓存,而应该用缓...

2019-02-15 10:25:17 92

转载 云盘同步架设SVN

         在家里写代码的时候,想要对单位的项目进行版本控制,但是单位的服务器外网连不上,又不想花钱租SVN服务器。除了GitHub之外的,想不想试一下另一种方案呢? Follow me~安装网盘选择一款能进行文件云端同步的软件,360云盘、百度云盘都可以,安装后选择文件同步目录,如图建立SVN Reporsitory前往网盘文件同步目录,创建svn reporsitor...

2019-02-01 10:02:35 1178

转载 oracle分页

在Oracle中实现分页的方法大致分为两种,用ROWNUM关键字和用ROWID关键字,下面来详细介绍一下: 1、ROWNUM其代码为: SELECT *FROM (SELECT ROW_.*, ROWNUM ROWNUM_FROM (SELECT *FROM TABLE1WHERE TABLE1_ID = XXORDER BY GMT_CREATE DESC...

2019-02-01 09:55:42 117

原创 在家配置maven的settings.xml

&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work ...

2019-02-01 09:52:21 173

转载 Redis的使用场景

  类型 简介 特性 场景 String(字符串) 二进制安全 可以包含任何数据,比如jpg图片或者序列化的对象,一个键最大能存储512M --- Hash(字典) 键值对集合,即编程语言中的Ma...

2019-02-01 09:48:50 98

转载 这20个正则表达式,让你少写1,000行代码

正则表达式——古老而又强大的文本处理工具。仅用一段简短的表达式语句,就能快速地实现一个复杂的业务逻辑。掌握正则表达式,让你的开发效率有一个质的飞跃。 正则表达式经常被用于字段或任意字符串的校验,比如下面这段校验基本日期格式的JavaScript代码: var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2})$/; var r = f...

2019-02-01 09:36:21 159

转载 SQL语句性能优化操作策略大全

本文会提到52条SQL语句性能优化策略。 1、对查询进行优化,应尽量避免全表扫描,首先应考虑在where及order by涉及的列上建立索引。 2、应尽量避免在where子句中对字段进行null值判断,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0,-1作为默认值。 3、应尽量避免在where子句中使用!=或&lt;&gt;操作符...

2019-02-01 09:25:08 121

转载 tomcat读取外部配置文件

步骤一: maven install 命令打包项目war包步骤二:新建文件夹如图,config是后面要存放配置文件的步骤三:修改tomcat conf/server.xml不自动解压war包 不自动部署war步骤四:修改tomcat conf/catalina.properties 将配置文件路径加入common.loader步骤五:启动tomcat...

2019-01-31 17:18:06 3631

转载 jboss加载外部的文件

内容概述JBoss7/WildFly设底层框架一大亮点的Module class loading,及每一个相对独立的模块看作一个Module,每个Module都有自己的class loader,Module之间可以相互依赖,如下图:当JBoss7安装完成后,JBOSS_HOME/modules目录下存在许多目录,每个目录都有一个module.xml文件,代表一个Module,我们也叫他...

2019-01-31 17:12:54 1702

转载 hibernate与mybatis的区别

第一方面:开发速度的对比就开发速度而言,Hibernate的真正掌握要比Mybatis来得难些。Mybatis框架相对简单很容易上手,但也相对简陋些。个人觉得要用好Mybatis还是首先要先理解好Hibernate。比起两者的开发速度,不仅仅要考虑到两者的特性及性能,更要根据项目需求去考虑究竟哪一个更适合项目开发,比如:一个项目中用到的复杂查询基本没有,就是简单的增删改查,这样选择hibe...

2019-01-31 17:04:42 107

转载 幂等性解决方案

一、背景       我们实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果。 例如1. 前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果;2. 我们发起一笔付款请求,应该只扣用户账户一次钱,当遇到网络重发或系统bug重发,也应该只扣一次钱;3. 发送消息,也应该只发一次,同样的短信发给用户,用户会哭的;4. 创建业务订单,一次业务请求只能创建一个,创建...

2019-01-31 16:39:21 2180

转载 第一次有人把“分布式事务”讲的这么简单明了

    不知道你是否遇到过这样的情况,去小卖铺买东西,付了钱,但是店主因为处理了一些其他事,居然忘记你付了钱,又叫你重新付。又或者在网上购物明明已经扣款,但是却告诉我没有发生交易。这一系列情况都是因为没有事务导致的。这说明了事务在生活中的一些重要性。有了事务,你去小卖铺买东西,那就是一手交钱一手交货。有了事务,你去网上购物,扣款即产生订单交易。 事务的具体定义事务提供一种机制将一个...

2019-01-31 16:09:06 263

转载 MyBatis动态传入表名

 添加属性statementType="STATEMENT"  【statementType可以不需要,直接加"${}"就已是非预编译的了】 同时sql里的属有变量取值都改成${xxxx},而不是#{xxx} &lt;select id="getAllotCount" parameterType="map" resultType="int"&gt; sele

2018-05-21 15:02:55 580

原创 异常日志没有堆栈信息

 NullPointerException异常,没有堆栈信息2018-02-08 18:39:34,467 ERROR [com.core.application.claim.web.action.GcRegistAction] - traceId=,appId=core_clm,content=邮件发送异常,报案号为:07090106062018000331null java.lan...

2018-02-11 10:57:54 1605

转载 eclipse插件OpenExplorer快速打开文件目录

1.在MyEclipse开发中常用到其中一个"Open In Explorer"的小插件,可以直接进入Windows资源管理器中打开选中文件所在的目录,在使用eclipse开发时也很需要这个功能,否则只能查看resource属性等方式,找到文件的目录非常不便。 2.OpenExplorer插件可以满足这个功能,可以到https://github.com/samsonw/OpenEx...

2016-08-08 11:15:55 224

转载 开始使用Log4j

1、分别在src文件夹下面生成一个log4j.properties文件,在工程根目录下,新建一个log文件夹,再在该文件夹下面新建log.log文件和errorlog.log文件。2、打开log4j.properties文件  log4j.rootLogger=debug, stdout, loglog4j.Logger=search,Test ###Con...

2016-08-03 23:26:19 292

原创 创建maven工程时失败情况

Eclipse+ maven工程在maven成功解压,并配置好环境变量的情况下。1.出现的问题Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webapp:RELEASE from any of the configured repositories.Could not re

2016-08-03 23:18:13 6238 1

转载 Spring与Quartz的整合实现定时任务调度

1、添加包spring.jar、quartz-1.5.2.jar2、配置bean&lt;bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" autowire="no"&gt;      &lt;property name="triggers"&gt;          &lt;list...

2015-06-26 12:30:43 227

转载 使用JavaMail发送邮件

package com.tmall;import java.util.Properties;import javax.activation.DataHandler;import javax.activation.FileDataSource;import javax.mail.Address;import javax.mail.BodyPart;import jav

2015-05-27 15:28:18 520

jQuery1.2API

很绚的jQuery参考手册,页面展示非常清晰,查找方便快捷

2014-12-02

跟阿铭学Linux(第二版)

对于Java程序员来说,操作系统相对比较陌生,相信阿铭的这边linux入门级教程能帮助大家,一步步进入linux的殿堂。本人刚将其作为第一本linux教程学习完,简单、基础、实用是这本书的特点,掌握大概基础就行了,一扫对linux的陌生感。

2014-12-02

跟阿铭学Linux(第二版).chm

Linux入门不错的教程,对于JAVA开发来说,掌握基本用法就行

2014-12-02

精通Oracle10g PLSQL编程

PLSQL 入门基础 带有详细目录书签

2014-01-05

java中堆(heap)和堆栈(stack)有什么区别

java中堆(heap)和堆栈(stack)有什么区别

2012-12-02

疯狂java讲义 (李刚)

只是书上的代码,不是pdf的电子版 请大家注意选择下载

2012-04-07

疯狂Android讲义(十一到十九章) 李刚

由于文件太多,只能分批上传,希望大家谅解

2012-04-07

疯狂Android讲义(第十章) 李刚

由于文件太多,只能分批上传,希望大家谅解

2012-04-07

疯狂Android讲义(一到九章) 李刚

由于文件太多,只能分批上传,希望大家谅解

2012-04-07

Android与PC通信

发现网上的很多例子都不能正常运行,本人经过2天的努力,终于让Android与PC Web能通信了。服务端用Cxf建立WebService,android客户端用ksoap2-android与服务端的webservice取得通信。本项目所有的jar包都已经打包,大家不用下载,仅仅要改的是IP,然后就可以直接运行了

2012-02-03

Android最佳学习路线图

Android最佳学习路线图,希望能给Android入门者提供指导

2011-07-12

空空如也

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

TA关注的人

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