自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (1)
  • 收藏
  • 关注

原创 springboot自动装配原理

springboot自动装配原理

2022-06-10 10:53:48 17517 3

原创 HashMap? ConcurrentHashMap? 相信看完这篇没人能难住你.

前言Map 这样的Key Value在软件开发中是非常经典的结构,常用于在内存中存放数据。本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式开始之前我觉得有必要谈谈 HashMap,没有它就不会有后面的 ConcurrentHashMap。HashMap众所周知 HashMap 底层是基于数组 + 链表组成的,不过在 jdk1.7 和 1.8 中具体实现稍有不同。Base 1.71.7 中的数据结构图:先来看看 1.7 中的实现...

2022-02-09 11:00:06 177

原创 为什么说Redis是单线程的以及Redis为什么这么快

一、前言近乎所有与Java相关的面试都会问到缓存的问题,基础一点的会问到什么是“二八定律”、什么是“热数据和冷数据”,复杂一点的会问到缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题,这些看似不常见的概念,都与我们的缓存服务器相关,一般常用的缓存服务器有Redis、Memcached等,而笔者目前最常用的也只有Redis这一种。如果你在以前面试的时候还没有遇到过面试官问你《为什么说Redis是单线程的以及Redis为什么这么快!》,那么你看到这篇文章的时候,你应该觉得是一件很幸运的事情!如果你

2022-02-09 10:23:48 208

转载 【无标题】mysql---默认隔离级别所引发的问题

1.事务的隔离级别:1 、原子性。事务是数据库的逻辑工作单位,事务中包含的各操作要么都做,要么都不做2 、一致性。事 务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。因此当数据库只包含成功事务提交的结果时,就说数据库处于一致性状态。如果数据库系统 运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是 不一致的状态。3 、隔离性。一个事务的执行不能其它事务干扰。即一个事务内部的操作及使用的数据

2021-12-29 09:29:48 411

原创 Spring 事务失效的 8 大场景

用 Spring 的 @Transactional 注解控制事务有哪些不生效的场景?不知道小伙伴们有没有这样的经历,在自己开心的编写业务代码时候,突然某一个方法里的事务好像失效了。然后 debug 跟踪代码时发现,自己第一步的 insert 或者 update 的数据在语句执行完毕后,数据库中并没有立即出现更改或保存完的新数据。所以一度怀疑spring 的事务失效了。那么这篇文章就来总结一下,大家给大家造成 “spring事务失效”错觉的 几个常见场景,然后对症下药。Let's GO!!!以

2021-12-29 09:00:49 109

原创 Elasticsearch index read-only 问题解决办法(ES磁盘满或满扩容之后处理)

背景:同事同步商品的es时,总是报index read-only。如下图。然后各种排查,先看了一下es的数据节点磁盘已经满了。大部分都是日志数据。先删除日志数据。然后还是报这种错。原因:当存储空间使用超过95%时,elasticsearch会将索引设置为只读模式,所以新产生的日志不能入库,也不能清除。因为商品和日志都是用的同一个es,导致同步商品也有问题。解决:curl -XPUT -H “Content-Type: application/json” http://${ip}:9200/.

2021-09-27 15:30:50 2955

原创 数据库优化和效率问题

在使用SQL语句查询数据库记录时,如果要查询相同的内容,有着不同的多种方法。  仍然,尽管使用多种方法可以得到相同的结果,但是,如果您使用不同的方法,在执行效益上是截然不同的。因此,我们得仔细考虑,如果要查询相同结果,该使用哪种语句,执行效益比较好。  这就是SQL语句的优化。  以下优化语句,针对MS Sql数据库。  1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及...

2018-12-22 14:23:21 433

转载 supervisor 使用

本文是转载,以便以后查找方便简介supervisor是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具。可以很方便的监听、启动、停止、重启一个或多个进程。用supervisor管理的进程,当一个进程意外被杀死,supervisor监听到进程死后,会自动将它重启,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。安装...

2018-10-19 17:51:35 296

转载 springboot 配置redis 连接池使用之后不释放的问题,

在处理高并发时,我们常常用到缓存,首先,说说redis的配置,与注意事项.在pom.xml中需要引入spring-boot-starter-data-redis和spring-boot-starter-cache 如此引入之后,缓存配置就默认为redis,配置redis 需要在application.properties中配置如下参数#redisspring.redis.datab...

2018-08-01 16:26:19 19881 2

原创 Spring中使用RedisTemplate操作Redis(spring-data-redis)

Redis 数据结构简介Redis可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为String(字符串)、List(列表)、Set(集合)、Hash(散列)和 Zset(有序集合)。下面来对这5种数据结构类型作简单的介绍:结构类型 结构存储的值 结构的读写能力 String 可以是字符串、整数或者浮点数 对整个字符串或者字符串的其中一部分...

2018-07-17 21:02:45 403

原创 反射回掉的区别随机,以免忘记

问题:反射,回调的区别在哪里。反射有哪几种反射的实现方式,执行过程(原理是怎么样的)。回调又是如何回调的,写个demo来玩玩~答:反射常见的有三种方式:jdk动态代理,cglib,aspectj。执行过程分为几种:1. 通过简单的字节码注入到Jvm中;2. 在编译class期间,动态的生成子类;3. 在运行期间,动态的生成子类。分别对应上面几种执行方式。所以,提前编译class的那个过程,执行效率...

2018-04-01 19:45:56 123

转载 Java 8 新特性

