- 博客(17)
- 资源 (14)
- 收藏
- 关注
原创 0121 spring-boot-redis的使用
redis是什么呢?redis,属于NoSQL的一种,在互联网时代,起到加速系统的作用。redis是一种内存数据库,支持7种数据类型的存储,性能1S 10w次读写;redis提供的简单的事务保证了高并发场景下数的一致性。redis在2.6版本之后增加了lua支持,命令是原子性的;本篇文章主要基于springboot的redis-starter。HELLO, 性能利器Redis....
2020-01-21 19:19:19 1009
原创 0120 springboot集成Mybatis和代码生成器
在日常开发中,数据持久技术使用的架子使用频率最高的有3个,即spring-jdbc , spring-jpa, spring-mybatis.详情可以看我之前的一篇文章spring操作数据库的3个架子.spring-jdbc封装的比较少,需要在代码中拼接sql,不太适合大规模的企业级别的开发。spring-jpa封装略多,适合开发后台管理类的系统,可以减少大量重复工作。但是在当下的互联网大环...
2020-01-20 17:27:47 917
原创 0116 spring的webFlux
背景场景要求编程方法电商和金融行业数据一致性要求非常高高并发的时候需要锁或者其它机制来保证一些重要数据的一致性;但是性能也下降的很快;游戏,新闻,视频,广告不需要很高的数据一致性对并发数和响应速度要求比较高这种场景下,出现了响应式编程。依赖的基础技术点如下:技术点说明servlet3.1支持响应式编程java8语法丰富支持响应...
2020-01-16 10:37:56 889
原创 0115 springboot template方式操作mongodb
前言redis性能基准是10w次读写/秒;但是不适用于下面的场景:需要缓存,但是经常需要统计,分析和查询。这种场景适合使用Mongodb;他是最接近关系数据库的NOSQL;mongodb介绍:::infoC 语言编写,基于分布式文件存储的开源数据库系统,在负载高的时候,可以添加更多的节点,保证服务器性能。可扩展高性能的数据存储方案。mongodb把数据存储为一个文档,数据...
2020-01-15 16:26:32 994
原创 0104 代码方式动态刷新logback日志配置
0104 代码方式刷新logback日志配置背景日志是一个系统或者说一个产品技术架构中重要组成部分。常见的日志框架如下:日志框架说明跟slf4j集成所需依赖slf4j日志门面,具体实现由程序决定jclcommons-loggingjcl-over-slf4jjuljdk-loggingslf4j-apijul-to-slf4jslf4j-jd...
2020-01-14 19:53:12 1326
原创 0113 spring定时任务和异步线程池
0113 spring的异步方法和定时任务背景spring的内容比较多,常规的知识必须进行系统化的学习,但是一些边缘的技术点,在实际工作中也是非常适用的;下面一一介绍和实践一次。异步线程池场景:下发任务跟执行任务分开。比如我需要做一个数据统计。场景常规做法改进做法计算每天的统计数据,比如日新增,日活跃,日留存等实时计算,计算和获取结果在同一个线程里完...
2020-01-13 14:09:24 701
原创 0109 springboot的部署测试监控
springboot的部署测试监控部署基于maven打包JAR打包方式一般采用的jar包,使用springboot的默认方式即可;使用maven命令:mvn clean package -Dmaven.test.skip=true执行成功之后,可以在对应的target目录下找到对应的包,比如: eg-zuul-0.0.1-SNAPSHOT.jarWAR...
2020-01-12 22:10:30 155
原创 ej3-1优先使用静态工厂方法而非构造函数来创建对象
背景 很早之前就已经自己翻译了,先简单的贴出来,并做一下回顾。 条款1 优先使用静态工厂方法而非构造函数来创建对象允许客户端创建一个实例的传统方法是:提供一个公共构造函数;有另外一个必须成为每个程序员的编程技巧:优先使用类提供的只简单返回实例的公共静态工厂方法来创建对象。这有一个简单的Boolean类的例子:这个方法转换一个原生的boolean类型的值为一个Boolea...
2020-01-09 14:31:15 901
原创 0108 spring的申明式事务
背景互联网的金融和电商行业,最关注数据库事务。业务核心说明金融行业-金融产品金额不允许发生错误电商行业-商品交易金额,商品库存不允许发生错误面临的难点:高并发下保证: 数据一致性,高性能;spring对事物的处理:采用AOP技术提供事务支持,申明式事务,去除了代码中重复的try-catch-finally代码;两个场景的解决方案:...
2020-01-08 19:51:55 838
原创 0107 spring操作数据库的3个架子
背景数据库开发是java的核心内容之一,基础就是jdbc了;然而直接使用jdbc,需要写大量的try-catch-finally模板代码;管理系统使用hibernate作为orm框架比较方便,遵循jpa规范;互联网时代使用Mybatis,因为灵活,方便进行sql优化;此外spring也提供了jdbcTemplate的访问数据库的模式,不过没有被大量的企业使用;使用这些ORM框架之前,...
2020-01-07 18:38:29 898
原创 0106 springMVC REST风格
markdown xx笔记语法练习带快捷键的加粗 快捷键 cmd b斜体 cmd i分割线 cmd u 编号列表: cmd shift o无编号列表 cmd shift u待办事项 cmd shift T代码块 cmd shift P编号列表项目1编号项目列表2无编号列表项目1;无编号列表项目2;[ ] 待办事项1[ ] 待办事项2...
2020-01-06 18:37:45 872
原创 0105 springMVC开发基础
背景已经明确了MVC的思想和SpringMVC的基本流程,下面就都具体的mvc开发细节知识了。@RequestMappingspringMVC核心流程中,启动阶段会把注解@RequeestMapping注解所配置的内容保存到HandlerMapping中,然后等待请求到达。看一下源码:简单分一下类:方法说明name,value,path标识控制器方法的访问...
2020-01-05 21:48:13 892
原创 0104 gradle入门
背景gradle的官网是 www.gradle.org,标题介绍是: accelerate developer productivity,翻译过来:提高开发者的生产率;简要介绍:从手机app到微服务,从小的创业公司到大型企业,gradle帮助团队构建,自动化,交付更好更快的软件。三大特征Build Anything(构建一切)你可以选择使用Java,C ,Python语...
2020-01-04 17:39:36 918
原创 面试-PA和XSYX面试小结
XSYX1.自我介绍2. 最近一个项目的业务和技术栈3. 分布式锁解决库存问题4. spring的IOC和AOP讲解5. 类加载器层级6.线程池核心参数和问题7. 期待的团队是怎样的?8.反向提问(对docker和k8s的应用以及技术栈的升级的态度和规划)PA1. 自我介绍我是x,y年毕业于z大学a专业,现在已经工作了b年,先后在c,d,e等领域做研发...
2020-01-03 19:29:16 1003
原创 0103-springmvc的基本流程
背景现在的it研发,已经从管理系统时代迈入了互联网系统时代。页面开发已经从基于JSP struts转变为为前后端分离的方式(springMVC JS);思想MVCmvc框架不仅适用于java的开发,也适用于其他系统的开发,也包括前端,它的巨大成功在于它的理念。核心流程和组件如下:springMVC基本流程springMVC的核心是DispatherSe...
2020-01-03 19:17:15 954
原创 0102-aop
背景aop的概念很多,比如切点,通知,连接点,引入,织入等;实际上这是一种约定的流程;约定编程https://github.com/carterbrother/springbootpractice/tree/master/demo-aopaop编程也是按照一定规则,按照一定 流程来约定编程的;典型场景数据库事物提取固定 流程,把变化的部分织入到流程中即可;...
2020-01-02 11:35:24 308
原创 0101-ioc
背景ioc是spring的基础,即控制反转。springboot基于注解使用ioc.iocspring称所有被管理的对象为bean,spring ioc主要通过描述的方式完成3类bean的管理工作:基本功能说明发布对象包扫描业务bean,javaConfig或者xml的方式配置第三方bean获取对象BeanFactory或者ApplicationCo...
2020-01-01 23:20:03 842
数据库课程设计-旅馆管理系统
2010-09-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人