自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码重构之路

基础代码编写方式https://mp.weixin.qq.com/s/rjK5OZ_Kx7E5YUGgVp0BCw复杂业务代码构造思路https://mp.weixin.qq.com/s/pdjlf9I73sXDr30t-5KewAspringIOC核心源码https://blog.csdn.net/nuomizhende45/article/details/81158383...

2020-08-12 17:01:46 310

原创 nbuntu系统安装微信

1、下载 Wine (打开ubuntu商店搜索Wine,注意W是大写的,看到一个红酒杯标志的)2、安装微信第1步,安装deepin-wine环境: 在https://github.com/wszqkzqk/deepin-wine-ubuntu页面下载zip包,解压到本地文件夹。 在文件夹中打开终端,输入:sudo sh ./install.sh 或...

2019-11-21 09:46:05 498

原创 mysql中的锁

https://www.jianshu.com/p/c1d40171e191inndo行锁,表锁,页锁乐观锁,悲观锁读锁,写锁,

2019-10-31 23:46:29 320

原创 深度分页问题

什么是深度分页?select * from table limit 1000000,10这条语句要查询10000000条数据之后的10条数据,那么对于mysql来说肯定废了。解决方案:通过覆盖索引select * from table where id > (select id from table limit 1000000,20) limit 20;...

2019-10-31 20:40:48 2965

原创 redis key时间删除规则

lru和ttl主要分两步1:找到过期的key2:开始删除 (通过每秒轮训方式)当key过期后是查不到这个key数据的zset底层存储结构: ziplist

2019-10-31 18:52:20 1208

原创 spring单列线程安全吗?

答案:严格来讲spring没有对单列做并发安全处理解决安全问题:将singleton 改成 prototype为什么会产生安全问题?无状态bean:就是所谓的 这个bean中的参数没人用了, 一次request结束了,扔池子里,谁都可以用。有状态bean:就是 正在使用的bean。无状态bean其实没啥问题,那么有状态bean呢,这里有个场景,两个事务 t1和t2同时访问...

2019-10-30 23:01:17 273

原创 g1和cms区别

cms回收器执行步骤1、初始标记:GC roots 可以理解为对象指向的标记2、并发标记: GC roots Tracing 可以理解为 通过初始标记找到了要删除的对象 也就是堆中的指向对象3、重新标记: 可以理解为重新执行了一遍 初始标记 和 并行标记 产生标记记录4、删除标记:标记删除发进行并发删除优点:并行执行,低停顿缺点:1、不停顿耗线程,耗内存,整体效...

2019-10-28 23:39:30 7902

原创 java同步线程类

1、countDownLatch:等待线程池所有线程都执行完毕再去释放线程;boolean await(long timeout, TimeUnit unit) // 递减计数器的计数,如果计数到达零,则释放所有等待的线程。CountDownLatch(int count) // 使当前线程在计数器倒计数至零之前一直等待,除非线程被中断。 import lombok.ext...

2019-10-25 11:24:14 208

原创 jvm直接内存

直接内存使用场景?有很大的数据需要存储,它的生命周期很长 适合频繁的IO操作,例如网络并发场景直接内存何时回收?当old区满了 顺便回收直接内存非直接内存链:本地io -- 直接内存 -- 非直接内存 -- 直接内存 -- 本地io直接内存操作链:本地io -- 直接内存 -- 本地io...

2019-10-24 21:32:45 527

原创 redis三个线程有序打印

t1 、 t2 、 t3方法一:t2.t1().start()t3.t2().start()main 执行 t3.start方法二:t1.start()t1.join();t2.start()t2.join();t3.start()t3.join();

2019-10-24 21:09:56 153

原创 redis单线程为什么快

1、redis 存储结构简单 key,value2、redis直接和内存打交道3、redis应用 多路复用IO模式(可以理解为 异步阻塞原理)4、redis是单线程, 避免了 锁,线程切换耗cpu等问题https://blog.csdn.net/chenyao1994/article/details/79491337...

2019-10-24 20:30:02 143

原创 spring注入方式

@Resouce byName注入@Autowired 结合 @Qualifier 实现按名称注入

2019-10-23 22:55:12 142

原创 mybatis中${}和#{}的区别

#{}防止sql注入通常字段都用这个 建议用这个 不带引号${}不防止sql注入 order by ${} 时候用这个 带引号

2019-10-23 22:35:07 118

