自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (11)
  • 收藏
  • 关注

原创 MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis 中的数据都是热点数据

1、MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis中的数据都是热点数据?redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略。2、Redis 有哪些适合的场景?(1)会话缓存(Session Cache)最常用的一种使用 Redis 的情景是会话缓存(session cache)。用 Redis 缓存会话比其他存储(如 Memcached)的优势在于:Redis 提供持久化。当维护一个不是严格要求一致性的缓存时,如果用户的购物...

2022-01-18 17:26:50 1408

原创 什么是缓存穿透?如何避免?什么是缓存雪崩?何如避免

缓存穿透一般的缓存系统,都是按照 key 去缓存查询,如果不存在对应的 value,就应该去后端系统查找(比如DB)。一些恶意的请求会故意查询不存在的 key,请求量很大,就会对后端系统造成很大的压力。这就叫做缓存穿透。如何避免?1:对查询结果为空的情况也进行缓存,缓存时间设置短一点,或者该 key 对应的数据 insert 了之后清理缓存。2:对一定不存在的 key 进行过滤。可以把所有的可能存在的 key 放到一个大的 Bitmap 中,查询时通过该 bitmap 过滤。缓存雪...

2022-01-18 10:00:15 136

原创 spring事务的理解

spring的事务开启方式有两种,一个是声明式事务,一个是编程式事务,声明式事务是通过添加Transaction注解的方式开启事务,一般加在类或者方法上,事务控制粒度比较大,但使用上比较方便,编程式事务通过TransactionTemplate,控制事务的粒度小,但是代码侵入性比较强。使用spring aop实现。spring事务提供了7中传播机制:1. REQUIRED(必须的):是默认的传播机制,如果B方法中调用A,如果B中有事务,则A无论是否开启事务都会用B的事务,任何地方出现异常A和B都回滚2

2022-01-06 18:25:25 122

原创 spring Bean是如何创建的

在spring中,万物都是bean对象,每一个对象都可以封装成BeanDefinition,然后去生成bean对象。第一步,spring要找到哪些bean需要实例化,第一种是xml的方式,如果需要实例化bean就在xml中配置bean标签,找到所有需要创建的bean,第二种注解方式,扫描所有添加了spring注解的bean,把所有的bean封装成一个BeanDefinition放入一个list。第二步,循环list,通过BeanDefinition中的类全名称,通过反...

2022-01-02 09:30:00 520

转载 Spring Aop的理解和使用

Aop面向切面编程,在spring中,通过配置切面类和切点,切面类中主要有前置通知方法,后置通知方法,异常通知方法以及环绕通知方法,切面类中的方法的逻辑就是你要织入代码的逻辑,然后你需要判断哪些类需要进行前面切面,所以就要配置切入点,可以使用xml方式,也可以使用注解的方法。实现方式主要是通过动态代理给目标类生成代理对象,如果目标类实现了接口就使用jdk代理,如果没有实现接口使用cglib代理,如果配置了优先级,则默认使用cglib代理。在spring容器启动后,就会去扫描哪些需要进行aop的类,这些类有

2022-01-01 19:33:00 290

原创 idea 常用快捷键

