- 博客(101)
- 收藏
- 关注
原创 springboot集成kafka
springboot集成kafka项目结构pom文件配置文件生产者与消费者producerconsumercontroller启动项目报错分析1报错分析2测试网上关于springboot集成kafka的文章很多,本文只是做一个学习记录。上章:kafka简单入门项目结构pom文件 <parent> <groupId>org.springframew...
2020-04-28 20:08:47
716
原创 python处理excel之openpyxl
python处理excel之openpyxl创建exce储存数据创建表(sheet)选择表(sheet)查看表名(sheet)删除工作表访问单元格(cell)单一单元格访问多单元格访问行列条件迭代所有行所有列保存数据其他改变 sheet 标签按钮颜色设置行高和列宽获取最大行,最大列根据数字得到字母,根据字母得到数字合并和拆分单元格引用:https://www.cnblogs.com/progra...
2020-04-24 15:46:28
771
原创 python标准库之date和datetime模块
python标准库之date和datetime模块time模块获取时间戳格式的时间获取struct_time格式的时间获取字符串格式的时间(基本不用)时间戳格式转struct_time格式时间struct_time格式转时间戳格式时间struct_time格式转字符串格式时间字符串格式转struct_time格式时间图解datetime模块datetime.date类datetime.time类d...
2020-04-24 13:56:56
716
原创 python标准库之sys模块
python标准库之sys模块常见函数列表sys.argv测试django中的案例引用:python之sys模块详解常见函数列表sys.argv: 实现从程序外部向程序传递参数。sys.exit([arg]): 程序中间的退出,arg=0为正常退出。sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii。sys.setdefaultencoding(...
2020-04-24 13:01:21
724
原创 python标准库之os模块
python标准库之os模块查看当前路径当前路径下所有文件查看绝对路径查看路径的文件夹部分和文件名部分切割文件路径获取文件夹获取文件名合并文件夹与文件名查看文件时间最后修改时间最后访问时间最后访问时间查看文件大小文件判断文件或文件夹是否存在是否为绝对路径是否为文件是否为目录创建删除文件创建文件夹删除文件夹删除文件一些表现形式参数环境参数(os.environ)实例说明引用:python之os模块...
2020-04-24 12:37:04
297
原创 python标准库之re模块
python标准库之re模块groups()re.splitre.searchre.subre.findallre.compile\1...\9 匹配第n个分组的内容其他正则排序面试题引用:菜鸟教程-Python 正则表达式本文以面试题的方式介绍re模块的部分用法groups()# 1.字母和数字表示他们自身。一个正则表达式模式中的字母和数字匹配同样的字符串。re.match('www'...
2020-04-23 22:56:13
792
原创 python装饰器
python装饰器一句话解释什么样的语言能够用装饰器?装饰器模式带参装饰器真正装饰器带@functools.wraps请设计一个可用的decorator一句话解释什么样的语言能够用装饰器?函数可以作为参数传递的语言,可以使用装饰器def log(): print("打印日志信息")# 函数可以作为参数传递def printDebug1(func): print("sta...
2020-04-23 20:03:26
283
原创 python操作列表的三个重要内置函数
python操作列表的三个重要内置函数map() 函数filter() 函数reduce() 函数python内置函数很多,这里主要介绍三个map() 函数map() 会根据提供的函数对指定序列做映射。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表Python 2.x 返回列表,Python 3.x ...
2020-04-23 16:48:54
505
原创 python字符串格式化
字符串格式化使用%函数format关键字符f或fr本文只做简单的记录,不深入研究用法,大牛可移步使用%引用:Python基本格式化输出菜鸟教程-Python 字符串格式化>>> n1=3.14158>>> n2=1.2658>>> print("n1 is %.3f and n2 is %s" % (n1, n2))n1 is...
2020-04-23 15:22:01
263
原创 python对元素进行排序
python对元素进行排序列表的排序方法sort()内置排序函数sorted()字符串元组列表借助operator模块的itemgetter排序面试题本文采用版本python3.5列表的排序方法sort()list.sort(key=None, reverse=False)key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元...
2020-04-23 14:47:15
2718
原创 python切片操作
python切片操作序列类型反转操作reversed(sequence)列表方法reverse()切片sequence[::-1]切片与列表浅拷贝修改单个元素添加元素替换部分元素删除元素清空列表取10以内的偶数取10以内的奇数取10以内3的倍数引用文章:彻底搞懂Python切片操作序列类型反转操作reversed(sequence)在经过reversed()的作用之后,返回的是一个把序列值...
2020-04-23 12:45:07
476
原创 python核心数据类型
python核心数据类型数据类型类型转换序列类型字符串列表元组序列运算符本文采用版本pyton3.5数据类型数字: int,long,float,complex,bool字符: str,unicode列表: list字典: dict元组: tuple文件: file其他类型: 集合(set),frozenset,类类型,None类型转换str(),repr()或format(...
2020-04-23 12:19:49
326
1
原创 python文件命名的坑导致引入模块方法失败
python文件命名的坑导致引入模块失败本人python入门。。。在练习枚举enum类型时,创建了个名为enum.py文件结果。。ImportError:cannot import name 'Enum' from 'enum'重新命名就好了...
2020-03-04 23:05:00
988
原创 Feign集成Hystrix源码分析(Targeter实现类)
Feign集成Hystrix源码分析(Targeter实现类)Targeter接口DefaultTargeterHystrixTargeter是否开启feign.hystrix.enabledfallbackfallbackFactory没有指定fallback与fallbackFactory自定义全局降级处理自定义FallbackFactory实现类cglib代理处理类自定义Targeter实现...
2019-08-30 17:33:14
3076
9
原创 Feign集成Hystrix源码分析(自动配置)
Feign集成Hystrix源码分析(扫描注解)@EnableFeignClients与@FeignClientFeignClientsRegistrarFeignClientFactoryBean缘起:我司项目中集成了Feign与Hystrix全局降级处理,于是从源码层面开始分析,自定义处理是怎么运行的@EnableFeignClients与@FeignClient@EnableFeign...
2019-08-30 11:46:42
1263
原创 spring-cloud动态路由“动态”的理解
spring-cloud动态路由“动态”的理解非动态可以通过硬编码来配置路由读取yml文件配置路由动态动态路由接口RouteDefinitionRepository实现RouteDefinitionRepository接口自定义路由配置规则采用数据库+redis配置路由信息自定义RedisRouteDefinitionWriter路由操作类动态路由引申出的事件监听器开启debugger调用链反追踪...
2019-08-27 12:24:46
6027
4
原创 多线程解决导出excel性能问题
单线程导出瓶颈:表数据量大导出内容涉及多个表,完善订单商品信息慢页面阻塞,影响用户体验多线程导出优点处理速度快异步导出,可以先返回结果给页面多线程导出思路:多个线程完善订单信息,另起一个线程拿到所有数据后导出为Excel多个线程完善订单信息并生成Excel,另起一个线程将所有子Excel合并为一个Excel方式一多个线程完善订单信息,另起一个线程拿到所有数据后导出...
2019-05-14 15:54:44
7616
4
原创 Oracle数据库WM_CONCAT函数问题
项目中原有的sql语句使用了WM_CONCAT函数,这个函数在oracle12c的版本里不识别,要更换成 listagg(..) within group(..)的函数select listagg(t.name,',') within group (order by t.id) from table_name t;为什么oracle 12c 无法使用WM_CONCAT?...
2019-05-13 14:26:31
748
原创 java集合框架之HashMap(jdk1.7)
java集合框架之HashMap(jdk1.7)HashMap的数据结构常量重要属性HashMap 的实例有两个参数影响其性能默认加载因子是 0.75构造器部分APIput新增EntryputAllgetgetEntryremoveentrySet()、values()、keySet()newEntryIteratorHashMap遍历方式遍历HashMap的键值对遍历HashMap的键遍历Has...
2019-04-03 20:24:23
319
原创 数据结构之哈希(hash)表
数据结构之哈希(hash)表哈希表的定义哈希冲突哈希冲突解决办法开发定址法链地址法关于哈希表的性能缘起: 最近开始详细看 jdk 源码的集合工具类,其中很多用到哈希表来存储数据,所以先了解下哈希表的原理注释:本篇引用自数据结构之哈希(hash)表哈希表的定义这里先说一下哈希(hash)表的定义:哈希表是一种根据关键码去寻找值的数据映射结构,该结构通过把关键码映射的位置去寻找存放值的地方,说...
2019-04-03 12:36:55
481
原创 mybatis与spring的整合之SqlSessionTemplate
mybatis与spring的整合之SqlSessionTemplate使用 SqlSessionSqlSessionTemplate源码SqlSessionTemplate构造方法一个入参两个入参三个入参动态代理创建sqlSession并执行SqlSessionUtils.getSqlSession创建sqlSession从事务管理器中寻找sqlSession根据执行类型构造一个新的sqlSes...
2019-04-01 12:32:28
8550
原创 mybatis与spring的整合之SqlSessionFactoryBean
mybatis与spring的整合之SqlSessionFactoryBeanSqlSessionFactoryBean配置注入mapperLocations注入configLocationmapperLocations与configLocation比较SqlSessionFactoryBean源码跟踪实现了FactoryBean接口实现了InitializingBean接口dataSource不...
2019-03-31 17:58:41
42821
7
原创 mybatis与spring的整合之MapperScannerConfigurer
mybatis与spring的整合之MapperScannerConfigurer项目结构编写`mapper接口`也就是 `dao` 层与`mapper接口`对应的`sql配置文件`交由spring管理源码分析SqlSessionFactoryBeanMapperScannerConfigurer实现了InitializingBean接口是工厂处理器缘起: 之前有讲到用xml配置单个映射接口my...
2019-03-31 15:14:06
848
原创 mybatis与spring的整合之ClassPathMapperScanner
mybatis与spring的整合之ClassPathMapperScannerjava配置应用配置类源码分析@MapperScanMapperScannerRegistrar.registerBeanDefinitionsClassPathMapperScanner.doScan父类ClassPathBeanDefinitionScanner.doScan扫描注册bdprocessBeanDef...
2019-03-31 13:19:04
10534
原创 mybatis核心组件之MapperMethod
mybatis核心组件之MapperMethodMapperProxyMapperMethod构造函数SqlCommand一个内部类 封装了`SQL`标签的类型 `insert` `update` `delete` `select`MethodSignature一个内部类 封装了`方法`的`参数信息` `返回类型`信息等execute执行convertArgsToSqlCommandParam解析...
2019-03-29 18:16:47
6133
原创 mybatis核心组件之MapperAnnotationBuilder
mybatis核心组件之MapperAnnotationBuilderMapperAnnotationBuilder构造函数parse解析xml与注解loadXmlResource()解析映射接口对应的xml文件设置二级缓存parseStatement遍历解析映射接口的方法获取方法入参类型获取自定义SQL的解析方式获取注解上sql对象获取@Options注解设置主键自增长设置返回的结果集构建Map...
2019-03-29 14:53:17
2971
2
原创 mybatis与spring的整合之MapperFactoryBean
mybatis与spring的整合以及源码分析MyBatis-Spring官网xml配置应用SqlSessionFactory属性注入数据映射器接口类MapperFactoryBean属性注入调用 MyBatis 数据方法源码分析MapperFactoryBean初始化注册SqlSessionSqlSessionFactoryBean.getObject()返回SqlSessionFactorys...
2019-03-25 16:35:57
7711
1
原创 spring加载流程refresh之finishBeanFactoryInitialization(beanFactory)
实例化所有BeanAbstractApplicationContext.finishBeanFactoryInitialization()判断是否有bdName为conversionService的bd(实现ConversionService接口)判断是否有LoadTimeWeaverAware类型的bdDefaultListableBeanFactory.preInstantiateSingle...
2019-03-24 19:19:05
2200
2
原创 spring加载流程refresh之registerListeners()
注册监听器registerListeners通过addApplicationListener(listen)注册监听器自定义实现ApplicationListen接口的bd发布早期的监听器缘起: 继注册了发布事件的bd后spring加载流程refresh之initApplicationEventMulticaster(),继续注册监听器registerListeners/** * 注册监听...
2019-03-21 22:17:39
2557
1
原创 spring加载流程refresh之onRefresh()
onRefresh/** * 这个方法在当前版本没有实现 * 可能在spring后面的版本会去扩展 */onRefresh();是个空壳方法,在AnnotationApplicationContex上下文中没有实现,可能在spring后面的版本会去扩展。看截图可知,与Web上下文有关...
2019-03-21 21:51:05
4631
原创 spring加载流程refresh之initApplicationEventMulticaster()
初始化事件监听多路广播器初始化事件监听多路广播器注册SimpleApplicationEventMulticaster初始化事件监听多路广播器/** * 初始化事件监听多路广播器 */initApplicationEventMulticaster();注册SimpleApplicationEventMulticaster内容非常简单,先判断有没有自定义的ApplicationEve...
2019-03-21 21:30:37
2694
原创 spring加载流程refresh之registerBeanPostProcessors(beanFactory)
spring加载流程之注册BeanPostProcessor注册BeanPostProcessor缘起: 继spring执行了BeanFactoryPostProcessor后spring加载流程refresh之invokeBeanFactoryPostProcessors(beanFactory),接下来就是注册BeanPostProcessor注册BeanPostProcessor/**...
2019-03-21 19:47:23
2054
4
原创 对象转为xml工具类
对象转为xml工具类添加单个子节点如果子节点是一个List或Map或Bean等例子Document doc = DocumentHelper.createDocument();Element context= doc.addElement("context");添加单个子节点context.addElement("pagesize").setText("10");如果子节点是一个Li...
2019-03-19 19:07:30
631
原创 zookeeper事件监听源码分析
zookeeper客户端之处理事件Watcher监听MyWatcher客户端启动时的监听器ClientCnxnSocketNIO.doIO读取连接结果ClientCnxnSocket父类客户端启动时发布的事件EventThread处理事件Watcher监听先看下客户端启动,默认实现了一个监听器在连接的时候,实现了zookeeper自定义的监听器MyWatcherprotected voi...
2019-03-17 15:24:44
1188
原创 zookeeper服务端源码深入分析
zookeeper服务端源码深入分析从启动脚本寻找入口QuorumPeerMain入口ZooKeeperServerMaininitializeAndRun单机模式初始化配置信息并运行runFromConfig根据配置信息运行服务器NIOServerCnxnFactory服务端socketconfigurestartupstart()启动线程NIOServerCnxnFactory的Threadz...
2019-03-16 14:47:51
1481
原创 zookeeper客户端源码深入分析
zookeeper客户端源码深入分析从启动脚本寻找入口ZooKeeperMain入口从启动脚本寻找入口不管是zkCli.cmd还是zkCli.sh脚本,都有org.apache.zookeeper.ZooKeeperMain例如zkCli.cmd脚本文件setlocalcall &amp;amp;quot;%~dp0zkEnv.cmd&amp;amp;quot;set ZOOMAIN=org.apache.zookeeper.ZooK...
2019-03-14 23:15:52
1226
原创 zookeeper的三个客户端框架
原生ZooKeeper原生ZooKeeper的watcher只能用一次public class ZookeeperClientTest { public static void main(String[] args) throws IOException { // 默认的watcher ZooKeeper client = new ZooKeeper(...
2019-03-14 15:33:35
1254
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人