![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JAVA基础
文章平均质量分 80
以基础为根基。
一直在奔跑丶
功不是凭梦想和希望,而是凭努力和实践!
展开
-
Oracle执行计划命令
如果在命令行中,建议使用这种方法.set autotrace on加上这个set命令后,执行任何SQL语句都会把执行计划和统计信息显示出来.注意 : 这重方式每次都执行SQL语句,而下面的方法实际上并没有执行SQL语句.看下面小练习,告诉你如何用oracle命令查看执行计划.1.想要查看执法计划的SQL语句:explain plan for select t.*, t.rowid from A5 t where t.l = '101214' and t.k like '%8号'原创 2022-02-17 17:22:22 · 658 阅读 · 0 评论 -
高级Java工程师必学的工具库,让你的代码量减少90%
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。工作很多年后,才发现有很多工具类库,可以大大简化代码量,提升开发效率,初级开发者却不知道。而这些类库早就成为了业界标准类库,大公司的内部也都在使用,如果刚工作的时候就有人告诉我使用这些工具类库,该多好!一块看一下有哪些工具类库你也用过。1. Java自带工具方法1.1 List集合拼接成以逗号分隔的字符串// 如何把list集合拼接成以逗号分隔的字符串 a,b,cList<String> list = A转载 2021-11-22 09:43:11 · 93 阅读 · 0 评论 -
还在用 BeanUtils来做对象转换吗?快试试 MapStruct吧
第一次看到MapStruct的时候, 我个人非常的开心。因为其跟我内心里面的想法不谋而合。1 MapStruct 是什么?1.1 JavaBean 的困扰对于代码中JavaBean之间的转换, 一直是困扰我很久的事情。在开发的时候我看到业务代码之间有很多的JavaBean之间的相互转化, 非常的影响观感, 却又不得不存在。我后来想的一个办法就是通过反射, 或者自己写很多的转换器。第一种通过反射的方法确实比较方便, 但是现在无论是BeanUtils,BeanCopier等在...原创 2021-10-27 14:18:11 · 98 阅读 · 0 评论 -
你们的登陆接口真的安全吗?
大家学写程序时,第一行代码都是hello world。但是当你开始学习WEB后台技术时,很多人的第一个功能就是写的登录(小声:别人我不知道,反正我是)。但是我在和很多工作经验较短的同学面试或沟通的时候,发现很多同学虽然都有在简历上写:负责项目的登录/注册功能模块的开发和设计工作,但是都只是简单的实现了功能逻辑,在安全方面并没有考虑太多。这篇文章主要是和大家聊一聊,在设计一个登录接口时,不仅仅是功能上的实现,在安全方面,我们还需要考虑哪些地方。安全风险暴力破解!只要网站是暴露在公网的,..转载 2021-05-07 10:38:21 · 106 阅读 · 0 评论 -
ArrayList为什么线程不安全?(总结)
ArraysList是线程不安全的数据类型。如果多个线程同时访问列表实例,并且至少有一个线程在结构上修改列表,则需要在外部同步。使用Collections.sychronizedList方法是线程安全的。查看JDK文档,在结构上修改ArraysList的方法有分析源码发现,在add方法中的elementData[size++] = e;存在线程不安全的风险。elementData与size都是全局变量,但没有进行sychronization同步处理,elementData是共..原创 2020-09-18 18:09:03 · 732 阅读 · 0 评论 -
Java8 快速实现List转map 、分组、过滤等操作
利用java8新特性,可以用简洁高效的代码来实现一些数据处理。定义1个Apple对象:publicclassApple{privateIntegerid;privateStringname;privateBigDecimalmoney;privateIntegernum;publicApple(Integerid,Stringname,BigDecimalmoney,Integernum){...原创 2020-09-17 10:05:50 · 341 阅读 · 0 评论 -
为什么MySQL不推荐使用uuid或者雪花id作为主键?
前言在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一,单机递增),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?本篇博客我们就来分析这个问题,探讨一下内部的原因。本篇博客的目录 mysql程序实例 使用uuid和自增id的索引结构对比 总结 一、mysql和程序实例1.1.要说明这个问题,我们首先来建立三张表分别是use原创 2020-09-15 10:38:26 · 68 阅读 · 0 评论 -
Spring之AOP注解封装
关键字 BindingResult、Spring AOP、自定义注解、自定义异常处理、ConstraintValidator前言 在实际项目中,对接口的传如的参数需要做校验处理,原来都是在接口里面直接进行if判断,虽然简单,但是每个接口都要重复写,显得冗余;并且返回的数据也无法很好的自定义说明校验情况;如下; @RequestMapping(value = { "/get/authcode" }, method = {RequestMethod.POST }) p..原创 2020-09-03 08:53:10 · 595 阅读 · 0 评论 -
搞懂这些SQL优化技巧,面试横着走
BATJTMD 等大厂的面试难度越来越高,但无论从大厂还是到小公司,一直不变的重点就是对 SQL 优化经验的考察。一提到数据库,面试官就会问“先说一说你对 SQL 优化的见解吧?”。图片来自 PexelsSQL 优化已经成为衡量程序猿优秀与否的硬性指标,甚至在各大厂招聘岗位职能上都有明码标注,如果是你,在这个问题上能吊打面试官还是会被吊打呢?有朋友疑问到,SQL 优化真的有这么重要么?如下图所示,SQL 优化在提升系统性能中是:成本最低和优化效果最明显的途径。如果...原创 2020-08-18 10:44:25 · 259 阅读 · 0 评论 -
如何避免操作系统中多线程资源竞争的互斥与同步?
前言先来看看虚构的小故事已经晚上 11 点了,程序员小明的双手还在键盘上飞舞着,眼神依然注视着的电脑屏幕。没办法这段时间公司业绩增长中,需求自然也多了起来,加班自然也少不了。天气变化莫测,这时窗外下起了蓬勃大雨,同时闪电轰鸣。但这一丝都没有影响到小明。突然一道巨大的雷一闪而过,办公楼就这么停电了。此时,求小明的心里面积有多大?等小明心里平复后,突然肚子非常的痛,想上厕所,小明心想肯定是晚上吃的某堡王有问题。整栋楼都停了电,小明两眼一抹黑,啥都看不见,只能靠摸...转载 2020-08-14 08:24:06 · 679 阅读 · 0 评论 -
实战 RocketMQ 流量削峰,怎么能错过这一篇!
前言MQ的主要特点为解耦、异步、削峰,该文章主要记录与分享个人在实际项目中的RocketMQ削峰用法,用于减少数据库压力的业务场景,其中RocketMQ的核心组件概念如下: Producer:生产发送消息 Broker:存储Producer发送过来的消息 Consumer:从Broker拉取消息并进行消费 NameServer:为Producer或Consumer路由到Broker 其中消费流程有以下几点是必须注意的: RocketMQ的Consumer原创 2020-08-12 17:06:31 · 298 阅读 · 0 评论 -
SpringBoot 整合 MyCat 实现读写分离,拿走不谢!
MyCat一个彻底开源的,面向企业应用开发的大数据库集群。基于阿里开源的Cobar产品而研发。能满足数据库数据大量存储;提高了查询性能。文章介绍如何实现MyCat连接MySQL实现主从分离,并集成SpringBoot实现读写分离。MySQL配置主从关系说明 192.168.0.105 Linux 数据库作为主master数据库 127.0.0.1 Window 作为从slave数据库 master主数据库配置binlog是Mysql sever层维护的一种二进制日志,主要是用原创 2020-08-12 16:53:55 · 220 阅读 · 0 评论 -
Maven和Solr简单总结
1.Maven介绍Maven是一个项目管理工具,Maven通过POM项目对象模型,对象项目进行管理,通过一个配置文件(xml文件)进行项目的管理。对象项目的声明周期中每个阶段进行管理(清理,编译,测试,打包)。POM项目对象模型的理解:①类之间的关系:继承、依赖、聚合;②管理项目之间的关系:使用maven工具可以完成项目之间的继承,项目的依赖,项目的聚合;2.maven项目得仓库maven可以管理项目和第三方的jar包的依赖关系。只需要在配置文件中描述maven,当前项目需要的哪些jar包即原创 2020-07-29 14:51:51 · 224 阅读 · 0 评论