
java知识点
爱埋珊瑚海~~
拥有2B、2C业务背景,长期深耕多行业(银行、保险、政务、零售、制造业等)业务,具备业务复杂度高的大型系统架构设计经验;
熟悉互联网行业的分布式架构;
熟悉企业级微服务解决方案;
熟悉云平台架构,具有多云(AWS\Aliyun\Azure)实施架构方案
熟悉海量大数据的解决方案;
拥有高并发的经验;
对AI有一定的了解,熟悉了解tensorflow深度学习框架
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Mybatis+Mysql 实现向下递归查询
说到递归查询,大家可以想到的技术实现方式主要如下几种:1、各种主流应用开发语言本身通过算法实现2、各种数据库引擎自身提供的算法实现本文提到主要是针对第二种和第一种的结合以上实现方式涉及到了MySQL的with as 语法,此实现方式必须给予MySQL 8.0.x版本,5.x.x版本不支持,解决方案:1、升级数据库版本为8.x版本2、采用5.x版本语法FIND_IN_SET,如下代码示例3、采用应用开发语言实现,如Java代码实现。原创 2023-03-28 12:14:54 · 1936 阅读 · 1 评论 -
Redis实现分布式自增序列号
Redis实现分布式自增序列ID原创 2023-02-27 14:23:06 · 1660 阅读 · 1 评论 -
idea开发java项目时报错:Error:Kotlin: Module was compiled with an incompatible version of Kotlin
我们在idea 开发java项目时,偶尔会出现如下错误:Error:Kotlin: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.7.1, expected version is 1.1.16.原创 2022-10-12 14:14:20 · 2904 阅读 · 0 评论 -
新一代消息队列Pulsar-集成springboot
在上一篇文章《新一代消息队列Pulsar-安装部署》中,介绍了如何安装部署Pulsar,那如何通过API接入呢?本文将通过springboot集成的方式来介绍原创 2022-10-12 12:00:27 · 1662 阅读 · 1 评论 -
阿里开源规则引擎QLExpress-入门实战
通过成熟的规则引擎算法,可以高效的调度通用的业务规则,从而将业务和规则进行隔离,在解藕业务代码的同时可以提高传统业务规则的计算效率,然而目前可以做到的开源的框架推荐用阿里的QLExpress,通过QLExpress可以通过底层的表达式算法缓存处理高性能的处理大批量的业务规则原创 2022-10-04 11:37:08 · 19904 阅读 · 2 评论 -
List集合中对象拷贝遇到的坑
List集合中对象拷贝遇到的坑简单介绍问题现象解释原因解决方法简单介绍我们在平时开发过程中或多或少会遍历一个java集合(暂且以List为例说明),然后根据遍历的每一个对象,处理不同的业务逻辑,本文要阐述的是我们平时处理业务逻辑时会获取数据库的数据结果对象或者用户编辑数据对象或者缓存中的数据对象等等凡是不等于集合中遍历结果的对象都可以,我们根据这些业务衍生的对象给集合遍历结果的对象赋值,往往会发现明明同一个类型(同一个类)只是不同的实例而已,赋值给集合中的对象后 再去查询集合的数据结果,发现集合中的对象原创 2021-02-09 15:07:51 · 1039 阅读 · 0 评论 -
踩坑-pom模块间循环依赖问题
错误现象问题分析通过上图可以发现是dispatch-bi和dispatch-api两个模块存在相互依赖引用,然后分别检查两个模块的pom.xml发现确实互相引入了对方,所以问题的根本原因找到了,解决思路是什么呢解决方案1、根据模糊间的依赖关系,强烈建议是模块间依赖时 公共基础的模块可以被依赖引入到具体实现模块,但是基础模块不能依赖具体实现模块;原则:即接口和实现保持相对的独立,接口只对外开放;具体实现依赖接口,反之 不可以接口依赖具体实现层...原创 2020-12-01 14:23:53 · 5288 阅读 · 2 评论 -
深入理解-Spring AOP
Spring AOP 简介如果说 IoC 是 Spring 的核心,那么面向切面编程就是 Spring 最为重要的功能之一了,在数据库事务中切面编程被广泛使用。AOP 即 Aspect Oriented Program 面向切面编程首先,在面向切面编程的思想里面,把功能分为核心业务功能,和周边功能。所谓的核心业务,比如登陆,增加数据,删除数据都叫核心业务所谓的周边功能,比如性能统计,日志,事务管理等等周边功能在 Spring 的面向切面编程AOP思想里,即被定义为切面在面向切面编程AOP的思想原创 2020-10-08 19:02:41 · 352 阅读 · 0 评论 -
深度理解Spring IOC
1.1、IoC是什么 Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什么,为何是反转(有反转就应该有正转了),哪些方面反转了”,那我们来深入分析一下:●谁控制谁,控制什么:传统Java SE程序设计,我们直接在对象内部通过new进行创建对象,是程序主动去创建依赖对象;而IoC是有专门一个容器来创转载 2020-10-08 18:05:39 · 214 阅读 · 0 评论 -
Spring扩展点总结
BeanDefinition与BeanFactory扩展在Spring生成bean的过程这篇文章中,我们了解了spring在生成bean前会先生成bean的定义,然后注册到BeanFactory中,再之后才能生成bean。那么对于从xml配置好的BeanDefinition,如果想要增加删除修改该怎么办呢?1.1 BeanDefinitionRegistryPostProcessor接口BeanDefinitionRegistryPostProcessor接口继承了BeanFactoryPostPro转载 2020-09-23 18:10:42 · 530 阅读 · 0 评论 -
SpringBoot项目对接Apollo配置中心简易教程
项目结构第1步、引入客户端JAR // 注意:apollo-client 可以通过下载apollo开源代码后打包安装到公司的maven私服库里 //pom.xml文件引入如下依赖 <dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-client</artifactId>原创 2020-09-15 17:51:43 · 928 阅读 · 0 评论 -
JDK 1.8 Stream常用接口操作指南
Stream常用接口操作stream 简单介绍stream-排序(按照某一个字段属性排序)代码示例代码演示stream-去重(按照某一个字段属性去重)代码示例代码演示stream-获取某一个字段属性的集合代码示例代码演示stream-转换某一个字段为Key的MAP代码示例stream-获取集合中首尾元素代码示例代码演示stream 简单介绍stream 是jdk1.8增加的apistream-排序(按照某一个字段属性排序)代码示例public class Test{ private Strin原创 2020-07-10 17:30:38 · 383 阅读 · 0 评论 -
Springboot多线程下调度任务的执行
Springboot多线程下调度任务的执行多线程下多个调度任务的执行调度代码实现线程池代码实现执行结果单个调度任务多线程下的执行调度代码实现线程池代码实现执行结果多线程下多个调度任务的执行在springboot框架中 提供注解@Scheduled 实现一个任务的定时调度执行,多个调度任务在同一个时间段内执行时为了提高处理业务效率,引入多线程执行,以下是如何实现多个调度任务下的多线程处理***需要注意:项目启动后 在同一个时间片内多个调度任务会从线程池中获取多个线程并行处理调度代码实现 @Sched原创 2020-07-09 17:53:01 · 1034 阅读 · 0 评论 -
Arthas--深入排查java进程消耗CPU或内存过高问题
Arthas 是阿里巴巴开源的一款监控java进程的工具,可以有效监控CPU、内存使用情况,更厉害的是可以帮助开发人员深入排查java代码的问题,比如java进程占用cpu过高是哪一个线程执行哪一个类的哪一个方法出的问题首先,先给大家普及一下Arthas的使用步骤:Step1 下载安装:在线安装方式: curl -O https://alibaba.github.io/arthas/a...原创 2020-01-20 13:58:35 · 21244 阅读 · 4 评论 -
Mybatis-PageHelper分页--IIF函数坑
最近在开发一个页面分页的后端代码,使用的分页是mybatis的pagehelper jar组件,其中用到的版本是5.0.1 即 pagehelper-5.0.1.jar;分页时查询SQL语句select a.* from (SELECT b.id,b.cid,b.customerId,c.opportunityId,b.customerName,b.detailAddress,b.stageId...原创 2020-01-14 14:31:27 · 830 阅读 · 0 评论 -
java 日期格式转化遇到的坑
java 日期格式转化遇到的坑踩坑的现象根据现象分析找出本质踩坑的现象java中将字符串日期转换为指定格式的Date类型,有用到最重要的转换工具类SimpleDateFormat转为年月日:对应的格式yyyy-MM-dd 此处关键点是什么呢?大家有无想过如果换成YYYY-MM-dd会有什么效果根据现象分析找出本质根据以上代码片段的测试数据发现好像没有什么区别,转换的日期数据都貌似正确...原创 2019-12-16 16:10:56 · 560 阅读 · 0 评论 -
spring cloud 本地开发时怎么设置client使其不注册到eureka中
在开发一个中大型项目过程中,我们通常都是前后端分离,这时候如果我们采用spring cloud的微服务架构,前端会请求我们的注册中心eureka中的服务,这时开发环境可能会发现一个奇怪的问题:项目组有好几个后端开发都在本地调试项目他们的服务一样会注册到eureka中,本地开发调试的服务和开发服务器部署的服务用到同一个eureka注册时,前端同事联调服务接口时会偶尔调用到服务器部署的服务,偶尔会调用...原创 2019-11-23 16:07:10 · 3605 阅读 · 0 评论 -
定位Java进程中线程资源占用内存情况之三部曲
如何准确定位Java进程中哪些线程资源占用内存高的问题第一步 通过top查看具体是哪个进程占用内存较多第二步 定位具体进程中哪些线程占用内存第三步 打印进程的堆栈信息到log中第一步 通过top查看具体是哪个进程占用内存较多1、通过top命令 +Shift+M第二步 定位具体进程中哪些线程占用内存1、通过命令:ps p 1253 -L -o pcpu,pmem,pid,tid,time,...原创 2019-11-21 21:25:14 · 1138 阅读 · 0 评论 -
试问Java中 同一个方法中Mybatis多次请求数据库是否会创建多个会话
最近在开发过程中,小伙伴们有一个疑问:我们在写一个服务层的方法需要多次请求mybatis的dao(即mybatis的Mapper)方法,那会不会因为频繁跟数据库交互导致性能走低呢?跟着疑问我们结合demo分析下mybatis的源码,来一层层解开大家的疑惑\第一步:调用dao层的方法上不加事务@transactional从日志可以看出,在没有加事务的情况下,确实是Mapper的每次请求数据库...原创 2019-11-09 12:06:02 · 6323 阅读 · 1 评论 -
梳理java技术栈的知识结构
聚焦java知识点java基础知识数据类型操作符控制执行流程访问权限控制对象的特性-多态对象的特性-抽象泛型I/O系统java高阶知识数据结构数组链表并发编程java基础知识你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。数据类型常用的数据类型分为两大类:基本类型和...原创 2019-07-05 22:06:08 · 423 阅读 · 0 评论