实用快捷键:Ctrl+/ 或 Ctrl+Shift+/ 注释(// 或者/*...*/ )Ctrl+D 复制行Ctrl+X 删除行快速修复 alt+enter (modify/cast)代码提示 alt+/ctr+G 定位某一行Shift+F6 重构-重命名Ctrl+R 替换文本Ctrl+F 查找文本Ctrl+E 最近打开的文件Ctrl+J 自动代码组织导入 ctr+alt+O格式化代码 ctr+alt+L大小写转化 ctr+shift+U--------------

2021-12-30 10:36:05 101

原创 spring ioc的理解和使用

以前没有spring的时候,我们需要得到一个对象,都是自己主动去new一个对象,然后通过set方法给对象注入属性,但是这种动作其实是一个重复的动作,所以spring提供ioc的容器解决方案,在容器启动的时候就把许多需要实例化和属性注入的bean都提前做好并放入到一个map中存储起来。这就是控制反转,原来的控制全在用户,现在的控制权完全交给了容器,在bean实例化后,通过反射对属性进行依赖注入。有两种使用方式,一种是xml的方式,一种是注解的方式:1、xml的加载方式,首先在spring的xml中通过

2021-12-28 18:05:47 148

原创 MyBatis插件原理。使用mybtais插件如何数据脱敏?

在mybtis中对外提供了4大对象供开发者拦截,分别是Excutor:查看mybatis的sql执行过程,ParameterHandler修改他的参数,ResultSetHandler拦截返回值,StatementHandler进行分页,开发者自己定义一个类,实现Interceptor接口,实现intercept方法,在类上通过@Intercepts注解和@Signature选择拦截哪个类中的哪个方法。比如:@Intercepts(@Signature(type = ResultSetH...

2021-12-27 18:41:47 362

原创 MyBatis只需要声明接口即可调用SQL是怎么做到的?JDK动态代理和CGLib代理区别?

mybatis是通过对dao接口进行代理,在启动mybatis的时候,会去加载在mybtais配置文件中配置的mapper文件,mapper文件中的每个sql语句都封装成一个statement,然后通过mapper文件中的namespace去得到到接口然后给他生成代理的工厂类放入到map中,注入mapper接口类时从该map中拿出对接口代理的对象,在代理对象中的invoke方法中除了object的方法,其他的所有方法都直接去找到相应的statment,然后去执行sql语句;Jdk动态代理的类必须要实现

2021-12-25 18:54:27 600

原创 java 一个对象是多少字节?在堆区都存了什么东西?对象头里面都有什么

对象在内存中的存储的布局可以分为三块区域:对象头(Header),实例数据(Instance Data)和对齐填充(Padding);对象头由 Markword + 类指针kclass(该指针指向该类型在方法区的元类型) 组成;普通对象头在32位系统上占用8bytes,64位系统上占用16bytes。64位机器上,数组对象的对象头占用24个字节,启用压缩之后占用16个字节。MarkWord用于存储对象自身的运行时数据,如哈希码(HashCode)、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、

2021-12-21 18:07:11 663

转载 接口怎么做的幂等

是指用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。第一种:插入之前先查询,在保存数据的接口中,我们防止产生重复的数据,一般会在 insert 前先根据 name 或 code 字段 select 一下数据,如果该数据已存在,则执行 update 操作,如果不存在,才执行 insert 操作缺点:该方案可能是我们平时在防止产生重复数据时,使用最多的方案。但是该方案不适用于并发场景。因为你查询的时候没有,准备插入,但是此时别的线程正好往里面插入就会有问题第二种:数据库

2021-12-16 18:11:04 435

原创 kafka 分布式(不是单机)的情况下,如何保证消息的顺 序消费

kafka 分布式(不是单机)的情况下,如何保证消息的顺 序消费kafka 分布式(不是单机)的情况下,如何保证消息的顺 序消费

2021-12-15 18:15:41 1190

原创 Java synchronized锁升级流程

JDK 1.6之前,synchronized 还是一个重量级锁,是一个效率比较低下的锁,但是在JDK 1.6后,Jvm为了提高锁的获取与释放效率对(synchronized )进行了优化,引入了 偏向锁 和 轻量级锁 ,从此以后锁的状态就有了四种(无锁、偏向锁、轻量级锁、重量级锁),并且四种状态会随着竞争的情况逐渐升级,而且是不可逆的过程,即不可降级。jdk1.6之前的synchronized实现方式是 “阻塞或唤醒一个Java线程需要操作系统切换CPU状态来完成,这种状态切换需要耗费处理器时间,如果同.

2021-12-14 18:08:50 414

原创 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

问题报错org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.test.mapper.cuxgljeimpmid.CuxGlJeImpMidMapper.importEbsCoaSegments at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:235) ...

2021-12-14 17:01:22 461

原创 SpringBoot启动过程

SpringBoot启动时通过执行main方法中的SpringApplication.run方法去启动的,在run方法中调用了SpringApplication的构造方法,在该构造方法中加载了META-INFA\spring.factories文件配置的ApplicationContextInitializer的实现类和ApplicationListenerr的实现类,ApplicationContextInitializer 这个类当springboot上下文Context初始化完成后会调用。Appli.

2021-12-10 09:00:16 301

原创 java war 打包、解压命令

经常将工程打包成war包,打包如下:进入前目录打包成war包jar -cvf center_new.war ./*命令格式:java cvf 打包文件名称 要打包的目录 打包文件保存路径解压自然就是:jar xvf temp.war

2021-12-09 13:28:19 533

原创 PowerDesigner 大小写转换

打开一个PDM,在菜单栏找到:Tools – Excute Commands – Edit/Run Script,或者直接按Ctrl+Shift+X调出脚本执行窗口,输入下边的代码就可以了。下面提供段代码可以把PowerDesigner中的小写字母变为大写字母。代码如下:Option ExplicitValidationMode = TrueInteractiveMode = im_BatchDim mdl ' 当前模型' 获取当前模型Set mdl ...

2021-12-09 08:31:37 1328

原创 JDBC 连接不了数据库,数据库软件能连上

JDBC 连接不了数据库,数据库软件能连上,是由于IPV6导致的。解决方式,设置java vm参数:-Djava.net.preferIPv4Stack=trueIDEA 设置方式如图:

2021-12-08 15:08:24 661

原创 Jedis 和 Redisson 对比有什么优缺点

Jedis 和 Redisson

2021-11-23 09:08:09 1392

原创 javaWeb定时器

//这是我的定时器类,用来定时执行某段任务;package com.my.time;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Timer;public class BugXmlTimer  {   public   Ti

2009-12-17 17:13:00 1432

HMC安装配置实施工艺手册

HMC安装配置实施工艺手册

2014-02-24

aix备份与恢复

aix备份与恢复asdfasdfasdfadfasdf

2014-02-24

websphere安装配置

Websphere 6.0集群环境的安装、配置和应用部署

2014-02-24

25个常用的后台模板

25个常用的后台模板,大家一起分享! 25个常用的后台模板,大家一起分享!

2011-05-14

jquery实现的二级联动下拉列表

省市两级联动菜单,选择省后,用jquery异步调用servlet,返回市的xml

2009-11-17

实用jsp网站后台设计模板

网站后台设计模板网站后台设计模板网站后台设计模板

2009-11-08

blog系统(个人博客,博客圈子,博客社区),根据苹果树下风格设计

blog系统包括:(个人博客,博客圈子,博客社区),根据苹果树下风格设计

2009-08-31

6种漂亮的js动态菜单

6种漂亮的js动态菜单 -------------------- ----------------------

2009-04-18

五个经典网站后台管理系统模板

五个经典网站后台管理 系统模板,适合于各种后台的管理界面

2009-04-18

spring+hibernate购物车

spring+hibernate实现网上购物

2009-04-01

c++编写的指纹识别源码

一个用C++编写的指纹源码,是从其他的地方下来的

2008-09-07

空空如也

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

TA关注的人

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