- 博客(42)
- 资源 (2)
- 收藏
- 关注
原创 kafka系列(一)
单机版安装kafka-server-start.sh -daemon config/server.propertieskafka-console-producer.sh --topic topic_1 --broker-list localhost:9020kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic_1kafka-console-consumer.sh --bootstrap-server
2021-12-24 16:44:34
219
原创 SpringCloud随记
Ribbon为标注了@LoadBalanced 注解的RestTemplate 实例添加请求拦截器,在拦截器中根据负载均衡的配置得到实际请求的机器地址信息Hystrix采用AOP方式,为标注了@HystrixCommond注解的方法添加环绕通知,在环绕通知中进行 生成线程池、请求异常之后执行回退逻辑 等操作Feign利用动态代理技术,为标注了@FeignClient注解的接口生成代理类,在实际代理类中进行加入了Ribbon和Hystrix进行负载均衡和熔断降级操作...
2021-09-10 15:30:20
134
原创 jvm
-XX:MetaspaceSize=512M-XX:MaxMetaspaceSize=512MOOM永久代 Metaspace启动参数设置值太小,不满足系统运行所需要的代码中大量使用动态代理,运行时生成大量类java虚拟机栈代码中大量递归调用,或者递归结束条件有误堆高并发,请求量大,导致大量对象存活系统内存泄露,创建的大量对象没有及时取消对他们的引用,导致一直存活-Xms4096M -Xmx4096M -Xmn3072M -Xss1M -XX:MetaspaceSize=
2021-02-24 19:56:26
88
原创 (二)单元测试-SpringBoot+Junit
在IDEA中执行的主要流程对应的junit插件启动junit加载@RunWith指定的运行器@SpringRunner启动Spring扩展的的运行器@SpringBootTest 默认查找SpringBoot启动类初始化 TestContext,完成Spring环境启动执行测试用例汇总执行结果如下图:...
2020-12-08 18:35:32
107
原创 kubernates(一)
第一章 K8S集群部署提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用集群部署第一章 K8S集群部署部署环境说明一、节点环境准备1.修改MAC2. 修改IP和hostname4.网络桥接设置5.准备yum源二、Master节点部署1.安装docker-ce,kubelet、 kubeadm、kubectl版本2.docker镜像加速配置3.K8S docker镜像问题说明4.初始化k8s4.手动执行上一步最后输出命令5.sc
2020-10-17 14:41:44
108
原创 单元测试
官网资料springhttps://docs.spring.io/spring/docs/5.0.8.RELEASE/spring-framework-reference/testing.html#testpropertysourcespringboothttps://docs.spring.io/spring-boot/docs/2.0.1.RELEASE/reference/htmlsingle/#boot-features-testing-spring-boot-applications
2020-08-26 16:11:46
75
原创 注解(四)
1.概述注解相当于给某些代码贴了个标签。我们:既可以通过注解处理器在编译时解析这些标签,也可以在运行时通过反射解析这些标签。解析后都会有一系列动作,这些动作就是对标签语义的诠释。2.注解处理器可以为 Java 编译器添加编译规则,以插件的形式接入 Java 编译器中,这些插件我们称之为注解处理器(annotation processor)注解处理器类都需要实现接口ProcessorJDK 提供了一个实现Processor接口的抽象类AbstractProcessor。该抽象类实现了in
2020-08-18 17:25:46
140
原创 运维操作(四)
1.收缩表空间delete 删除为标记删除,实际文件记录不会删除,新的记录可以覆盖重建表: alter table t engine=InnoDB;
2020-08-17 16:48:15
121
原创 Spring中的Bean(一)
Bean的类型Spring中Bean有两种:⼀种是普通Bean⼀种是⼯⼚Bean(FactoryBean)FactoryBean可以⽣成某⼀个类型的Bean实例(返回给我们),也就是说我们可以借助于它⾃定义Bean的创建过程。在Spring容器中可用get("&id")方式获取。Bean的创建方式Bean创建的三种⽅式中的静态⽅法和实例化⽅法和FactoryBean作⽤类似,FactoryBean使⽤较多,尤其在Spring框架⼀些组件中会使⽤,还有其他框架和Spring框架整合时
2020-08-12 16:39:31
177
原创 锁(三)
全局锁作用:让整个库处于只读状态命令:Flush tables with read lock (FTWRL)全库备份:官方自带的逻辑备份工具是 mysqldump。当 mysqldump 使用参数–single-transaction 的时候,导数据之前就会启动一个事务,来确保拿到一致性视图。而由于 MVCC 的支持,这个过程中数据是可以正常更新的。...
2020-08-12 09:28:16
199
原创 mysql索引(二)
索引的常见模型哈希表:利于等值查询,区间查询不利。有序数组:利于等值、区间查询,更新维护成本高。搜索树:多种变种结构满足不同需求。InnoDB 的索引模型在 InnoDB 中,表都是根据主键顺序以索引的形式存放的,这种存储方式的表称为索引组织表。每一个索引在 InnoDB 里面对应一棵 B+ 树。主键索引的叶子节点存的是整行数据。在 InnoDB 里,主键索引也被称为聚簇索引(clustered index)。非主键索引的叶子节点内容是主键的值。在 InnoDB 里,非主键索引也被称
2020-08-10 13:56:48
135
原创 Mysql事务(一)
1.事务的启动方式显式启动事务语句, begin 或 start transaction。配套的提交语句是 commit,回滚语句是 rollback。set autocommit=0,这个命令会将这个线程的自动提交关掉。意味着如果你只执行一个 select 语句,这个事务就启动了,而且并不会自动提交。这个事务持续存在直到你主动执行 commit 或 rollback 语句,或者断开连接。2.事务隔离简单实现原理在实现上,数据库里面会创建一个视图,访问的时候以视图的逻辑结果为准。在“可重
2020-08-10 10:55:22
122
原创 SpringBoot全局异常处理-多个处理器匹配顺序
Spring版本:5.0.6多个处理器的两种情况1. 存在一个类中@RestControllerAdvicepublic class ExceptionHandle { @ExceptionHandler(Exception.class) public Object handle(Exception e){ e.printStackTrace(); HashMap<String, Object> map = new HashMap&.
2020-07-17 00:15:18
4222
1
原创 Spring事件
Spring事件概述监听器注册事件发布层次性上下文事件发布传递内建事件Payload事件自定义事件及监听监听器注册基本接口(ConfigurableApplicationContext API)context.addApplicationListener(监听器实例);基于Spring Bean,将监听器注册为Spring的Beancontext.register(监听器实例)事件发布通过 ApplicationEventPublisher获取实例:依赖注入----->
2020-06-22 16:43:43
105
原创 redis sentinel
sentinel通信连接与主、从节点建立命令、订阅连接与其他sentinel建立命令连接工作方式概述主观下线:sentinel节点认为下线客观下线:超过半数的sentinel节点认为下线sentinel每10秒向主、从节点发送一次info命令1. 获取所有从节点信息,并且与从节点建立两个连接2. 当主节点下线或者正在进行故障转移时,将每秒向从节点发送infosentinel之间通过向被监视节点的订阅频道发送消息,让其他sentinel感知到自己的存在,每2秒一次sentinel从
2020-06-08 15:47:01
111
原创 发展概述
数据库连接:配置信息硬编码连接性能消耗JDBC数据源连接池数据源JNDIDBCPC3P0DuridHikariCP数据库连接池DuridHikariCP数据库操作自己编写sql对象操作操作mybatisSpring Data JPAmybatis详见mybatis专栏
2020-05-19 19:28:32
323
原创 mybatis(一)
MetaObject 作用MetaObject 主要是对实例化的对象进行赋值和取值用的,其底层也是利用的反射获取实例的 getter 和 setter 方法进行赋值,而这些 getter 和 setter 方法其实都是和 MetaObject 名类似的 MetaClass 通过反射去获取的,所以 MetaClass 主要是用来保存 Class 的一些元信息的...
2020-05-11 00:08:28
94
原创 excel表定义导入powdesiger
excel格式:表名汉语 table_code列名 column_name NVARCHAR2(10)Option ExplicitDim mdl ' the current modelSet mdl = ActiveModelIf (mdl Is Nothing) Then MsgBox "There is no Active Model"End ...
2020-05-07 17:03:30
305
原创 SpringBoot扩展外部化配置
何为扩展?通俗来讲,将自己需要的配置从所在的位置加载进Spring环境中,最终在该环境中被使用。怎么扩展或者说在何处扩展?总体来说,扩展点有三类:SpringBoot生命周期方法、启动过程中监听器、EnvironmentProcessor。Spring环境中配置存放在哪里,即从何处获取加载的配置信息?Spring对配置的抽象Environment->配置生效的关键遵循一点...
2020-04-29 18:50:53
135
原创 Ribbon
Ribbon按照集成方式区分原生Ribbon->SpringCloud Ribbon->SpringCloud Eureka Ribbon参考资料
2020-03-19 23:11:45
89
转载 jvm垃圾回收
引用计数https://www.cnblogs.com/igoodful/p/8727241.html这篇文章讲的挺好,在此推荐记录一下,感谢作者分享根搜索算法
2019-12-17 15:29:57
91
原创 多线程 锁
这里写自定义目录标题使用同步方式使用同步方式同步代码块synchronized(任意全局对象){}同步非静态方法使用this锁同步静态方法使用当前class字节码文件...
2019-12-11 23:12:19
79
原创 AOP
静态代理和动态代理动态代理JDK代理和CGLIBJDK:需要接口,基于反射// 每次生成动态代理类对象时,实现了InvocationHandler接口的调用处理器对象 public class InvocationHandlerImpl implements InvocationHandler { private Object target;// 这其实业务实现类对象,用来调用具体...
2019-12-09 16:55:10
85
原创 mysql数据库锁
表锁读锁会阻塞写,但是不会阻塞读操作。而写锁则会把读和写都阻塞聚簇和非聚簇索引MyISAM索引结构: MyISAM索引用的B+ tree来储存数据,MyISAM索引的指针指向的是键值的地址,地址存储的是数据。B+Tree的数据域存储的内容为实际数据的地址,也就是说它的索引和实际的数据是分开的,只不过是用索引指向了实际的数据,这种索引就是所谓的非聚集索引。因此,过程为: MyISAM中索引...
2019-11-29 15:20:22
86
原创 查询优化
索引全值匹配;最佳最前缀法则;不在索引列上做任何操作(计算、函数、自动或者手动的类型转换<如:varchar 类型的值不加单引号>);存储引擎不能使用索引中范围条件右边的列;尽量使用覆盖索引(索引列和查询列一致),减少select * ;使用不等于(!=或者<>)的时候无法使用索引;is null ,is not null 也无法使用索引;like 以通配符...
2019-11-20 14:30:21
90
原创 mysql explain信息解释
id 查询顺序 表读取顺序相同,顺序;不同,从大到小select_type 查询类型 数据读取操作的操作类型simple 简单查询,不包含子查询或者unionprimary 查询中如果包含任何子查询,则最外层查询被标记subquery select或where列表中包含了子查询derived from列表中的子查询,递归执行这些查询,结果放在临时表中union 如果...
2019-11-07 23:46:41
106
原创 spring官网学习记录
ApplicationContext实现还允许注册在容器外部(由用户)创建的现有对象。这是通过通过方法访问ApplicationContext的BeanFactory来完成的getBeanFactory(),该方法返回BeanFactoryDefaultListableBeanFactory实现。DefaultListableBeanFactory通过registerSingleton(..)...
2019-11-04 21:41:14
132
原创 LCN本地部署
docker run --name redis5.0 -p 6379:6379 -v /usr/docker/redis/data:/data -d redis:5.0docker run --name mysql5.7 -v /usr/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d ...
2019-11-02 13:54:33
353
原创 linux最小安装
网络开机启动cd /etc/sysconfig/network-scripts/ 对应网卡把onboot=no改为yes 使用servicenetworkrestart命令,重启网络服务。设置静态ip使用vim命令(vi命令也可以),对文件进行配置,我们需要修改BOOTPROTO="static"也就是将dhcp改为static, 修改ONBOOT="yes"意思是...
2019-11-02 11:06:58
400
原创 spring/springboot常用注解
spring@import,将对象导入IOC容器;Import可以配合 Configuration , ImportSelector, ImportBeanDefinitionRegistrar 来使用可参考https://blog.youkuaiyun.com/everyok/article/details/81350905springboot @ConfigurationProperties...
2019-10-31 17:53:44
104
原创 docker部署
小结一下:配置yum源,清理历史源配置,更新缓存 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum clean all yum makecachedocker安装,根据官方操作进行yum i...
2019-10-21 22:29:32
119
原创 java基础(二)-map set list(1)
最近有时间可以静下心来看看些基础的东西,不用再纠缠在各种业务之中了ListArrayList(Vector,线程安全) 底层为Object[] 初始化时不指定大小默认为0,第一次添加元素时扩容,默认大小为10 2.LinkedList 底层为双向链表 相比数组,插入、删除快,查询慢M...
2019-04-17 21:56:27
94
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人