原创 trancation事务嵌套问题

问两个trancation事务声明的方法t1和t2,这时候t1调用t2,t2起作用吗?答:不起作用,对于t2来说事务失效如何让其不失效?答案:通过代理去调t2中的方法,原理和代理模式一样(Service)(AopContext.currentPorxy()).fangfa1();...

2019-10-23 22:16:04 511

原创 线上cpu爆了排查方案

https://blog.csdn.net/u011277123/article/details/101673372

2019-10-22 21:15:24 204

原创 msyql事务隔离心得

脏读:事物A操作修改操作没有提交事务,事务B读取数据拿到修改后的数据去执行操作了,这时候第事务A回滚,对于事务B就是脏读。不可重复读:事务A读取数据,事务B把数据改了,事务A读取了事务B更改后的数据。同一个是事务里读出了两个不一样的数据。幻读:事务A修改全表,事务B增加一条数据,对于事务A就是幻读。mysql默认可重复读mysql如何处理可重复读:默认有两个隐藏字段,数据插...

2019-10-21 21:41:30 120

原创 线上JVM调优问题

前言:线上服务器偶尔会重启,操作服务器时有卡顿,返回接口效率低(不定时出现)。机器配置, 双核 4g解决问题思路首先我看了下当前JVM的内存配置新生代区:-Xmn350M最大可用内存:-Xmx1800M初始化内存:-Xms 1000M每个线程堆栈大小:-Xss 300k持久带:一般是堆内存的3/8 64m第一次优化:-Xmn350M ->...

2019-10-20 23:09:52 560

原创 redis分布式事务脏数据问题

