自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MyBatis自动生成注释配置

Mybatis自动生成代码异常解决

2022-06-20 17:16:27 1017 1

原创 基础概念总结

1.用户态与内核态用户态和内核态:运行在用户态下的程序不能直接访问操作系统内核数据结构和程序,需要通过系统调用完成自己所需要的功能,这个时候就需要切换到内核态,有三种方式可以从用户态切换到内核态:系统调用 执行用户态程序时发生事先不可知的异常 外围设备的中断其中前两种可以认为是主动的,后两种是被动的。2.epoll和select的区别epoll和select都是实现IO多路复用的一种方式,不同之处在于,select只知道有IO事件发生了,但不知道是哪一个流,需要一个一个去轮询,epol

2022-02-14 14:49:39 512

原创 @Autowire/@Value注解实现

在Spring中,autowire注解的功能主要是通过AutowiredAnnotationBeanPostProcessor类来实现的,AutowiredAnnotationBeanPostProcessor类本身会通过xml标签"context:annotation-config" and "context:component-scan"进行注册,可以去掉或者管理默认的注解配置,如果你希望去声明一个个性化的AutowiredAnnotationBeanPostProcessor bean...

2021-09-01 14:19:53 279

原创 Spring事务管理

最近跟同学聊天,说是遇到了一道面试题:Spring中注解的实现原理是什么?咋一看这个问题似乎有点大,除了反射之外,似乎也很难聊到别的东西。进一步把问题细化到Transactional的实现原理,这个问题就更具体了一些,于是就想整体的梳理一下该注解的实现,下边是一个从idea中导出的一个事务管理的核心的类图。从上边两个图中可以看到,最上层是一个接口PlatformTransactionManager,这个接口是Spring事务体系中最核心的接口,该接口主要有三个最基本的...

2021-08-30 17:19:28 118

原创 Hazelcast简介

IN-MEMORY COMPUTINGStore your data in RAM, spread and replicate it across a cluster of machines, and perform data-local computation on it. Replication gives you resilience to failures of cluster nodes.Hazelcast is an open-source distributed In-memory ob

2021-07-22 17:40:22 201

原创 技术文章收集

redis文章收集:[Redis] 你了解 Redis 的三种集群模式吗? https://segmentfault.com/a/1190000022808576

2021-02-25 15:52:29 74

原创 阿里arthas分享

arthas是阿里开源的Java诊断工具,可以对运行时的java进程进行分析,动态代理运行时的Java进程。artahs支持JDK6+,同时提供丰富的tab自动补全功能,进一步方便进行问题的定位和诊断。这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! 是否有一

2020-12-04 08:43:34 345

原创 es分片内部原理

新增文档被索引倒排索引被写入磁盘后是不可改变的:它永远不会修改。不变性有重要的价值:不需要锁。如果你从来不更新索引,你就不需要担心多进程同时修改数据的问题。 一旦索引被读入内核的文件系统缓存,便会留在哪里,由于其不变性。只要文件系统缓存中还有足够的空间,那么大部分读请求会直接请求内存,而不会命中磁盘。这提供了很大的性能提升。 其它缓存(像filter缓存),在索引的生命周期内始终有效。它们不需要在每次数据改变时被重建,因为数据不会变化。 写入单个大的倒排索引允许数据被压缩,减少磁盘 I/...

2020-12-04 08:41:36 2119

原创 Spring bean生命周期相关文章

1、请别再问Spring Bean的生命周期了!https://www.jianshu.com/p/1dec08d290c12、如何记忆Spring Bean的生命周期https://chaycao.github.io/2020/02/15/%E5%A6%82%E4%BD%95%E8%AE%B0%E5%BF%86Spring-Bean%E7%9A%84%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F/Spring 面试题之ApplicationContext和BeanFa..

2020-11-12 19:54:23 72

原创 静态变量通过@Value获取配置文件的值