新特性Java8 新增了非常多的特性,我们主要讨论以下几个:Lambda 表达式 − Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中。方法引用 − 方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。默认方法 − 默认方法就是一个在接口里面有了一个实现的方法。新工具 − ...

2018-03-28 11:03:36 662

转载 HashMap的工作原理

HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,甚至会要求你实现HashMap来考察你的编程能力。ConcurrentHashMap和其它同步集合的引入...

2018-03-28 10:18:29 148

转载 Spring事务传播特性实例解析

背景介绍        目前系统正在进行代码重构前期预研工作,目标采用spring控制事务以减少开发代码量,提高开发效率。同时避免开发人员编码控制事务所带来的链接没有释放,事务没有提交,出现异常事务没有回滚的Bug。     为保证系统能正确使用Spring控制事务,必须很好的理解其传播特性。在沟通中发现,好多人知道这个概念但是对于事务的实际传播行为往往模棱两可。     基于上述原因,本文采用D...

2018-03-05 09:16:46 170

原创 CentOS_6.5_64_yum安装mysql

第一步,查看centos上是否已经安装了mysql数据库# rpm -qa | grep -i mysql 如果之前已经安装了mysql,则停止mysql服务#service mysqld stop   第二步,卸载已经安装的mysql(先卸载mysql-server-5.1.73-7.el6.x86_64和mysql

2018-01-25 20:53:51 207

原创 数据库优化和效率问题

在使用SQL语句查询数据库记录时,如果要查询相同的内容,有着不同的多种方法。  仍然,尽管使用多种方法可以得到相同的结果,但是,如果您使用不同的方法,在执行效益上是截然不同的。因此,我们得仔细考虑,如果要查询相同结果,该使用哪种语句,执行效益比较好。  这就是SQL语句的优化。  以下优化语句,针对MS Sql数据库。  1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 ord

2018-01-19 14:35:24 259

原创 Eclipose中安装svn的方法

eclipse里安装SVN插件,一般来说,有三种方式: 1. 直接下载SVN插件,将其解压到eclipse的对应目录里 2. 使用eclipse 里Help菜单的“Install New Software”,通过输入SVN地址,直接下载安装到eclipse里 3. 使用eclipse自己的软件市场去下载安装第一种方式:1.下载SVN插件SVN插件下载地址及更新地址,你根据需要选

2018-01-02 20:20:28 277

转载 maven resources的理解

maven的Pom.xml中build下的resources,一直不太理解,现在总结一下。resources:描述工程中资源的位置      META-INF/plexus     false     ${basedir}/src/main/plexus              configuration.xml                   *

2017-11-10 14:54:46 721

转载 VMware Ubuntu安装详细过程

不是每一个程序员都必须玩过linux,只是博主觉得现在的很多服务器都是linux系统的,而自己属于那种前端也搞,后台也搞,对框架搭建也感兴趣,但是很多生产上的框架和工具都是安装在服务器上的,而且有不少大公司都要求熟悉在linux上开发,因此从个人职业发展有必要去多了解一下linux。(博主网上查了一下,现在大部分服务器安装的系统主要有:ubuntu server、centos、suse l

2017-11-08 22:07:00 106

原创 Integer的比较的问题

作项目时遇到Integer之间比较的时候,普通的Integer==Integer是不行的,无论如何都是false,解决方法,用Integer.intValue()就可以了,比如Integer.intValue()==Integer.intValue()返回的就是true,.今天就遇到这个问题,再次标记一下。

2017-10-13 15:32:34 148

原创 truncate与delete的区别?(deletefrom table和truncate table tablea的区别!)

truncate是DDL語言.delete是DML語言 DDL語言是自動提交的.命令完成就不可回滾.truncate的速度也比delete要快得多.相同点:truncate和不带where子句的delete, 以及drop都会删除表内的数据不同点: 1. truncate和 delete只删除数据不删除表的结构(定义)      drop语句将删除表的结构被依赖的约

2017-05-04 14:05:34 547

原创 java反编译插件

java反编译插件http://www.blogjava.net/cnfree/archive/2012/10/30/390457.html

2017-04-12 10:43:47 361

原创 工作总结

equals与==的区别:  1、==是判断两个变量或实例是不是指向同一个内存空间  2、equals是判断两个变量或实例所指向的内存空间的值是不是相同拦截器,过滤器,监听器1,拦截器是基于JAVA反射机制的,而过滤器是基于函数回调的2,拦截器不依赖与Servlet容器,而过滤器依赖于Servlet容器,3,拦截器只能对action请求起作用,而过滤器几乎对所有的请

2017-04-06 10:39:57 182

原创 数据库的问题

oracle 数据库问题 initcap是修改字符串为首字母为大写的函数 例:select initcap('www.BAUDu.COm') from dual;select ename from emp where ename like '%\_%' escape '\'是转义符的意思。 avg函数,意思是计算一组数据的平均数值。

2017-04-06 10:37:50 185

原创 中文乱码的问题

在配置服务器的时候,过滤器(Filter)只过滤POST传过来的数据,不会过滤GET传过来的数据,所以在中文有乱码的时候,要看看是否是GET请求,还是POST请求,如果是GET请求的话,那就在TomCat容器中更改配置,让他默认变成UTF-8编码。

2017-04-06 10:36:25 269

破解的sublimeText,用时下载

破解的sublimeText,自己用的,以免下次忘记,所以存在csdn

2018-11-08

空空如也

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

TA关注的人

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