1、通过redisson处理redis分布式事务锁redis分布式事务存在的问题?当一个redis master宕机了,在进行主从复制的时候又来了一个事务,这时候新的master又好了,这种情况就出现了两把分布式事务锁。处理方案?通过mysq进行处理,通过幂等方式处理,其实分布式锁解决的就是幂等问题主要设计思路,消息表:主要存要操作的消息操作去重,(也...

2019-10-20 16:36:01 1596

原创 redis集群扩容槽

redis-cli 自动扩容1、将新节点加入集群2、通过 redis-cli -p 6380 确认集群状态,查询出新分配的槽平均数,要迁移多少个槽3、通过redis-cli 进行自动迁移槽,迁移到新机器节点上,将一个新节点配置好(必填),将多个老节点,和要迁移的槽数量写好,开始自动迁移槽4、使用redis-cli --cluster rebalance检测节点间槽的均衡性,查看...

2019-10-20 14:15:58 388

原创 redis hash数据结构用哪种序列化

什么时候用到序列化?当跨平台存储的时候用到序列化什么是序列化?就是将对象转换成其他形式存储,然后在通过反序列化转化成对象呈现效率较高的序列化?jackson redis serilazer...

2019-10-18 13:25:17 411

原创 log4j日志输出级别

一共8个级别 OFF FATAL ERROR WARN INFO DEBUG TRACE ALL主要用到ERROR WARN INFO DEBUG 四个级别ERROR :常见错误打印WARN: 错误提醒INFO:线上打印DEBUG:线下打印...

2019-10-18 12:31:00 167

原创 redis主从数据丢失解决方案

如果master还没有同步到slave业务读取脏数据问题问题阐述:master用来写,slave用来读,当master还没有同步到slave这时候我们读slave出现了脏数据解决方案:在redis缓存中增加标记.A发起写请求,更新了主库,但在缓存中设置一个标记,代表此数据已经更新,标记格式(业务代号:数据库:表:主键ID)根据自己业务场景。2.设置此标记,要加上过期时间,可以为预估的...

2019-10-18 00:00:12 1157

原创 mybatis存在的问题

嵌套结果集会合并语句如下 SELECT o.order_id AS orderId,o.payment ,o.buyer_nick,o.shipping_code ,o.status AS orderState,i.title ,i.price FROM tb_order AS o,tb_item AS i,tb_order_item AS oi WHER...

2019-10-16 23:45:03 190

原创 TCC分布式事务

什么是TCC分布式事务:就是解决多服务之间接口调用时的数据原子性。对于TCC分布式事务无非就是几个方法初步操作(Try):也可以看成 RM本地事务的一个封装确认操作(Confirm):在try基础上做的一个确认操作逻辑取消操作(Cancel):如果确认操作或者try操作在tcc框架中检测到问题 直接回滚所有服务的try说白了就是在 服务级 上游又增加了一个TCC框架(...

2019-10-16 23:28:15 295

原创 factory工厂的三种方式

简单工厂:简单的定义一个工厂接口然后实现一个工厂类,在调用的时候只能实现工厂中的这个方法缺点是:当有逻辑变更时候,每次都要修改工厂中的这个方法,不共用方法工厂:将工厂写到方法里,也就是说每个工厂做自己的逻辑,比如说有两个工厂都继承某个接口,接口中只能有一个工厂方法,然后不用的工厂类去实现这个方法,去执行自己的逻辑,在调用时通过不同的工厂类去调用不同的工厂方法。缺点是:太单一,当处理复杂...

2019-09-12 10:15:16 988

原创 redis

1、redis结构key,value结构value中包括5中类型, string、list、hashMap、set2、redis发布订阅模式3、设置超时时间redis中会配置key的超时时间,也就是持久化中的key(因为太久的数据会占磁盘空间)配置过期时间有两种方法:消极方法:每次手动去删除(passive way)积极方法:通过配置过期时间定期清理 ...

2019-09-07 13:47:07 183

原创 springBoot自动装配

SpringBootApplication标签是个符合标签,包括compontScan,Configuration,EntableAutoConfiguration自动装配(AutoConfiguration)@Configuration 和 @Bean 配个 然后在applicationContext.getBean(".Class")时候去加载所有bean然后升级成...

2019-09-05 14:37:22 142

原创 FactoryBean和beanFactortBean的区别

factoryBean是容器的实例,它是一种特殊的bean,对外呈现Object类型beanFactory是一种规范,也是IOC容器,用来初始化一个beanbeanFactory是一个接口 并不是IOC容器的实现,目前spring提供了两种实现,xmlBeanFactory和aplicationContextaplicationContext封装了beanFactory的所有功能...

2019-09-05 13:56:23 880

原创 synchronized锁

synchronized锁的存储结构synchronized锁的内部原理以及优化synchronized锁又叫排他锁,也就是说在同一时间只允许一个线程获取锁synchronized锁的使用方式有三种:1、普通方法锁2、静态方法锁3、代码块在synchronized底层又优化出3中锁的升级处理1、偏向锁:很多情况下有同一个线程访问意思是当线程多次获取锁的...

2019-09-01 11:13:38 262

原创 并发基础篇

线程的不同状态以及状态流程:责任链方式:也就是多线程并行处理上面逻辑,通过队列方式进行消息堆积,然后在去执行打印和保存需求,整个责任链是串行,但是链中的逻辑是异步处理的。...

2019-08-30 10:57:01 123

原创 spring事物处理

Conection:跟数据库建立一个封装,说到底是SorketTCPStateMent:语句集,SQL解析器,解析sql语法ResultSet:通过sql获得一个结果的封装,java中的体现形式,map cursorspring事物简单流程通过链接sorketServer --> 调用sql -- > 然后调用DB那么spring如何解决事物的呢?(也就...

2019-08-28 15:56:34 168

原创 springMVC全流程

springMVC主要流程首先是9大组件 初始化HanderMapping:就是我们的url和我们的Hander做一个1对1的映射,对应关系的保存。HanderAdapters:初始化参数适配器HandlerExceptionResolvers:处理handler中产生异常的组件,把所有异常配置成有好的可视化的返回,比如说404,500等VeiwResolvers...

2019-08-28 11:46:59 218

原创 IOC/DI/AOP回顾

IOCBeanFactoryClassPathXmlApplicationContextAbstractApplicationContext 通过调 refrech()方法 去实现ioc容器的初始化, 然后执行三个步骤1、定位 主要执行 getResouce()方法 主要就是通过扫描路径去扫描配置文件2、载入 主要是通过reader.loaderBeanDe...

2019-08-27 17:03:39 210

原创 BeanFactory和FactoryBean区别

FactoryBean Spring内部实现的一种规范& 开头作为beanNameSpring中所有的容器都是FactoryBean 因为容器本身也由容器管理,root来创建都是单列在IOC容器中BeanFactory bean工厂顶层规范,只是定义了getBean()方法。一句话总结区别:BeanFactory 是容器的规范,FactoryBean是容器的实...

2019-08-27 15:34:39 194

原创 springIOC容器

什么是IOC(控制反转):就是我们把我们要创建的对象或者bean交给springIOC容器来帮忙实现。什么是DI(依赖注入):就是spring在启动时候将我们想要的类以及类参数和属性的关系都依赖好并且注入bean,在我们调用这个对象的时候,参数和属性以及值都已经依赖好了。BeanFactory(bean容器)BeanDefinition(存储配置信息)BeanDefiniti...

2019-08-27 15:30:47 143

原创 AOP

2019-08-27 11:04:00 342 1

原创 springBoot启动

@RestController 是spring提供的吗? 为微服务返回json格式 等同于 @Controller 和 @RequestBody 组合springboot启动原理:springMvc注解方式启动,内置加载http内置服务器(内置tomcat)@EnableAutoConfiguretion 扫描范围 默认当前类springboot的优势?1、整合第三方框架...

2019-08-16 14:08:44 138

原创 spring设计模式心得

代理模式其实就是springAOP,也就是切面编程我个人理解:所谓代理模式就是通过代理的方法去增强非代理方法,从而实现更多功能。比如非代理的方法的功能是初始化一个bean,这时候我们自己写一个代理方法,也去实现非代理方法的接口,并且在方法前后记录日志,那么新增加的日志功能就是代理方法中新增的功能,这样一来我们就把主要功能(初始化bean)和非主要功能(增加日志)分离开来,解决解耦问题。...

2019-08-06 11:04:59 146

原创 springAOP心得

springAOP面向切面,其实就是在项目中通过切面去增强某些方法或对象进行解耦。目前项目中用到的切面是通过aspectj实现的,日常操作一般都是 定义切面路径,然后执行切面方法逻辑,然后可以执行前置方法(Before)和后置方法(After)在本项目中通过切面 首先定义了 接口格式(logId,appId,Object),然后是定义异常处理,然后是定义日志打印以及接口时间定义打...

2019-08-05 15:59:35 388

原创 jvm详解

1, jvm内存模型方法区:主要存 虚拟机加载的类信息(字段,方法,接口),常量信息,静态变量,以及编译后的代码等数据。常量池空间:属于方法区中的一块区间,string s1 = “1” 和 string s2 = "1" 这时候两侧变量的信息存入到常量池中,而 new string(“1”) 这羊的初始化是存入到 堆中。堆:主要存 初始化的对象。程序计数器原理:...

2019-07-31 17:06:51 189

quartz定时

quartz定时quartz定时

2016-10-26

登陆验证码

登陆验证码

2016-10-20

jcaptchaDemo

jcaptcha

2016-10-20

shiro+maven+sringMVC+mybatis

shiro+maven+sringMVC+mybatis 实例

2016-10-17

springMVC+Maven+Mybatis+shiro

springMVC+Maven+Mybatis+shiro

2016-10-11

增删查改

增删查改

2016-09-28

SPRING_MVC

springmvc

2016-09-08

springMVC+mybatis+maven

springMVC+mybatis+maven

2016-09-07

mina实例1mina实例1

mina

2016-06-27

spring常用包

spring常用包

2016-06-17

activeMQ-activeMQ

activeMQactiveMQactiveMQactiveMQactiveMQ

2016-06-14

最新json格式省市区县

最新json格式省市区县

2016-04-01

dao包封装包

dao封装包

2015-03-24

mysql链接包

mysql jar包

2015-03-24

json 测试所需包

json 测试所需包

2015-02-06

hbase-0.94.0.tar

hbase包 hbase-0.94.0.tar

2014-12-08

hbase所需要的包

hbase相关包

2014-11-24

时间控件

时间控件

2014-11-17

ansj_seg-20130808 .jar

ansj_seg-20130808 .jar

2014-10-24

dom4j包和对应实体类包

对应的实体类就是 Pa_Cx_Data , 里面有 xml生成格式 和属性

2014-10-24

lucene2.0 版本 jar包

lucene2.0 版本 jar包

2014-10-20

Jcseg文档下载

Jcseg文档介绍内容

2014-10-15

jcseg-1.9.4-src-jar-dict.zip

jcseg-1.9.4-src-jar-dict.zip

2014-10-15

gson-1.6.jar

gson-1.6.jar包,用于用gson 解析 json代码

2014-10-09

Echarts省市交互例子

Echarts 省市交互小例子,便于大家参考

2014-07-26

空空如也

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

TA关注的人

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