上一页 1 2 3 4 5 6 7 8 9 ··· 12 下一页
摘要: 世界上不存在永远不出错的程序。可靠的程序必须处理好意外情况。java的异常处理机制降低了编写可靠程序的门槛。当系统运行变慢,排查发生最频繁的Excetion可以作为一种调优手段。那么: Exception和Error有什么区别? 我是李福春,我在准备面试。通过本篇,你可以学到下图的知识点。 Java 阅读全文
posted @ 2020-03-24 14:01 李福春 阅读(931) 评论(0) 推荐(0)
摘要: 我是李福春,我为面试做准备。今天回答第一个问题。 java平台简要介绍?java是解释执行的吗? java平台 java平台基于jvm具备write once,run everywhere的跨平台能力;具备自动垃圾回收;具有无所不能的生态圈,比如spring,大数据,搜索,maven等; java语 阅读全文
posted @ 2020-03-24 11:14 李福春 阅读(418) 评论(0) 推荐(0)
摘要: 中台如何交付呢? 首先得立项,然后是建立组织,确定研发流程,然后是规划长期的运营机制和中台的治理和演进机制。 我是李福春,今天我们来研究一下如何进行中台的交付。你可以学到如下图的知识点。 立项 项目要交付,前提是立项,立项的基础是输出设计。 中台的设计前面已经详细梳理过了:即通过业务梳理识别出了中台 阅读全文
posted @ 2020-03-24 10:23 李福春 阅读(714) 评论(0) 推荐(0)
摘要: 我们为什么要使用数据库的事务呢?使用事务有什么缺点呢? 使用原因:保持数据的匹配和一致性。缺点: 并发操作中过度使用事务影响性能,因为事务用到了锁技术。 我是李福春,今天我们来复习一下事务的特性。你可以收获下图中的知识点。 下面我们发散一下。 事务特性 原子性: 要么全部成功要么全部失败一致性: 保 阅读全文
posted @ 2020-03-24 08:49 李福春 阅读(356) 评论(0) 推荐(0)
摘要: 承接上文 通过discovery和define完成了第一轮企业级别的发散和收敛。 即:站在企业的高度,基于企业愿景和内外部环境,通过战略分解和现状调研,应用企业架构的方法确定了最终的平台型企业架构,并确定了需要哪些中台,以及建设先后的问题。 中台的设计阶段:进行第二轮的发散和收敛,站在一个中台产品的 阅读全文
posted @ 2020-03-23 21:48 李福春 阅读(1566) 评论(1) 推荐(0)
摘要: 并发是一个难题,但是可以通过使用强力简单的抽象来显著的简化,为了简化问题,guava扩展了Future接口,即 ListenableFuture (可以监听的Future)。我强烈建议你在你的所有代码里使用ListenableFuture去替代Future,原因如下: 很多的Futures 类的方法 阅读全文
posted @ 2020-03-19 13:53 李福春 阅读(1217) 评论(0) 推荐(0)
摘要: 背景 java程序员一般写的是后端服务是JavaWeb类型的项目,主要包括Http接口和dubbo接口,Http接口一般采用的rest风格,那么如何快速的对rest接口在第三方的测试框架上进行测试呢? rest assured框架是一个不错的工具。好比军人的三棱军刺,如上图。 使用之前,需要熟悉一下 阅读全文
posted @ 2020-03-13 00:09 李福春 阅读(483) 评论(0) 推荐(1)
摘要: 程序开发技术学习方法论 软件研发行业,新技术的出现日新月异,如何高效的学习,保持技术先进性?基于第一性原理:即 抓住事物的本质特征,按照事物本身的规律去推导,演绎事物在各种场景下的变化规律,东西技术在业务场景中的表现。物理学,几何学,马斯克等推崇第一性原理。软件研发学习方法:建立自己的技术思维体系, 阅读全文
posted @ 2020-03-09 23:06 李福春 阅读(536) 评论(0) 推荐(1)
摘要: 故事开始。 小李是一个一线的java程序员,做软件开发多年,有一天,被邀请去参加一个大厂的面试,面试前他做了各种准备,有软件原理方面的,软件设计方面的,还有软件架构方面的知识。并不断总结提炼成了一张知识图谱。想着即使不成功,也是一次不错的技术交流,至少可以知道目前大厂需要的程序员具备的技能深度和广度 阅读全文
posted @ 2020-03-05 23:26 李福春 阅读(1211) 评论(0) 推荐(2)
摘要: 我的潘多拉 从一个故事说起。从前,有个Java程序员非常喜欢写程序,喜欢研究源码,读英文文档。但是它在一家小公司里工作,公司的技术栈很陈旧。 单个系统代码中含有很多的xml配置,配置各种中间件的入口适配器,而不同的业务系统中都是类似的配置。启动单个系统很慢。启动依赖web组件,无法快速部署。公共组件 阅读全文
posted @ 2020-03-03 09:29 李福春 阅读(561) 评论(1) 推荐(1)
摘要: 背景 为了更方便的书写和阐述问题,文章中按照第一人称的角度书写。作为一个以java为主要开发语言的工程师,我所描述的都是java相关的编码和设计。 工程师的静态输出就是代码和文档,动态的就是各种应用程序(app,h5站点,微信公众号,小程序)。动态的先不讨论,主要讨论静态的。 随意查看一个代码库,可 阅读全文
posted @ 2020-02-27 12:04 李福春 阅读(465) 评论(0) 推荐(2)
摘要: 场景的变化 | 场景 | 特点 | 变化点 | | | | | | 老 | 复杂的业务逻辑 | | | 新 | 大量用户高并发访问 | 软件开发方法,过程管理,组织架构变化 | 垂直伸缩 提高服务器的硬件配置来支撑; 两个问题: 1. 物理服务器的硬件性能上限; 1. 投入的成本跟性能提升不成线性关 阅读全文
posted @ 2020-02-24 18:53 李福春 阅读(492) 评论(0) 推荐(1)
摘要: 背景 最近团队中把只会做功能测试的测试岗位去掉了,那么软件质量的保证就落到了开发人员和产品人员的工作职责中了,不说这完全是一件坏事,这为开发岗位提出了更高的要求。 为了适应团队的变化,找了一门小课程补充了一下关于接口测试的知识和思维。本文是学习完毕之后的一个小结。 当成是学完之后的一个收货的输出,希 阅读全文
posted @ 2020-02-23 12:57 李福春 阅读(323) 评论(0) 推荐(0)
摘要: 拦截器 拦截器分同步拦截器和异步拦截器; HandlerInterceptor 方法和执行时机 可以看DispathcerServlet的原来确定它的三个方法的执行时机; AsynHandlerInterceptor 看注释,主要用来清理在并发环境加清理ThreadLocal的数据; Respons 阅读全文
posted @ 2020-02-19 23:43 李福春 阅读(656) 评论(0) 推荐(0)
摘要: 需求 maven依赖 打印sql 配置要点: 1. 驱动配置 application.properties 2. psy配置 aop打印持久层执行时间 使用aop实现; 启用aop注解: 小结 来个效果截图: 通过本片文章,你可以学会: 1. 给代码添加aop切面,增加日志或者打印出方法执行总耗时; 阅读全文
posted @ 2020-02-16 23:25 李福春 阅读(515) 评论(0) 推荐(0)
摘要: docker的下载安装和基本使用 我使用的mac,直接安装 "desktop" 。 然后命令行使用docker,关于desktop的使用,可以看 "官方文档" 。 安装好之后,确认一下是否可以运行,输入docker version指令试试。 docker的基本指令 docker info : 查看d 阅读全文
posted @ 2020-02-16 13:04 李福春 阅读(225) 评论(0) 推荐(0)
摘要: 背景 程序员的任务是写代码【软件】,代码【软件】本身无价值,代码【软件】运行起来才能实现价值。 运行 以java程序为例: 首先把代码通过编译器编译成可执行代码。 运行过程:冯洛伊曼模型 1. 操作系统从磁盘中加载 程序(代码)到内存,程序变成了进程; 2. 操作系统调度cpu给到进程,完成计算任务 阅读全文
posted @ 2020-02-07 12:23 李福春 阅读(328) 评论(0) 推荐(0)
摘要: 原理 项目的数据库字典表是一个很重要的文档。通过此文档可以清晰的了解数据表结构及开发者的设计意图。 通常为了方便我都是直接在数据库中建表,然后通过工具导出数据字典。 在Mysql数据库中有一个information_schema库,它提供了访问数据库元数据的方式。 什么是元数据呢?就是关于数据的数据 阅读全文
posted @ 2020-02-03 23:20 李福春 阅读(721) 评论(0) 推荐(0)
摘要: redis是什么呢? redis,属于NoSQL的一种,在互联网时代,起到加速系统的作用。 redis是一种内存数据库,支持7种数据类型的存储,性能1S 10w次读写; redis提供的简单的事务保证了高并发场景下数的一致性。 redis在2.6版本之后增加了lua支持,命令是原子性的; 本篇文章主 阅读全文
posted @ 2020-01-21 19:19 李福春 阅读(559) 评论(0) 推荐(0)
摘要: 在日常开发中,数据持久技术使用的架子使用频率最高的有3个,即spring jdbc , spring jpa, spring mybatis.详情可以看我之前的一篇文章 "spring操作数据库的3个架子" . spring jdbc封装的比较少,需要在代码中拼接sql,不太适合大规模的企业级别的开 阅读全文
posted @ 2020-01-20 18:31 李福春 阅读(482) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 ··· 12 下一页