那些年那些神码
摘要:首先说明一下什么是神码?神码就是神奇代码的意思(也是糟糕的意思),在这里是为了表达引以为戒! 往事不堪回首!想当年(2017年)公司技术团队新组建,系统新搭建。为了赶工期,一切以快速为目标,快速试错,快速交付上线。项目管理规范被忽视和技术规范管控没有及时跟上,工程师们交付的代码质量非常的糟糕。产生了
阅读全文
posted @
2023-03-24 23:50
陈国利
阅读(1153)
推荐(3) 编辑
高并发环境下生成序列编码重复问题分析
摘要:一、背景 有个业务系统(订单系统),通过后台日志和监控观察,系统偶尔会出现重复唯一索引问题,例如:后台日志片段 Duplicate entry 'service_no' for key 'idx_service_no' .... 也就是说写入数据与数据库已有数据发生重复。 下面我们分析一下问题出现在
阅读全文
posted @
2023-03-13 23:41
陈国利
阅读(1156)
推荐(2) 编辑
微信小程序抢红包高并发设计
摘要:1、背景 某次促销活动采用微信炒群,红包雨的方式进行引流,面向广大C端用户,活动期间面向大规模用户,系统设计需要承载三高(高可用、高并发、高性能)要求。 系统设计首先我们要考虑几个问题: 1、业务场景面向高并发,怎么设计一个高性能抢红包程序以解决在高并发条件下能正常运行? 2、系统高并发瓶颈会出现在
阅读全文
posted @
2023-03-06 15:06
陈国利
阅读(1985)
推荐(5) 编辑
java项目自动化单元测试
摘要:对于我们开发人员来说,单元测试一定不会陌生,但在各种原因下会被忽视,尤其是在我接触到的项目中,提测阶段发现各种各样的问题,我觉得有必要聊一下单元测试。 为了写而写的单元测试没什么价值,但一个好的单元测试带来的收益是非常客观的。问题是怎么去写好单元测试?怎么去驱动写好单元测试? 一 现状 现状一:多个
阅读全文
posted @
2023-03-04 20:34
陈国利
阅读(1916)
推荐(0) 编辑
深入理解ThreadLocal
摘要:在java的多线程模块中,ThreadLocal是经常被提问到的一个知识点 ,因此只有理解透彻了,不管怎么问,都能游刃有余。 本文主要从以下几个角度来分析理解 ThreadLocal是什么 ThreadLocal怎么用 ThreadLocal源码分析 ThreadLocal内存泄漏问题 PS:以下源
阅读全文
posted @
2023-03-04 19:15
陈国利
阅读(72)
推荐(0) 编辑
使用JSON Web Token设计单点登录系统
摘要:所谓用户认证(Authentication),就是让用户登录,并且在接下来的一段时间内让用户访问网站时可以使用其账户,而不需要再次登录的机制。
阅读全文
posted @
2017-12-04 16:06
陈国利
阅读(2465)
推荐(0) 编辑
Findbugs插件安装与使用
摘要:FindBugs 是由马里兰大学提供的一款开源 Java静态代码分析工具。FindBugs通过检查类文件或 JAR文件,将字节码与一组缺陷模式进行对比从而发现代码缺陷,完成静态代码分析。FindBugs既提供可视化 UI 界面,同时也可以作为 Eclipse插件使用。文本将主要使用将 FindBugs作为 Eclipse插件。在安装成功后会在 eclipse中增加 FindBugs perspective,用户可以对指定 Java类或 JAR文件运行FindBugs,此时 FindBugs会遍历指定文件,进行静态代码分析。
阅读全文
posted @
2017-12-02 16:23
陈国利
阅读(8781)
推荐(0) 编辑
java学习笔记记录
摘要:java学习笔记记录,内存模型,GC,多线程关键词
阅读全文
posted @
2017-12-02 15:46
陈国利
阅读(231)
推荐(0) 编辑
Freemarker代码生成器原理说明
摘要:FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。
阅读全文
posted @
2017-12-02 15:28
陈国利
阅读(2501)
推荐(0) 编辑
认识单点登录cas
摘要:么是单点登录?单点登录全称Single Sign On(以下简称SSO),是指在多系统应用群中登录一个系统,便可在其他所有系统中得到授权而无需再次登录,包括单点登录与单点注销两部分
阅读全文
posted @
2017-12-02 15:08
陈国利
阅读(187)
推荐(0) 编辑
持续集成工具Jenkins安装、部署、使用
摘要:本文介绍jenkins,利用其做项目发布与持续集成交付工具。
一、Jenkins是什么?
Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。
3、省去项目不必要的繁琐重复的发布工作。
阅读全文
posted @
2017-12-02 14:22
陈国利
阅读(426)
推荐(0) 编辑
java规范之checkstyle
摘要:随着中心的代码规范的建立和实施,项目组对代码规范要求,以及软件工程师们对自身代码的编写规范重要性的认知,“代码规范”已经成为了中心的一个“热词”。然后怎么才能写出有规范的代码,怎么才能养成编码规范习惯?相信很多人都知道Checkstyle这个编码规范工具,本文讲述了Checkstyle在eclipse中的安装过程,以及使用方法。希望通过本文,让大家能简单快速的掌握Checkstyle。
阅读全文
posted @
2017-12-02 14:17
陈国利
阅读(574)
推荐(0) 编辑
Java 9 中的 9 个新特性
摘要:Java 8 发布三年多之后,java9已经发布了 。 你可能已经听说过 Java 9 的模块系统,但是这个新版本还有许多其它的更新。 这里有九个令人兴奋的新功能将与 Java 9 一起发布。
阅读全文
posted @
2017-11-30 18:07
陈国利
阅读(554)
推荐(0) 编辑
Tomcat8利用Redis配置Session共享
摘要:同一个应用在运行多个tomcat实例的时候,经常需要共享Session。tomcat配置共享session有多种方式
1、利用tomcat自身集群特性进行配置;
2、利用Memcache第三方缓存进行配置;
3、利用Redis第三方缓存进行配置;
阅读全文
posted @
2017-11-29 14:59
陈国利
阅读(15280)
推荐(0) 编辑