
◆java 学习
文章平均质量分 81
既过不念,未来不继
我所有的你,都只有一个你;我所有的我,都只有一个我。
展开
-
解决Long类型到web端失精度引发的API接口空响应
文章目录事故代码触发的问题点解决空响应事故代码@Configurationpublic class LongToStringJsonConfig extends WebMvcConfigurationSupport { public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { MappingJackson2HttpMessageConverter原创 2020-12-09 16:52:23 · 1488 阅读 · 0 评论 -
Long类型转String,以及下划线和驼峰互转
文章目录背景单纯的Long转String驼峰和下划线的互转请求参数穿插了驼峰返回参数里添加驼峰背景新团队里有一个项目,关于出参和入参端规定是:端上传过来端是下划线标记,如:user_name,后端在Controller层用Query对象接收,然后Controller调用Service,需要将Query转成AO,所有VO出参也须转成下划线格式。我习惯于用驼峰命名,问了问小伙伴,他们有的通过get和set互换,有的通过注解实现。我自己捣鼓了一下,嘿嘿,统一配置实现了。 记录一下,万一以后用到了,可以抄自原创 2020-12-09 14:04:14 · 1328 阅读 · 0 评论 -
锁的实现原理—3,Synchronized实现理解
文章目录java语言、Java虚拟机规范—官方文档Synchronized概述:用法、作用对象锁代码测试Java 代码编译代码测试结果分析为何如此实现的猜测类锁代码测试Java代码编译代码测试结果分析为何如此实现的猜测优缺点优点缺点java语言、Java虚拟机规范—官方文档https://docs.oracle.com/javase/specs/index.html如果我英文词汇量多年没增,那一定是我没有学技术。如果我学技术了,那就不要say hello。Synchronized概述:用法、作用原创 2020-11-02 19:58:08 · 994 阅读 · 8 评论 -
矩阵(二维数组)的基本操作:加减乘+从内至外/从外至内的顺/逆时针遍历
文章目录常规唠嗑矩阵的基本遍历矩阵转置矩阵相加减矩阵相乘矩阵的顺时针遍历-从外至内矩阵的逆时针遍历-从外至内矩阵的顺时针遍历-从内至外常规唠嗑就一个问题:二维数组是矩阵,这有错吗?感慨一下:程序媛和男妇产科医生,好像都挺惨的。我突然知道一个之前的一个业务怎么做更好了。小班同学上课,应该怎么给老师排课?这里边其实有2个固定的轴,一个是周一至周日7天,一个是0-24点24个钟头。把一个老师所有的空余时间排成一个724矩阵A,再把同学们的上课时间要求排成一个724矩阵B,然后两个矩阵相加或者相减,就能得原创 2020-10-31 18:09:56 · 2881 阅读 · 0 评论 -
锁的实现原理—2,进程、线程是一样的吗?
文章目录问题来源-------------下边的内容周末找时间补--------------计算机系统结构操作系统中的进程、线程应用程序中的进程、线程进程、线程的相同点进程、线程的不同点作业、任务、进程、线程、协程几个没论证出来的问题问题来源最近,我作法召唤了一下技术博主上线。说是技术博主,也着实是往自己脸上贴金了。哇塞,功力不够,召唤出来一个技术学酥,呵呵,只要我不掉渣,谁都不能说我是学渣。上一篇说到锁,那其实如果没有人去竞争,简单说来如果只有一个进程,一个线程,是不需要锁的,对吧? 既然说到进程、原创 2020-10-30 17:04:58 · 1087 阅读 · 0 评论 -
锁的实现原理—1,为什么会有锁?
文章目录问题来源什么叫锁为什么会有锁私有制和公有制资源的稀缺和充足保证隐私僧多肉少为什么会有锁都有什么样的锁讲不讲素质要不要排队—公平锁和非公平锁虽然很多人排队,但里边未必没有坑位—乐观锁和悲观锁进了大门,能不能直接进入具体坑位—可重入锁和不可重入锁一个坑位只能蹲一个人,那坑位外边的洗手区呢—共享锁和排他锁要不要一直排队等,还是先去旁边抽根烟—自旋锁和适应性自旋锁有没有开不了的锁那些被忽略的锁final关键字volatile关键字public、private、protected神图:公厕示意图问题来源原创 2020-10-30 16:33:11 · 3522 阅读 · 2 评论 -
开启3个线程循环打印10遍ABC-何氏硬刚版+网红版
文章目录面试题目+吐槽何氏硬刚版思路代码网红版思路代码面试题目+吐槽我是不知道为什么这个东西一直在面试编码题中吃香,真的。不过真说起来,也没啥好吐槽的,人为刀俎我为鱼肉,你去面试,就得按照别人的评审标准来。你要不乐意,谁也没逼着你。那句经典的台词“咱们今天的面试就到这里吧”,从来都不只是面试官可以说的。我最大的槽点是,我知道一个题有最佳解法,但也不能忽视别人的劳动成果呀。实不相瞒,我刚离职的这家公司,我当初去面试有一个编码题就是交替顺序打印10遍ABC,我那时候就没写出来。PS:为啥最后还入职了,可原创 2020-10-28 18:39:02 · 1324 阅读 · 9 评论 -
2017年4月份工作总结:要在贫瘠的土壤里,种出一朵花来
一、总体概况说是4月份,但我还是从我正式进入新项目开始说吧。进入项目之前,我有两天生不如死的考核期,那两天,简直毁三观了。以致于,改变了我现在编码的习惯和学习引用别人代码的习惯。三月份的总体情况(去除无任何业务涉及的两天技术考核期,三月份一共工作了6天)具体情况:半天了解系统业务需求,半天熟悉框架代码,然后开始写功能!到三月底的时候,我是完成了5个页面的设计和查询(实在无力吐槽原创 2017-05-01 13:21:11 · 1135 阅读 · 11 评论 -
API生命周期第二阶段——设计:如何设计API(基于swagger进行说明)
一、题外话在新的项目中,推行了swagger用于对API的设计。以期待解决我们上篇博客中说到了一些现象,提升工作效率。那么,结合到当时和全项目组成员做培训,以及后续的给主要应用者做培训,以及当初自己接触到swagger的时候,我简单总结一下如何设计一个说“人”话的API(主要指rest API)。备注:哈哈,又托大了哈。就在我决定写这篇文章的时候,我特意到百度搜了一下“如何设计API”,额原创 2017-08-13 08:56:16 · 787 阅读 · 2 评论 -
API经济时代的思考(转载目的:为之后写API-first模式的生命周期治理做准备)
原文地址:API经济时代的思考 感觉这篇博客还不错,个人赞同其大部分的内容,借鉴参考一下,懒得自己写了(关键是不一定能轻松写得更好,嘿嘿,偷懒啦)接下来会写关于API经济的概念下,如何进行API开发、生命周期监控、治理等等内容摘要: API经济已经成为各行业中驱动—数字化、信息化变革的主要力量,通过API可以该整企业合内外资源,同合作伙伴相互弥补服务场景,发展新的业务以满足市转载 2017-08-05 21:51:35 · 1397 阅读 · 3 评论 -
API生命周期第三阶段:API实施:使用swagger codegen生成可部署工程,择取一个作为mock service
在分享培训了swagger对于API的设计之后,有一些人问我说:你看,现在咱们前端使用web_API做为mock data在进行测试,后端也有mock 测试。然后我们再进行联调,这之中肯定会出现一些偏差。有没有一种方案是:前端不用写mock数据测试,从一开始,就由后端提供一个在线运行的服务,以此减少后期联调的工作量! 答案是:可以!当然,在最开始,由于我近期在做API网关的一些工作原创 2017-08-21 17:56:11 · 5691 阅读 · 6 评论 -
API生命周期第三阶段:API实施模式,以及结合swagger和项目现状的最佳模式
这篇博客,主要是宏观介绍一下开发模式,尤其是针对于目前公司前后分离的项目!一、API实施模式概述API实施模式,主要是三个,其中API-First又是作为一种指导思想的一种,所以,简单来说事实实施模式就只有两种。(允许我直接使用我的PPT哈)然后,简单说一下区别:对比这两种模式的区别,就会很明白我前面有篇博客中提到的公司目前前后分离所面临的一系列困惑。原创 2017-08-21 17:00:07 · 766 阅读 · 4 评论 -
API生命周期
API生命周期通常包括八个内容,而安全策略贯穿始终。1,计划准备、语义:如何询问自己的服务?它支持什么字段,哪些字段是可过滤的?如何仅通过过滤和排序获取所需的信息?在不同场景中的JSON响应???等等。架构、风格2,设计规范、原型、模拟服务在后续的博客中,主要介绍API设计的工具,以及模拟服务测试。主要以swagger为主(现在很多人在项目中继承swagger用于生成A原创 2017-08-07 21:27:22 · 2448 阅读 · 6 评论 -
API生命周期第二阶段——设计:采用swagger进行API描述、设计
本篇博客主要是以swagger为依托,介绍API生命周期的第二个阶段——设计!在详细介绍之前,我必须声明一点:如果是想了解swagger和项目框架的集成的,这里没有。我要介绍的swagger进行的API描述,还处于API设计阶段,没有到第三阶段的实施呢。但如果你想了解各种集成,建议你直接百度,很多实例。一、一些场景1,在开发的过程中,老是有人问你服务的地址。关于服务的调用地址,说了一遍又一原创 2017-08-08 12:52:06 · 1264 阅读 · 10 评论 -
java EE技术体系——CLF平台API开发注意事项(3)——API安全访问控制
前言:提离职了,嗯,这么多年了,真到了提离职的时候,心情真的很复杂。好吧,离职阶段需要把一些项目中的情况说明白讲清楚,这篇博客就简单说一下在平台中对API所做的安全处理(后面讲网关还要说,这里主要讲代码结构)一、宏观概况第一点:系统是按照Security规范,通过实现OAuth2.0协议安全控制。关键词理解:JWT:JWT,JWT 在前后端分离中的应用与实践规范:Securit原创 2017-09-04 16:28:47 · 1133 阅读 · 4 评论 -
[JFinal 1] JFinal和SSH中使用拦截器的对比
导读:先前在做.NET项目时,拦截的功能主要是依靠缓存session来实现。当需要跳转到某个页面,使用某个功能查询一些数据时,会根据session中的用户值来判断是否已经正常登录,如果没有,则重定向到登录页面。那么,在java里面,是怎样做的呢。本篇博客主要是介绍一些自己在做项目的过程中的一些处理方式。一、SSH框架中的拦截1.1,建立拦截类,添加拦截方法public clas原创 2016-03-05 23:05:04 · 1873 阅读 · 22 评论 -
[JFinal 2] JFinal 开发框架
导读:在这次和大家一起开发的今日开讲后台管理系统中,我们用的是JFinal框架。开始的时候,说是用SSH,心里一阵窃喜,刚刚做了网上商城的项目,对于这个框架还算是接触过了。JFinal却是个新货,心里一阵嘀咕。不顾,接触了之后,再去看,其实都差不多了。本篇博客,就主要介绍一下JFinal这个东西。一、JFinal简介JFinal 是基于 Java 语言的极速 WEB + ORM 框原创 2016-03-15 23:52:29 · 1335 阅读 · 17 评论 -
springmvc始终跳转至首页,不报404错误
一、项目背景近期在做项目的时候,发现了一个怪事。真真的是怪事,就是突然之间,我的项目就出毛病了:每次打开首页之后,所有的链接都跳转到首页,但URL地址又是正确的。然而,当设置断点调试的时候,它是进入了后台系统,也就是说springmvc是有作用的,但始终不进入到目标地址所对应的controller方法。愁死了。。。。二、解决过程2.1,检查相应的controller方法为什么会检原创 2017-03-04 14:02:24 · 2670 阅读 · 8 评论 -
【Ts 1】 maven初识
PS:本篇博客,就是对于maven的一个简单的总结,认识。可能更多的是借鉴别人的看法,然后结合自己的使用,再加以说明。首先,什么是maven:Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), M原创 2016-09-11 20:36:38 · 796 阅读 · 7 评论 -
c3p0数据库连接池无法连接数据库—错误使用了username关键字
一、问题描述上篇博客说到了关于maven无法下载依赖jar包的问题,这篇博客再说一下关于在本个项目中遇到的关于使用C3P0连接池连接数据库的问题,真心很奇葩,在此,也请大家引起注意。首先看我的项目基本结构:已确定的情况:相关jar包均已正确下载,路径跳转正常,jdbc所配置的内容,完全正确。相关数据库连接池和spring的整合也都完全正确,但事实就是没法儿连接上!解决了原创 2017-02-25 11:49:02 · 9681 阅读 · 21 评论 -
maven无法下载依赖jar包—几种仓库的区别
一、问题背景最近这两天,感觉自己智商急剧退化,到了自己都捉急的地步,呃,有必要记录下来,以后智商被人甩几条街的时候,看看这篇文字,找找灵感也是好的!这个项目呢,是用IDEA开发的,我一切都弄好了,结果死活运行不起来,pom.xml文件报错,各种不能解析版本,类似于:failed to resolve artifact......我一看,好家伙,maven里面配置的所有依赖,它都不能原创 2017-02-24 20:29:02 · 32908 阅读 · 27 评论 -
【Ts 2】Nginx服务器搭建
在项目中,首先是需要Nginx服务器作为一个图片服务器来使用。那么,久涉及到服务器的搭建。这次服务器的搭建,主要是在三个环境上进行了学习:CentOS6.2,CentOS7,和Ubuntu16。那么本篇博客的使用环境是CentOS6.2.一、基本介绍在CentOS 上安装软件,主要是有以下几种形式:1.1,yumYum采用在线安装的方式安装软件,yum存在一个软件仓库,当我原创 2016-09-11 20:59:43 · 988 阅读 · 9 评论 -
【Ts 4】ftp服务器搭建
一、为什么需要ftp?分布式环境一般都有一个专门的图片服务器存放图片。我们使用虚拟机搭建一个专门的服务器来存放图片。在此服务器上安装一个nginx来提供http服务,安装一个ftp服务器来提供图片上传服务。首先,传统的图片管理方式:分布式图片管理:PS:这两张图片,让我想起来当时做单点登录的时候,将用户信息保存到memcache中去一样。就是想到了而且,没有什么原创 2016-09-11 21:30:49 · 867 阅读 · 7 评论 -
【Ts 5】Httpclient的应用和封装
一、基本概述1.1,什么是HttpclientHttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。这只是简单介绍,详细了解:Httpclient home特别注意:The Commons HttpClient project i原创 2016-11-08 19:59:50 · 847 阅读 · 20 评论 -
【Ts 3】Nginx的Http(图片)服务器配置+ftp上传使用说明
在前两篇博客中提到了搭建Nginx和Ftp服务器,在本篇博客,主要是介绍Nginx的配置文件的使用,怎样修改配置文件使其成为一个图片服务器。一、Nginx图片服务器配置[root@localhost sysconfig]# vi /etc/nginx/nginx.conf 进入到了Nginx的配置文件页面,然后将其修改为(请一定看代码后面的备注说明):user nginx原创 2016-11-25 16:33:30 · 3446 阅读 · 14 评论 -
springboot的使用体验和思考
首先,写这篇博客的背景:1,通过maven使用springboot创建项目,进行了简单的页面跳转,并未编写service和DAL层,也就是说,并未整合持久化框架2,阅读了maven的官方文档、springboot的官方文档 ——英文版相关网址:Welcome to Apache Maven Spring Boot其中,所使用的springboot项目,通过官网进行配原创 2016-11-29 17:37:56 · 4981 阅读 · 21 评论 -
java EE技术体系——CLF平台API开发注意事项(1)——后端开发
前言:这是一篇帮助小伙伴在本次项目中快速进入到java EE开发的一些说明,为了让同组小伙伴们开发的时候,有个清晰点的思路。昨天给大家演示分享了基本概况,但没有留下文字总结说明,预防后期有人再次问我,特写此篇博客!本篇博客的结构主要分为两个部分:第一个是关键执行点,也就是在项目中,每个人都要去做去注意的;第二个是其他注意点,这个部分是一些大家提到的问题原创 2017-08-30 12:19:27 · 847 阅读 · 2 评论 -
java EE技术体系——CLF平台API开发注意事项(2)——后端测试
前言:上篇博客说到了关于开发中的一些情况,这篇博客主要说明一些关于测试的内容。一、宏观说明要求:每一个API都必须经过测试。 备注:如果涉及到服务间调用(如权限和基础数据),而对方服务不可用时,马上索取对方服务API,自行构建mock service(嘿嘿,小伙伴们都懂得,咱家做mock service的速度很快哈)工具:Arquillian 备注:和以往测试原创 2017-08-31 10:37:57 · 1096 阅读 · 7 评论 -
【设计模式 7】从公司的目前框架和API Gateway,谈谈对外观模式的理解
我,第一次用到外观模式,应该是3年多以前。那时候是做一个收费系统,在当时的U层和B层之间,加了一层Facade。当时,在一些复杂的业务逻辑处理时,感受到了加入外观层的好处,但对于一些简单的(我指的是,当时很多facade里面的方法都只是简单的返回了B层的方法执行结果)业务,总感觉是没有必要了。那么,外观模式,究竟可以发挥出多大的威力呢????一、目前的框架后来,在项目的开发中,用到的设计模原创 2017-07-25 10:15:22 · 5627 阅读 · 17 评论 -
为什么需要平衡二叉树?
前言:最近看《计算机科学的基础》以及老大的代码,很需要树结构的相关基本知识内容,在看老大的源码关于BT和RBT的时候,将平衡树和二叉排序树,关联到一起了。简单说明记录一下!一、如何调整失衡树为平衡树呃,如何调整的内容,很多人都总结过了,我就借花献佛,直接引用啦(好吧,我是不会承认我不会,还很懒滴)动画演示平衡二叉树旋转二、为什么要调整我最开始想到这个问题的时候,是在看老大代码的时候,我先看的是BT原创 2018-01-15 22:10:08 · 6345 阅读 · 10 评论 -
数据校验: 数据校验封装历程
导读: 公司的整个架构在调整,然后产品的开发也基本有了一定的模式。 那么,本宝宝,非常有幸,被认命加入到模板制造的队伍中。 整个模板规范的制作,有很多内容,PC端,M站等,这两天,我主要是在做一个通用的数据校验封装。 一、最开始的实现模式 if (StringUtils.isBlank(bo.getRateId())) { return ResponseBzn.buil...原创 2018-02-27 22:04:16 · 1546 阅读 · 3 评论 -
SpringBoot中mock测试controller无法注入service服务
前言: 其实,可以理解为我是占位的,嘿嘿。 话说还是关于校验器, 当时写完校验器后,就想立马测试一番,呃,由于各种原因吧,没办法从页面进入测试,而且也怪麻烦的。当然了, 本宝更不想用postMan, 嗯,就想折腾!一、最开始的代码@WebMvcTest(BabyInsuranceController.class)@RunWith(SpringRunner.class)@ContextConfi...原创 2018-03-14 21:59:19 · 13512 阅读 · 8 评论 -
数据校验:fluent_validator运用过程
前言: 话说写这篇博客已经拖了很久了, 一直没写. 怎么说:懒. 年后回来就没正常过,今儿个怎么想起了写呢? 我能说吃蓝莓吃多了,拉肚子不?上回书说到使用fluent_validator做有关于逻辑的统一校验,但事已至此, 其实最终由于产品形态不一, 还是没能形成一个校验模板. 不过,有关于fluent这个东西,还是可以一说的.一、思想的转变历程我最开始, 是希望用注解做基本的输入校验, ...原创 2018-02-28 23:08:32 · 4671 阅读 · 5 评论 -
excel模板解析—桥接模式:为什么要实现jar包自动加载(纠正之前总结的bug)
导读:我一直以为我把这个Excel解析的总结写完了, 尤其是后来发现自己当时并没有理解老大设计的时候, 以为写了文章纠正了。刚刚看了眼文章, 发现竟然没有,我靠靠。 完全不知道发生了什么,印象中真的写了这么篇文的, 不管了。现在纠正吧。嗯, 今晚肯定不写。 周末写, 之前的理解都错了, 桥接在这里不是我这么用的, 而且我当时一直没想明白实现那个jar包推送加载有啥用,其实就毁在对桥接的应用位置...原创 2018-05-07 21:37:29 · 387 阅读 · 4 评论 -
RFC异常处理方案总结
文章目录基础信息异常表现形式解决思路可行的具体解决方案目前已有方案分析详解方案五详解方案六最终结论基础信息springboot版本:v1.5.8.RELEASETomcat版本:Apache Tomcat/8.5.23查询springboot版内嵌Tomcat版本地址:https://mvnrepository.com/artifact/org.springframework.boot/...原创 2019-07-30 16:26:46 · 2864 阅读 · 0 评论 -
为家庭地位而战的:怎样合并两个map
文章目录背景实现经过代码败局转胜获胜感言背景在最近做课程需求中,有一个小需求的实现,需要从第三方直播平台拉取数据,对某一个学生的数据进行综合统计。 总之,在这里边就涉及到一个小算法:合并两个Map。 其Map的结构是Map<long,Integer>,之所以需要合并,是因为一个用户的综合统计值,存在于多批数据中。也因此,这个骚操作的具体要求就是:合并两个Map,取key的并集最大...原创 2019-09-26 11:37:00 · 556 阅读 · 0 评论 -
9月项目小收获文本记录—fiting
文章目录将数字转换为中文消息发送顺序成长将数字转换为中文最近开发过程中,有一个需求是:在展示课程列表的时候,根据序列号,展示文案为:第一期这种类似效果。PS:其实一直在想为啥不直接展示为:第1期这种的,感觉没啥区别。呵呵,产品视角理解不了。在代码的执行过程中,最开始是出现了:10->一十零;1001->一千零零一;11->十等等类似效果。经调试最终代码为:(PS,仅做记录...原创 2019-10-08 15:24:08 · 429 阅读 · 0 评论 -
手机号码和邮箱等联系地址,为什么不明文显示?
前言:其实在应用各种产品的时候,也有发现过有些手机号码和邮箱地址等,都会有一部分是密文显示。 嗯,其实最明显的就是银行卡了,基本上就没有全部明文显示的。 这两天在做一个需求的时候,刚好也有这样的要求。 之前没有想过为什么,这次简单想了想,记录一下。 一、需求整理其实就是当为手机号:则显示前3位和后3位,其余的以*补齐; 而当是邮箱地址时,显示第一个字符以及@和之后的字符,其余的以*补齐。原创 2018-01-15 21:45:51 · 2377 阅读 · 1 评论 -
Mysql 查询—按位运算
前言:虽说这是件小事儿,但本宝宝思前想后,还是为它留下一笔,嘿嘿。反正写博客不浪费纸和笔!好久没有开启我的逗比模式了,我亲爱的乖徒弟DBA,DBB,DBAA等,好久不见你们,遥祝幸福快乐+DB。整个事情其实使这样的,最近的项目中,有一个表,最终是这样的:一共3位,每一位的取值是1和0(额,后来还有2,哈哈哈),1代表已认证,0代表未认证。 当时为什么这么设计呢,是因为会高频率的出现原创 2017-12-12 22:25:30 · 5986 阅读 · 1 评论 -
为什么要用全文搜索引擎:全文搜索引擎 VS 数据库管理系统
正文一:Full Text Search Engines vs. DBMS 发表于2009年正文二:Elasticsearch — A High-Performance Full-Text Search Engine 发表于2016年不知道大家有没有想过一个问题:数据库服务也支持全文搜索,但我们为什么要用全文搜索引擎! 如果说是全文搜索引擎更快或者性能更好,那为什么呢?我们原创 2017-09-26 15:11:22 · 13481 阅读 · 5 评论