自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 kafka connect pem格式配置ssl

主要在connect-standalone.properties或者connect-distributed.properties中增加如下配置# connect ssl configbootstrap.servers=ip:9093security.protocol=SSLssl.keystore.type=PEMssl.truststore.type=PEM#ssl.key.password=ssl.endpoint.identification.algorithm=ssl.key.

2022-02-25 14:44:44 2896

原创 kafka pem格式配置SSL

server.properties文件增加如下配置# SSL认证配置ssl.client.auth=requiredssl.enabled.protocols=TLSv1.2,TLSv1.1,TLSv1ssl.keystore.type=PEMssl.truststore.type=PEM# kafka2.0.x开始,将ssl.endpoint.identification.algorithm设置为了HTTPS,即:需要验证主机名# 如果不需要验证主机名,那么可以这么设置 ssl.endp

2022-02-25 14:38:48 1854

原创 spring事务失效常见情况(一)

@Servicepublic class TestService { @Autowired private JdbcTemplate jdbcTemplate; @Autowired private TestService testService; @Transactional public void transaction1(){ jdbcTemplate.execute(); //这个方法是普通调用,不会走sp.

2022-02-17 13:56:42 231

原创 kafka消费指定offset消息

public static void main(String[] args) { Properties props = new Properties(); props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, ""); props.put(ConsumerConfig.GROUP_ID_CONFIG, ""); props.put(ConsumerConfig.AUTO_OFFSET_RESET.

2021-10-29 14:04:12 1576 3

原创 运行时动态修改@Scheduled注解的定时任务

@RestController@RequestMapping("api/v1/scheduler")public class TestController { @Autowired private ApplicationContext applicationContext; @GetMapping("/test") public String test(String sch) throws NoSuchFieldException, IllegalAccessExce.

2021-04-30 13:48:20 850

原创 springboot版本与spring framework版本对应关系

1.首先创建一个springboot项目,指定parent为<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.6.RELEASE</version></parent>2.声明<depend

2021-04-28 16:37:21 6882 3

原创 springcloud gateway解决跨域问题

2021-02-07 12:42:34 160

转载 内存swap

参考自 --大型分布式网站架构设计与实践 --244页

2019-04-08 08:43:14 650

原创 nginx负载均衡策略

1.轮询(默认)优点:实现简单缺点:不考虑每台服务器的处理能力upstream www.baidu.com{      server www.baidu.com:8080;      server www.baidu.com:9080;} 2.权重优点:考虑了每台服务器处理能力的不同upstream www.baidu.com{      server ...

2019-02-27 13:40:07 415

转载 定时任务框架quartz

一.为什么要用定时任务1.系统间同步数据出现问题,需要找出差异修复2.DBeaver编写SQL查询Hive数据库,导出差异3.使用JDBC多线程连接Hive,生成Excel文件4.定时运行spring task:不支持集群部署 二、quartz1.做什么事情:Job JobDetail2.任务以什么样的规律运行:Trigger为什么要对JobDetail和T...

2019-02-21 08:52:09 345

转载 linux文件占用空间

在Linux中,当我们使用rm在linux上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄,那么linux内核还是不会释放这个文件的磁盘空间,最后造成磁盘空间占用100%,整个系统无法正常运行。这种情况下,通过df和du命令查找的磁盘空间,两者是无法匹配的,可能df显示磁盘100%,而du查找目录的磁盘容量占用却很小。遇到这种情况,基本可以断定是某些大文件被某些程序占用了...

2019-02-14 09:26:28 455

转载 SpringBoot配置HTTPS,并实现HTTP访问自动转HTTPS访问

server: ssl: key-store: test.baidu.com.jks# key-store-type: PKCS12 key-store-password: 088w89ct8yoa# key-alias: tomcat key-password: 088w89ct8yoa启动类添加如下代码https://...

2019-02-12 14:51:30 633

转载 公平锁 VS 非公平锁

公平锁:1.概念公平锁是指多个线程按照申请锁的顺序来获取锁,线程直接进入队列中排队,队列中的第一个线程才能获 得锁2.优点公平锁的优点是等待锁的线程不会饿死3.缺点缺点是整体吞吐效率相对非公平锁要低,等待队列中除第 一个线程以外的所有线程都会阻塞,CPU唤醒阻塞线程的开销比非公平锁大。非公平锁:1.概念非公平锁是多个线程加锁时直接尝试获取锁,获取不到才会到等待队...

2019-02-12 09:41:32 205

原创 elasticsearch学习

@Configurationpublic class EsConfig { @Bean public RestHighLevelClient restHighLevelClient(){ RestHighLevelClient client = new RestHighLevelClient( RestClient.builder...

2019-01-30 15:38:14 155

翻译 ACID

ACID:事务是原子性的,可以被提交或者回滚。当一个事务对一个数据库做了多个改变,要么事务提交时所有的改变成功,要么当事务回滚时所有的改变撤销。数据库始终维持一个一致性的状态----在每次提交或回滚之后,或者事务还在进行中时。如果事务相关的数据涉及到多个表,则每次对这些表的查询看到的要么都是旧值,要么都是新值,不会是旧值和新值的混合。事务彼此之间是受保护的(隔离的)当他们都在进行中时。...

2019-01-18 11:06:00 512

转载 linux磁盘空间不足

新公司的测试机磁盘空间空余很小,日志很多,也很大,做个日志压缩脚本,在夜里4:30自动运行,第二天后发现磁盘空间又满了,只好删除没用的日志,清空空间,可诡异的是怎么删除没用的文件,空间还是占用很大。如图用du 根目录下,发现这些文件加一块也达不到占用的空间大小。如图我也有遇见过此类问题,一般都是重启完事,因为磁盘坏道损坏有可能导致此问题。或 DF -i 查看inode使用率,i...

2019-01-11 10:03:56 488

翻译 quartz学习(一)

Job实例在Quartz中的生命周期把JobDetail 实例传给scheduler,JobDetail 中有要执行的Job class声明。Scheduler每次执行job都会创建一个新的job实例。执行完成之后,这个实例会被垃圾回收。Job类里不要定义有状态的字段,因为他们的值在两次job执行之间是不保存的。可以通过JobDataMap传递状态。Lesson 4: More About...

2018-12-24 10:27:00 209

翻译 Redis如何过期key

过期redis key有两种方式:被动和主动方式。被动过期:当一些客户端要访问这个key时,发现它已经过期,则删除。显然这样做是不够的,因为可能有些key不会被再次访问。这种情况下也同样要删除这些过期的key。因此就有了主动过期的方式。主动过期:redis会定期,通过随机的方式在设置了过期时间的key中选择一些key,如果这些key已经超过过期时间则把他们从keyspace中删除。...

2018-12-21 16:20:20 306

原创 查询城市列表

@Overridepublic String listCity(String parentId) throws Exception { List&lt;City&gt; all = cityMapper.selectProvinceInfo(); Map&lt;String, City&gt; cityMap = new HashMap&lt;&gt;(); List&...

2018-12-19 10:57:40 796

转载 linux系统下安装两个或多个tomcat

编辑环境变量:vi /etc/profile加入以下代码(tomcat路径要配置自己实际的tomcat安装目录)##########first tomcat###########CATALINA_BASE=/usr/local/tomcatCATALINA_HOME=/usr/local/tomcatTOMCAT_HOME=/usr/local/tomcatexport C...

2018-12-05 10:18:22 135

转载 分库分表的标准

数据库的分库分表我相信很多人都已经听说过,这里也分享一下如何确定需要有多少的库, 需要有多少的表。首先是最小的库的数量,可以通过业务峰值 TPS 除以单库容量上限 TPS 来计算。然后是最小的表的数量,可以通过单位时间业务量乘以存储时长再除以单表的容量上限来进行计算。 引用:https://mp.weixin.qq.com/s/mxA5Ndxmk_6zZhF7pJkjUQ...

2018-10-29 08:19:33 858

原创 事务的传播行为

解决的问题是:解决业务层方法之间的相互调用的问题。 事务传播行为类型 说明 PROPAGATION_REQUIRED 支持当前事务,如果不存在就新建一个,可以保证多个调用处于同一个事务中 PROPAGATION_SUPPORTS 支持当前事务,如果不存在,就不使用事务 PROPAGATION_MANDATORY 支持当前事务,如果不存在,抛出异常 P...

2018-09-18 16:19:58 225

翻译 RabbitMq--消息确认机制

RabbitMq有两种消息确认模式:1)自动确认模式:当消息被发送之后就认为成功传输,这种方式有更高的吞吐量,但降低了消息传输和消费端处理的安全性。2)手动确认模式:通过API,Channel#basicAck 和 Channel#basicNack分别进行确认和非确认boolean autoAck = false;channel.basicConsume(queueName, autoAck,...

2018-07-12 10:21:49 344

翻译 spring-amqp

       spring提供了ConnectionFactory 接口,它的唯一实现类CachingConnectionFactory 可以提供Connection 实例,这个spring中的Connection是com.rabbitmq.client.Connection 的包装类。CachingConnectionFactory默认情况下只提供一个connection供整个Applicati...

2018-07-04 20:01:07 361

转载 HandlerInterceptor

/* * Copyright 2002-2015 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * Y...

2018-05-28 00:14:52 244

转载 HashMap

/* * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * *...

2018-05-28 00:14:31 301

转载 ArrayList

/* * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * *...

2018-05-28 00:13:48 745

翻译 LinkedList源码学习

LinkedList是List接口的双向链表(Doubly-linked list)实现,可以存放任何元素,包括null。同样也是非线程安全的,可以通过以下方法生成一个线程安全的list。List list = Collections.synchronizedList(new LinkedList(...));/** * Removes all of the elements from this...

2018-05-27 23:56:08 149

翻译 ArrayList源码学习

ArrayList是List接口的可扩容数组实现,可以存放任何元素,包括null。ArrayList在功能上基本等同于Vector,区别是ArrayList是非同步的、非线程安全的,而Vector是同步的、线程安全的。如果需要用到线程安全的list,则可以通过 List list = Collections.synchronizedList(new ArrayList(...));   Array...

2018-05-27 16:48:49 166

翻译 spring杂谈

1.ApplicationContext默认在它启动的时候预先实例化singleton beans,这样就可以及时发现bean的依赖配置是否存在问题。可以修改这种默认行为,通过指定bean懒加载。@Lazy 或者&lt;bean id="lazy" class="com.foo.ExpensiveToCreateBean" lazy-init="true"/&gt;2.当某个bean和它所依赖的b...

2018-05-17 17:06:23 124

翻译 spring bean实例化的几种方式

1. Instantiation with a constructor2. Instantiation with a static factory method3. Instantiation using an instance factory method

2018-05-17 15:29:05 208

原创 浅谈GC---二

Java SE平台的一个优势是它将开发人员从内存分配和垃圾收集的复杂性中解放出来。但是,当垃圾收集是主要瓶颈时,理解底层是很有用的。Generational Garbage Collection一个对象会被认为是垃圾,并且它的内存会被虚拟机回收重新使用,当程序中任何其他活动对象都没有引用到达该对象时。大部分对象被分配在专门存放年轻对象的内存区域(年轻代),并且大部分对象死在这里。当年轻代满了之后,...

2018-05-11 16:54:01 282

原创 浅谈GC

        垃圾收集器的目的就是让应用程序开发者从人为进行动态内存管理中解放出来。开发者不需要分配和回收内存,不需要密切关注分配的动态内存的生命周期。Java HotSpot VM提供了一系列垃圾收集算法可供选择。        什么时候选择一个垃圾收集器很重要?        对于一些应用来说无所谓,也就是说在垃圾收集频率和暂停时间适中的情况下应用也可以运行的很好。然而,对于大型应用来说情况...

2018-05-11 14:43:23 233

翻译 spring中的拦截器HandlerInterceptor和servlet中的Filter之间的区别

 Workflow interface that allows for customized handler execution chains.* Applications can register any number of existing or custom interceptors* for certain groups of handlers, to add common pr...

2018-05-10 10:32:57 1673

翻译 java教程

Numbersand Strings:注:抽象类Number还有四个子类,BigDecimal and BigInteger 用于高精度计算。AtomicInteger and AtomicLong 用于多线程应用。 在以下三种情况你可能使用Number对象而不是原生数据类型:1.     当方法的参数期望对象类型(经常在处理数字集合时使用List&lt;Integer&gt;)。2.     当...

2018-05-07 17:08:01 538

转载 java运行时数据区

Run-Time Data AreasJava虚拟机为程序运行定义了不同的运行时数据区。其中有些数据区在虚拟机启动时创建,在虚拟机退出时销毁。其他数据区是每个线程私有的。每个线程的数据区是在这个线程创建时创建的,在线程退出时被销毁。 The pc RegisterJava虚拟机可以支持同时执行多个线程。每个Java虚拟机线程都有自己的pc(程序计数器)寄存器。在任何时候,每个Java虚拟机线程正在...

2018-05-07 16:42:52 280

翻译 JDK动态代理和CGLIB代理的比较

1.如果需要代理的目标类没有实现任何接口,则ProxyFactoryBean会创建基于CGLIB的代理。这种情况是最容易的场景。因为jdk动态代理是基于接口的,因此没有实现接口就意味着jdk动态代理是不可能的。2.如果需要代理的目标类实现了一个或多个接口,则被创建的代理的类型跟ProxyFactoryBean的配置有关。如果ProxyFactoryBean的属性proxyTargetClass被设...

2018-05-07 16:26:59 587

原创 有序的LinkedHashMap和TreeMap

        有序的意思是对于放入map中的数据,当需要输出这些数据时用户可以提前知道或者预测出它是怎样的一种输出顺序。不像HashMap这种输出顺序是不可知的。1.LinkedHashMap    LinkedHashMap像HashMap一样允许null key,内部通过维护一个双向链表,当迭代输出时可以以插入顺序(通常情况下是插入顺序,还可以是访问顺序)输出,因此性能稍微比HashMap低...

2018-04-30 17:24:02 1427

原创 正向代理和反向代理

    个人感觉正向代理和反向代理最大的区别是对于访问用户来说是知道的(通过自己配置代理服务器实现,比如说fanqiang)还是透明无感知的。正向代理是用户主动地为了更好访问某一资源,而反向代理往往是服务提供商为了安全或者提供高可用(负载均衡)的服务而配置的,通过在用户和用户实际需要访问的资源中间加的一层。引用网上的说法:正向代理代理客户端,反向代理代理服务器...

2018-04-29 21:02:08 205

原创 java实现两个大数相乘

        当为了能够表示大数据(超出java中基本数据类型所能表示的最大数值),和追求计算结果的精度时,就需要对数值换一种表示方式。本文利用数组来存放大数值。比如12345678910111213141516这个数值可以把每一位分别存在数组中。通过以下示例来演示如何通过数组的方式计算大数值之间的相乘。public class BigNumDemo { public static vo...

2018-04-28 14:23:22 4266

空空如也

空空如也

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

TA关注的人

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