自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Sprinboot 事务不生效问题排查

背景:记一次Springboot事务不起作用问题排查springboot项目中的Application启动类中添加@EnableTransactionManagement注解开启事务。接下来在需要添加事务的方法上添加@Transaction注解开启事务。@Transaction注解生效有几个需要注意的地方:1.spring事务的支持是对数据库事务的支持。所以想要使用spring开启事务,首先数据库的引擎必须是支持事务的。比如mysql的myisam引擎就不支持事务2.@Transact.

2021-04-17 09:59:58 759

原创 Redis线上做Keys命令引发的生产事故

导火索:线上频发报警,网关频繁转发超时,系统很多服务响应时间过长,服务cpu过载,数据库死锁等不正常现象问题排查:目标范围缩小在近两日上线功能,并锁定在新上线的操作redis缓存功能上。问题复现:将功能在开发环境测试,由于访问量不足并未发现异常。将某需求下线后,线上环境得以好转。分析代码:发现如下 /** * Del. * * @param...

2019-06-14 10:32:08 2661

转载 掌握 MySQL 这 19 个骚操作,效率至少提高3倍

本文我们来谈谈项目中常用的MySQL优化方法,共19条,利用好这19条方法,会让你的效率提升至少3倍。1、EXPLAIN做MySQL优化,我们要善用EXPLAIN查看SQL执行计划。下面来个简单的示例,标注(1、2、3、4、5)我们要重点关注的数据:type列,连接类型。一个好的SQL语句至少要达到range级别。杜绝出现all级别。key列,使用到的索引名。如果没有选择索...

2019-03-15 14:43:35 462

原创 mybatis的Example[Criteria]的使用

 在使用常规的mybatis时,我们经常碰到的问题就是条件式查询。在一个查询界面,查询条件较多,并且运算符并不总是=时,在后台就需要拼装sql语句。这种处理方式肯定不是使用mybatis的初衷,对于使用了hibernate的我来说,如果mybatis也有一套criteria查询就好了。在具体实现中,我们只需要按照hibernate的处理方式定义好相应的criteria,最后传递给mybatis...

2019-01-15 11:39:36 57655 2

转载 idea中@Data标签getset不起作用 使用 lombok

spring cloud中使用@Data标签,不用手动添加get set方法,但是如果项目中其他类中使用getset方法,如果报错,原因是idea中没有添加Lombok插件,添加上插件便可以解决。截图如下   lombok是一款可以精减java代码、提升开发人员生产效率的辅助工具,利用注解在编译期自动生成setter/getter/toString()/constructor之...

2019-01-09 10:06:20 1334

转载 远程过程调用(RPC)详解

本文介绍了什么是远程过程调用(RPC),RPC 有哪些常用的方法,RPC 经历了哪些发展阶段,以及比较了各种 RPC 技术的优劣。什么是 RPCRPC 是远程过程调用(Remote Procedure Call)的缩写形式,Birrell 和 Nelson 在 1984 发表于 ACM Transactions on Computer Systems 的论文《Implementing re...

2018-12-06 18:02:59 13640

转载 MySQL的事务隔离级别

一、事务的基本要素(ACID)  1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。   2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A...

2018-12-06 18:01:52 127

转载 FreeMarker标签与使用

模板技术在现代的软件开发中有着重要的地位,而目前最流行的两种模板技术恐怕要算freemarker和velocity了,而freemarker更强大。1。在view层的时候,它提供了format日期和数字的功能,我想大家都有在页面上format日期或数字的经验,用jsp的同学可能对jstl的fmt标签很有感情,使用了freemarker之后也可以使用freemarker提供的功能来formmat...

2018-08-23 10:32:12 4184

转载 谈谈对Spring IOC的理解

学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC 、DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解。一、分享Iteye的开涛对Ioc的精彩讲解  首先要分享的是Iteye的开涛这位技术牛人对Spring框...

2018-07-12 14:58:56 104

转载 浅谈Java中的hashcode方法

 浅谈Java中的hashcode方法  哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率。在Java的Object类中有一个方法:1public native int hashCode();  根据这个方法的声明可知,该方法返回一个int类型的数值,并且是本地方法,因此在Object类中并没有给出具体的实现。  为何Object类需要这样一个方法?它有什么...

2018-07-09 16:25:18 119

转载 (转)java判断string变量是否是数字的六种方法小结

1.用正则表达式首先要import java.util.regex.Pattern 和 java.util.regex.Matcher  /** * 利用正则表达式判断字符串是否是数字 * @param str * @return */ public boolean isNumeric(String str){ Pattern ...

2018-07-07 12:37:43 7846

转载 使用freemarker中的小数点处理的一点心得!

 在开发中很容易忽视一点,输入一个值(可能是小数),输出时如果不做处理,就很容易出现隐形的BUG。比如,如果从数据库取出一个0.22的数值,一般的输出${x?if_exists?html},这时是显示0,而不是0.22。应该写成${x?if_exists?string.number} 或者 ${x?if_exists.toString()?html}下面就是关于数字的具体介绍:Built-ins ...

2018-07-07 12:34:52 2674

转载 bigdecimal去除末尾多余的0 ,stripTrailingZeros()科学计数法解决

BigDecimal是处理高精度的浮点数运算的常用的一个类当需要将BigDecimal中保存的浮点数值打印出来,特别是在页面上显示的时候,就有可能遇到预想之外的科学技术法表示的问题。一般直接使用 BigDecimal.toString()方法即可以完成浮点数的打印。如:    System.out.println( new BigDecimal("10000000000").toString())...

2018-07-07 12:34:19 3246 1

原创 RemotingException: message can not send, because channel is closed

问题描述调用Dubbo服务报以下错误,跪求问题原因和解决办法 Caused by: com.alibaba.dubbo.remoting.RemotingException: message can not send, because channel is closed . url:dubbo://192.168.17.71:21954/com.tw.ei.bus...

2018-05-02 15:43:27 34039 7

转载 springmvc Aspect 实现自定义注解的日志记录

1,设置直接拦截所有的controller所以需要spring-mvc.xml中添加 交由cglib代理。<aop:aspectj-autoproxy proxy-target-class="true" />  2,使用时候只要在controller的...

2018-03-22 17:42:26 897

转载 日志拦截AOP,当执行抛异常时@AfterThrowing执行了没效果

使用Spring的AOP进行日志记录,对应的代码为[java] view plain copy package cn.tiansu.eway.logAop;    import java.lang.reflect.Method;  import java.util...

2018-03-15 09:37:44 3074

转载 Spring之AOP面向切片

   一、理论基础:   AOP(Aspectoriented programming)面向切片/服务的编程,在Spring中使用最多的是对事物的处理。而AOP这种思想在程序中很多地方可以使用的,比如说,对某些规则的验证,可以抽象封装到一个模块中,并在该模块中定义...

2018-02-27 17:23:37 241

翻译 HashMap的工作原理

“你用过HashMap吗?” “什么是HashMap?你为什么用到它?”几乎每个人都会回答“是的”,然后回答HashMap的一些特性,譬如HashMap可以接受null键值和值,而Hashtable则不能;HashMap是非synchronized;HashMap很快;以及HashMap储存的是键值对等等。这显示出你已经用过HashMap,而且对它相当的熟悉。但是面试官来个急转直下,从此刻开始

2018-02-07 11:24:45 143

转载 分布式事务

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

2018-02-02 18:32:31 128

转载 Java8学习笔记

Java8学习笔记Java8是2014年发布的,至今也已经有快三年的时间了,之前虽然有学习过,但是学的比较零散,不成系统,而且也没有覆盖到Java8所有的特性。 由于公司已经使用了JDK1.8,所以工作中能使用Java8的机会还是很多的,因此决定来系统地学习一下Java8的新特性,这是对我最近学习Java8的一些记录, 以备在有些细节记不太清的时候可以查询。先来一个概览

2018-02-01 14:24:54 236 2

转载 Java 8:不要再用循环了

正如我之前所写的,Java 8中的新功能特性改变了游戏规则。对Java开发者来说这是一个全新的世界,并且是时候去适应它了。在这篇文章里,我们将会去了解传统循环的一些替代方案。在Java 8的新功能特性中,最棒的特性就是允许我们去表达我们想要完成什么而不是要怎样做。这正是循环的不足之处。要确保循环的灵活性是需要付出代价的。return、break 或者 continue都会显著地改变循环的实际表

2018-02-01 14:20:15 534

转载 mysql处理高并发,防止库存超卖

今天王总又给我们上了一课,其实mysql处理高并发,防止库存超卖的问题,在去年的时候,王总已经提过;但是很可惜,即使当时大家都听懂了,但是在现实开发中,还是没这方面的意识。今天就我的一些理解,整理一下这个问题,并希望以后这样的课程能多点。先来就库存超卖的问题作描述:一般电子商务网站都会遇到如团购、秒杀、特价之类的活动,而这样的活动有一个共同的特点就是访问量激增、上千甚至上万人抢购一个商品。

2017-10-26 19:48:04 717

原创 tomcat参数引发后台建立影子任务

所谓后台影子任务是在程序设置的自动&定时任务运行过程当中同一个任务启动了两次,对,两次,不多不少,就在那里。第一次任务开始后第二次任务(不该存在的)时隔差不多30s-50s便开始执行。Spring注解关键字Scheduled定时任务代码:@Scheduled(fixedDelay = 1000 * 60 * 10)任务是每隔10分钟执行一次。问题已经解决了,当时看数

2016-10-20 17:12:51 335

翻译 GIT入门操作及原理

学习GIT主要是两块内容:Git基础和Git分支一.Git的基本认识:1.git使用基本流程:文件流转的三个工作区域:1.Git的本地数据目录2.工作目录 3.暂存区域2.git的简单工作流程:     1.在工作目录中修改文件     2.对修改的文件作快照,并保存到暂

2016-10-20 16:50:02 204

转载 【MySQL】MySQL性能优化之Block Nested-Loop Join(BNL)

一 介绍  相信许多开发/DBA在使用MySQL的过程中,对于MySQL处理多表关联的方式或者说性能一直不太满意。对于开发提交的含有join的查询,一般比较抗拒,从而建议将join拆分,避免join可能带来的性能问题,同时也增加了程序和DB的网络交互。5.5 版本之前,MySQL本身只支持一种表间关联方式,就是嵌套循环(Nested Loop)。如果关联表的数据量很大,则join关联的执行

2016-10-12 11:23:16 11325

原创 MYSQL EXPLAIN 优化

本文我们主要介绍了MySQL性能分析以及explain的使用,包括:组合索引、慢查询分析、MYISAM和INNODB的锁定、MYSQL的事务配置项等,希望能够对您有所帮助。1.使用explain语句去查看分析结果如explain select * from test1 where id=1;会出现:id  selecttype  table  type possible_key

2016-10-12 11:15:23 260

原创 Non-terminating decimal expansion问题重新温习BigDecimal roundMode

BigDecimal除法运算出现java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result的解决办法  今天在使用两个BigDecimal类型的数字做除法运算时,出现了一个如下的异常信息:1 java.lang.Arithmetic

2016-10-11 10:18:32 758

转载 java反射详解

Java反射机制主要提供下面几种用途:在运行时判断任意一个对象所属的类在运行时构造任意一个类的对象在运行时判断任意一个类所具有的成员变量和方法在运行时调用任意一个对象的方法  使用java的反射机制,一般需要遵循三步:获得你想操作类的Class对象通过第一步获得的Class对象去取得操作类的方法或是属性名操作第二步取得的方法或是属性     Java

2015-07-30 23:08:14 256

转载 Spring MVC 教程

目录 一、前言二、spring mvc 核心类与接口三、spring mvc 核心流程图四、spring mvc DispatcherServlet说明五、spring mvc 父子上下文的说明六、springMVC-mvc.xml 配置文件片段讲解 七、spring mvc 如何访问到静态的文件,如jpg,js,css八、sprin

2015-06-07 11:42:59 344

转载 设计模式:常见类的关系小结

在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。1. 依赖(Dependence)         依赖关系的定义为:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。定义比较晦涩难懂,但在java中

2015-06-04 23:30:58 272

转载 java:IO流学习小结

今天刚刚看完java的io流操作,把主要的脉络看了一遍,不能保证以后使用时都能得心应手,但是最起码用到时知道有这么一个功能可以实现,下面对学习进行一下简单的总结:        IO流主要用于硬板、内存、键盘等处理设备上得数据操作,根据处理数据的数据类型的不同可以分为:字节流(抽象基类为InPutStream和OutPutStream)和字符流(抽象基类为Reader和Writer)。根据

2015-06-04 23:01:03 273

空空如也

空空如也

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

TA关注的人

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