和普通的变量不一样,static修饰的静态变量直接用@Value注解是获取不到对应的配置文件中的值的,需要通过set函数来设置,且set函数无需用static修饰,先记录一下,原理暂时未知,猜想有可能是和static变量加载的顺序有关系。@Value("${rocketmq.env.default.tag}")public void setDefaultEnvTag(String defau...

2020-04-02 13:51:52 3871

原创 nginx配置

1、检查配置文件是否正确/usr/local/nginx-1.6/sbin/nginx -t //校验配置2、启动关闭启动:./sbin/nginx关闭:./sbin/nginx -s stop重启:./sbin/nginx -s reload3、nginx配置文件nginx配置文件主要分成四个部分:main(全局设置)、server(主机设置)、upstream(上游...

2020-03-17 11:23:43 126

翻译 monitor(同步)

在阅读Java并发相关源码的时候,有很多地方都提到了monitor对象,比如在Object对象的notify()方法的注释中,就提到该方法是用于唤醒在等待当前对象monitor对象的线程,如果有多个等待线程,会选一个线程唤醒。但是一直没搞明白monitor对象是基于什么机制实现的。查资料的时候看到了维基百科的解释,是比较完整的,特此翻译记录。 本文翻译自维基百科,原文...

2020-03-15 20:36:36 605 1

原创 Spring Boot启动代码分析

Spring Boot是工作中最常用的一个框架,可以通过一个简单的main函数作为入口,一直想研究下这个main函数背后都做了什么,趁着今天有时间,跟一下代码。...

2020-02-20 08:44:00 150

原创 SpringApplication类之run方法

StopWatch stopWatch = new StopWatch();stopWatch.start();ConfigurableApplicationContext context = null; Collection<SpringBootExceptionReporter> exceptionReporters = new ArrayList<>(); ...

2020-02-19 21:55:21 303

原创 feign原理探索

feign是一种http客户端,可以让你通过简单地注解的方式,调用其他的http服务。feign提供的注解是@FeignClient,一直很好奇feign是怎么生效的,今天跟着代码一块看一下。 要想使用feign的话,首先要在项目中打上@EnableFeignClients注解,从代码中可以看到,@EnableFeignClients通过@Import注解引入了Fei...

2020-02-17 15:20:16 177

原创 Java instrument

       在Java se5中,提供了instrument功能,可以由此实现一个Java_agent,通过此agent来修改类的字节码,即改变一个类。       在Java SE6的新特性里边,可以通过Attach api来向目标JVM附着(Attach)代理工具程序,基于它,可以很方便的监控一个jvm,运行一个外加的代理程序。      ...

2019-02-15 14:54:38 253

原创 ssh 远程执行某些命令,会报command not found

ssh 远程执行某些命令,会报command not found,但是该命令在远程服务器上是可以正常运行的,这是因为ssh远程连接到服务器的环境变量中不包含对应可执行文件的路径。需要在shell脚本中自己添加。...

2019-01-23 12:05:30 3861

原创 分布式id生成

 Leaf——美团点评分布式ID生成系统 https://tech.meituan.com/MT_Leaf.html

2018-12-07 16:17:10 128

原创 提高个人效率的方法

热部署1、jrebel插件2、https://blog.csdn.net/HowieLi_1995/article/details/60872788

2018-09-17 18:48:40 221

原创 stack trace

canary-testing  https://whatis.techtarget.com/definition/canary-canary-testing   AB测试,灰度测试

2018-09-15 19:18:34 1682

原创 单元测试相关的框架

http://developer.51cto.com/art/201804/569997.htm单元测试,集成测试xunitspock  https://blog.csdn.net/u012129558/article/details/78677357REST Assured https://www.jianshu.com/p/47e5af367db1mockito...

2018-08-27 00:21:36 98

原创 rxjava调研

rxjava适合异步的场景,可以很方便的处理数据流。不过在后端,大多数都是同步的代码,如果有异步的可以尝试使用rxJava来解决问题。

2018-08-26 23:12:57 143

原创 eureka timeout exception

部门基于spring cloud体系构建微服务架构,在使用的过程中,不同的服务,都报以下的错误,想一探究竟:[2018-08-04 22:53:22] [ERROR] [DiscoveryClient-0] [com.netflix.discovery.TimedSupervisorTask:run:67] task supervisor timed outjava.util.concurr...

2018-08-05 00:36:16 4746 1

原创 有意思的第三方jar包记录

先做个记录,等有时间了可以仔细研究下。1、org.kie2、spillway 用于限速

2018-07-24 11:47:32 276

原创 redis相关参数问题

同一个机房,设置的SocTimeOut=100,放在管道里边发送命令,有大量的readTimeOut,做个标记。

2018-07-23 17:52:48 277

原创 Linux下求两个文件交集的方法

linux下求两个文件的交集,参考 :https://blog.csdn.net/autofei/article/details/65793201、comm命令    comm -2 file1 file22、sort file1 file2|uniq -d

2018-06-05 14:41:29 1025

原创 hibernate通session下model注意事项

项目中使用的是hibernate,在使用的过程中有些问题整的不是很明白,今天遇到这样一种现象,在一个方法中:首先查库,得到一个实体的list,然后基于当前的行为,重新build了对象,因为要记该对象的变化记录,所以就拿之前list里边的的对象去作为历史值来处理 ,但是发现不对。因为在同一个session中,build一个id相同的对象,list中引用的对象也会跟着变。最后的解决方法是把该list作...

2018-05-04 22:55:26 101

原创 sprak 序列化相关错误

在提交spark任务的过程中,如果设置了使用kryo进行序列化,即:conf.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer")可能会遇到以下异常:com.esotericsoftware.kryo.KryoException: java.lang.UnsupportedOperationExc

2018-04-11 17:39:41 1550

翻译 es分词器

源文档来自es官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-analyzers.htmlanalyzer可以由不同的character filters,tokenizer,token filters的组成。es自带了许多内置的Analyzer分析器,无需配置就可以直接在index中使用:标...

2018-03-25 16:15:59 2432

原创 shell

bash 在交互和非交互模式下path是不一样的。ssh host jps报错:jps:command not found.交互式模式就是在终端上执行,shell等待你的输入,并且立即执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、退出。当你退出后,shell也终止了。shell也可以运

2018-02-28 20:29:12 187

原创 @ConfigurationProperties不生效

属性类要生成getter和setter函数,否则映射不成功。

2018-02-07 17:20:44 27133 7

转载 idea .java文件 右下角有个红色j,解决方法

转载自http://blog.csdn.net/w348399060/article/details/70312518不可编译,File里打开project structure找到Modules,其中有个Sources,把右边第一个X点击,去掉Root路径后,重新添加

2018-01-31 09:48:29 379

转载 领域驱动模型

原文链接:http://mp.weixin.qq.com/s/jMWuMuIvI1cFThC-WQGbHQ简单的业务系统采用这种贫血模型和过程化设计是没有问题的,但在业务逻辑复杂了,业务逻辑、状态会散落到大量方法中,原本的代码意图会渐渐不明确,我们将这种情况成为由贫血症引起的失忆症。

2017-12-24 14:43:15 1026

原创 解决程序包和运行环境包的一种依赖

maven插件:解决程序包和运行环境相关包依赖的一种方法http://maven.apache.org/plugins/maven-shade-plugin/examples/class-relocation.html

2017-12-20 11:15:44 858

原创 mongo findandmodify

mongodb 提供了一种原子性的操作,findandmodify,但它只满足原子性,不具备事务的特性,事务具有四种特性:原子性,隔离性,一致性,持久性。findAndModify在高并发下有可能会出现以下情况,比如有两个线程t1 t2:t1读,t2读,t1写,t2写   这个时候有可能两个线程return的结果都是原来库里边的值,而不是更新所期望的 t2会获取到t1插入到数据库里的值,这点在

2017-12-07 12:18:35 1363 1

原创 spring boot

新项目采用spring boot来搭建,因为之前也没有仔细研究过,只是直接拿过来用,所以一路上会遇到不少的问题,总结一下。spring boot最大的特点应该是给我们提供了很多的起步依赖和自动配置,这些功能,用的好了能省不少事,但不了解的时候直接用也会出很多的错误。1、在刚搭建完spring boot项目之后,通过主类启动spring boot项目,启动之后会自动停止,这是因为该项目不是w

2017-12-06 20:11:15 164

原创 杂记

1、提交到spark集群上的类需要序列化,此时要求该类的每个属性都是序列化的,但是如过是引用第三方包的类作为类的成员变量,无法序列化,可以将该成员变量声明为静态变量,因为序列化的是对象而不是类,所以该成员变量会随着类分发到每一台worker节点。

2017-11-24 21:08:00 105

原创 读书笔记---浪潮之巅

1、在google的战略里,以后复杂的功能将通过云计算来完成。2、

2017-09-25 11:51:48 230

原创 redis删除key命令

redis-cli -h 10.110.21.81 -p 21412 -a password -n 4 scan 0 count 20000 | xargs redis-cli -h 10.110.21.81 -p 21412 -a password -n 4 del

2017-09-15 18:16:19 2343

翻译 rocketmq

NameServerNameserver主要有两项功能:broker管理,nameserver接受broker集群的注册,并提供心跳机制来检验broker是否存活。路由管理,每个nameserver会持有broker集群的所有路由信息和客户端查询的队列信息。client会从nameserver中查询队列的路由信息,那么client是怎么找到nameserver的地址呢?有四种方式:

2017-08-06 11:52:47 187

空空如也

空空如也

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

TA关注的人

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