自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (5)
  • 收藏
  • 关注

原创 java知识点

拦截器和过滤器的区别:1.拦截器是基于java的反射机制的,而过滤器是基于函数回调。 2.拦截器不依赖与servlet容器,过滤器依赖与servlet容器。 3.拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。 4.拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。 5.在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时...

2020-08-31 14:22:19 90

原创 sql笔记

in查询优化使用in语句查询,可能会导致页面查询慢,甚至进一步影响java虚拟机内存溢出。可使用 exists语句的方式代替in语句(两者的查询时间复杂度一个是O(1),一个是O(n), in拼接的参数越多时, 查询效率差距越明显)select * from tb_user t where concat(t.user_id, '_', t.username) in ('1_Tom','2_Jerry','3_Nacy');使用exists替换:1.select * from tb_user .

2020-08-31 14:22:06 131

原创 软件帮助及JAVA开发规范

https://www.cnblogs.com/xpybsh/p/12703269.html

2020-08-25 18:01:26 140

原创 Java开发必备技巧

1 调试技巧一般的IDE工具都有以下调试功能,本文以 IntelliJ IDEA 为例1.1 计算表达式以下是实际开发中很容易遇到的一种场景:调试下面的代码时,validate() 返回值为true, 正常的逻辑是进入function1,而我们想要查看的结果是function2的返回值boolean validate = validate();String s = null;if(validate) { s = function1();} else { s = functio

2020-08-25 17:57:54 298

原创 自定义Feign客户端的使用

1 概述Java在进行http调用时, 通常会使用以下几种方式:HttpClientHttpUrlConnectionRestTemplateFeign其中,RestTemplate 和 Feign相对于前面两种调用方式来说明显起来明显更加优雅和方便,也更符合我们的语法习惯。 而RestTemplate 和 Feign的使用各有优缺点,相对Feign而言,RestTemplate 使用更加灵活,有较好的扩展性。而Feign虽然扩展性一般,但在处理一些简单调用时,不管是开发体验,还是可读性以及可

2020-08-25 16:52:50 243

原创 业务代码解耦方案与案例

1 概述在实际开发中, 很多业务类的承担的功能较多较杂,给维护和扩展带来了很大的麻烦。本文通过开发中的实际案例进行讲解,以单一职责为原则,对业务代码进行拆分,达到解耦合的目的。2 案例2.1 案例代码//获取治超案件列表Page<OverrunRecordEntity> caseList = overrunRecordMapper.getCaseList(pageParamDto);if(!caseList.isEmpty()) { final Set<String&g

2020-08-25 16:42:08 480

原创 Mybatis原理

简介Mybatis是一款非常优秀的半自动化持久层框架,主要着力点在于 POJO 与 SQL 之间的映射关系。然后通过映射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定 POJO 。Mybatis技术原理Mybatis的工作内容主要包括以下两个部分:加载配置,构建SqlSessionFactory。使用SqlSessionFactory构建SqlSession,由S...

2020-08-25 16:36:22 223

原创 职业能力测试知识点

宪法具有人民主权原则(国家的一切权力属于人民)、基本人权原则(国家尊重和保障人权)、法治原则(我国实行依法治国)、权力制约原则。1.人民和公民的区别:人民属于政治概念公民数据法律概念国家的一切权利属于人民,先发适用于全体公民。2.此处的人权是生存权和发展权,“国家尊重和保障人权”是2004年宪法修正案中写入的。3.法治和法制的区别:法治是指用法律治理国家,是相对于人治而言的;法制是法律制度;中国古代虽然有法制,但并非法治社会。法制是法治的前提和基础。4.权力和权利的区别:权力主要是指国

2020-08-25 14:42:21 687

原创 Sql优化案例分析

目的本文以多编号查询为例,结合以往sql优化的经验与互联网上主流的观点,从原理层面对其进行批判分析与总结,并通过实际的比对测试进行验证。本文的目的是以案例的形式,提供一种探究分析的思路和方法,在面对截然不同的环境与观点时,能够快速看清本质,给出最优方案。背景使用多个编号作为sql查询条件时,一般的选择是使用in和exists。下面列举一些开发中实际的案例:2016年,由于现场业务数据的增加,本人维护的某个平台(使用oracle数据库)很多模块出现了查询效率慢的问题,而后针对这些模块进行了一系列的.

2020-08-25 10:29:45 228 1

原创 堆空间溢出问题排查

1.案例背景在一次系统测试过程中,测试人员反馈平台业务功能不可用,请求协助排查。我首先查看运管平台-状态监控,检查服务运行情况,发现状态显示服务运行正常,初步判断可能是服务假死造成的,而能造成服务假死的多半是jvm出问题了。查看运管日志,发现异常日志出现Java heap space,即jvm堆内存溢出。本文将介绍一下我的分析思路与处理过程。2.排查思路首先,根据本人目前所掌握的jvm知识与经验,猜测引起内存溢出有以下几种情况:内存中加载的数据量过于庞大,如一次从数据库取出过多数据;集合类中有

2020-06-12 20:56:23 1130

原创 metaspace内存溢出问题

1.案例背景在系统测试过程中,在平稳运行一段时间后,测试人员反馈营运车辆报警与数据服务组件数据服务(cvalarm-data)的业务功能不可用,请求研发协助排查。发现异常后,我首先查看运管平台-状态监控,检查服务运行情况,发现状态显示服务运行正常,初步判断可能是服务假死造成的,而能造成服务假死的多半是jvm出问题了。查看运管日志,发现异常日志出现Java heap space,即jvm堆内存溢出。本文将介绍一下分析思路与处理过程。2.排查思路作为一个java开发,工作或者学习过程中多多少少会了解些j

2020-06-12 20:46:18 2394

原创 组件内存分析

1.背景新体系下服务的内存占用情况逐渐被关注,本文将对组件的内存使用情况做个分析与优化。2.jvm内存区域java服务内存主要分为两大类:堆内存和非堆内存。2.1 堆内存堆内存是我们通常最熟悉的部分,它是存储由应用程序创建的对象的位置。堆空间内存默认分配情况:老年代 : 三分之二的堆空间 新生代 : 三分之一的堆空间 eden区: 8/10 的新生代空间。survivor0 : 1/10 的新生代空间,survivor1 : 1/10 的新生代空间。2.2 非堆内存非堆内存分为几个不同的

2020-06-12 20:20:11 255

原创 tomcat工作流程

cas工作时序图:

2020-06-08 20:15:58 146 1

原创 new一个对象的过程

java在new一个对象的时候,会先查看对象所属的类有没有被加载到内存,如果没有的话,就会先通过类的全限定名来加载。加载并初始化类完成后,再进行对象的创建工作。我们先假设是第一次使用该类,这样的话new一个对象就可以分为两个过程:加载并初始化类和创建对象。一、类加载过程(第一次使用该类)  java是使用双亲委派模型来进行类的加载的,所以在描述类加载过程前,我们先看一下它的工作过程:双亲委托模型的工作过程是:如果一个类加载器(ClassLoader)收到了类加载的请求,它首先不会自己去尝试加载这个类

2020-06-08 20:15:31 746

原创 Redis知识点汇总

Q:什么是redis,有什么特点?A:redis是一款基于C语言编写的key-value类型的内存数据库,很像memcached,整个数据库都加载在内存中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存的操作,redis性能出色,每秒可处理10w次的读写操作,是已知性能最快的key-value DB。(1.速度快,是因为数据存在内存中,类似于HashMap,Ha...

2020-06-05 11:27:15 111

原创 项目管理

项目管理的要素是:进度、成本、质量、范围(项目管理铁三角)。项目管理的核心不是把任意一边牢牢抓住,而是在几个要素之间找到平衡,是否平衡最简单直接就是看市场和客户的满意度,简洁需要考虑项目发起人和重要干系人的要求是否符合;项目管理10大领域:项目整合管理、范围、时间、成本、质量、人力资源、风险、沟通、采购、干系人管理;项目管理生命周期五过程:启动、策划、执行和监控、收尾项目启动项目规划项目控制(变更控制)项目风险管理项目收尾项目立项过程:提交立项申请及附件 -> 立项审核/评审 -&g

2020-06-04 21:32:36 156

原创 常用工具类

/** * 从url获取ip、port和地址信息 * 例如 入参:rtmp://10.0.0.1:6666/live/a174658f3ba9483e9c597fb7c4d2bd2d_sub * 出参:[10.0.0.1, 6666, /live/a174658f3ba9483e9c597fb7c4d2bd2d_sub] * @param url * @return */...

2020-04-24 16:23:44 85

原创 sql部分笔记

in查询优化使用in语句查询,可能会导致页面查询慢,甚至进一步影响java虚拟机内存溢出。可使用 exists语句的方式代替in语句(两者的查询时间复杂度一个是O(1),一个是O(n), in拼接的参数越多时, 查询效率差距越明显)select * from tb_user t where concat(t.user_id, '_', t.username) in ('1_Tom','2...

2019-12-24 15:46:55 55

原创 lombok常用注解解析

常用的注解解析lombok的@Data官方解析:@Data该注解相当于@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode这5个注解的合集lombok的@EqualsAndHashCode官方解析:@EqualsAndHashCode此注解会生成equals() 和 hashCode()方法...

2019-12-23 14:42:24 349

netty-socketio-demo-master.rar

连接socketIO客户端和服务器,版本<dependency> <groupId>com.corundumstudio.socketio</groupId> <artifactId>netty-socketio</artifactId> <version>1.7.7</version> </dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-websocket-api</artifactId><version>9.0.24</version> </dependency

2020-08-25

skyeye.zip

自定义feign客户端进行http调用,减少重复代码的书写,提升开发体验,提高代码的可读性以及可维护性

2020-08-25

datahandler.rar

业务代码解耦方案与案例源码,类似于BeanUtils.copyProperties工具,不仅能进行相同字段名相同类型的字段值复制,还能进行不同类型或字段的转换

2020-08-25

dev-util.rar

根据数据库连接信息与指定的数据库表,生成对应的实体表相关类的源码;mqtt的客户端连接示例源码;批量生产数据的源码;

2020-08-25

java-template-util-1.0-SNAPSHOT.rar

可根据数据库连接信息与指定的数据库表,生成对应的实体表相关类,生成实体类Entity、Dto、Mapper。自动进行类映射,减少代码的书写。

2020-08-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除