Java相关学习
文章平均质量分 77
明明在学JAVA
不为失败找借口,只为成功找方法。
展开
-
你还在用for循环遍历list吗?
Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。你还在用for循环遍历list吗?转载 2022-09-08 22:32:49 · 307 阅读 · 0 评论 -
Spring Boot 项目统一结果,统一异常,统一日志
是否响应成功;响应状态码;状态码描述;响应数据其他标识符前三者可定义结果枚举,如:success,code,message统一结果类 第5个属于自定义返回,利用前4者可定义统一返回对象注意:外接只可以调用统一返回类的方法,不可以直接创建,影刺构造器私有;内置静态方法,返回对象;为便于自定义统一结果的信息,建议使用链式编程,将返回对象设类本身,即return this;响应数据由于为json格式,可定义为JsonObject或Map形式;@Data public class&nbs原创 2022-06-15 14:28:51 · 580 阅读 · 0 评论 -
图文并茂讲线程池---ThreadPool
1、线程池管理器(ThreadPool):用于创建并管理线程池,包括 创建线程池,销毁线程池,添加新任务;2、工作线程(PoolWorker):线程池中线程,在没有任务时处于等待状态,可以循环的执行任务;3、任务接口(Task):每个任务必须实现的接口,以供工作线程调度任务的执行,它主要规定了任务的入口,任务执行完后的收尾工作,任务的执行状态等;4、任务队列(taskQueue):用于存放没有处理的任务。提供一种缓冲机制。降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度原创 2022-06-10 17:09:24 · 222 阅读 · 0 评论 -
xxl-job的设计浅读
xxl-job使用netty http的方式进行通信,虽然也支持Mina,jetty,netty tcp等方式,但是代码里面固定写死的是netty http我以调度器通知执行器执行任务为例,绘制的活动图: 活动图看完了整个处理流程代码,设计上可以说独具匠心,将netty,多线程的知识运用得行云流水,我现在就将这些设计上出彩的点总结如下:xxl-job定义了两个接口ExecutorBiz,AdminBiz,ExecutorBiz接口中封装了向心跳,暂 停,触发执行等操作,AdminBiz封装了回调,注册,取消转载 2022-06-02 09:12:17 · 623 阅读 · 0 评论 -
Spring-Gateway与Spring-Security在前后端分离项目中的实践
网上貌似webflux这一套的SpringSecurity操作资料貌似很少。自己研究了一波,记录下来做一点备忘,如果能帮到也在迷惑的人一点点,就更好了。新项目是前后端分离的项目,前台vue,后端SpringCloud2.0,采用oauth2.0机制来获得用户,权限框架用的gateway。大概思路前台主要是配合项目中配置的clientId,clientSecret去第三方服务器拿授权码code,然后拿这个code去后端交互,后端根据code去第三方拿用户信息,由于第三方只保存用户信息,不管具体的业务权限,所以转载 2022-06-01 22:49:24 · 793 阅读 · 0 评论 -
策略模式优化 if-else?Map+函数式接口才YYDS
本文介绍策略模式的具体应用以及Map+函数式接口如何“更完美”的解决 if-else的问题。文章目录 需求 策略模式 Map+函数式接口 最后捋一捋本文讲了什么: 需求最近写了一个服务:根据优惠券的类型resourceType和编码resourceId来 查询 发放方式grantType和领取规则实现方式:1、根据优惠券类型resourceType -> 确定查询哪个数据表 2、根据编码resourceId -> 到对应的数据表里边查询..原创 2022-05-28 23:20:29 · 183 阅读 · 0 评论 -
SpringCloud Alibaba 实战,来自尚硅谷电商项目理解
电商项目常见解决技术搭配方案:SpringCloud Alibaba --nacos:注册中心SpringCloud Alibaba --nacos:配置中心SpringCloud --Ribbon:负载均衡SpringCloud --OpenFeign:声明式Http客户端(调用远程服务)SpringCloud Alibaba --Sentinel:服务容错(限流、降级、熔断)SpringCloud --Gateway:API网关(webflux编程模式)SpringCloud原创 2021-10-12 21:38:07 · 539 阅读 · 0 评论 -
Java项目中实体类(ENTITY,VO,DTO)的理解
真正开始接触JavaEE的编程,避不开的点。关于ENTITY,VO,DTO的理解一、ENTITYEntity(PO) 每个属性基本上都对应数据库表里面的某个字段。完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法。持久对象是由insert数据库创建,由数据库delete删除的。基本上持久对象生命周期和数据库密切相关。二、VO这个有两种理解,在我接触的项目中更加偏向 第二种 表现层对象(View Object)VO:值对象(Value Object),通常用于转载 2021-06-15 17:28:26 · 2011 阅读 · 0 评论 -
软件缺陷及Jira系统的使用
目录一、软件缺陷报告样例:缺陷状态缺陷类型严重程度优先级缺陷标题详细描述:二、软件缺陷的跟踪流程三、Jira系统的使用Jira系统的使用者Jira中的问题的概念Jira系统中的工作流Jira系统中,测试提交问题Jira系统中,开发修复问题总结:目前正常的软件开发大多是敏捷开发,那么如何对软件的缺陷进行收集和跟踪就是需要考虑的问题了。Jira系统可以方便的解决软件开发过程所遇到的这些痛点。一、软件缺陷报告样例:其中包括:缺陷状原创 2021-04-24 23:45:50 · 1467 阅读 · 1 评论 -
JVM详解,一篇文章带你入门
我们知道java语言是跨平台的,一处编译,到处运行。一处编译就是将java文件编译成.class字节码文件。只要编译的字节码文件符合jvm的规范,那么就可以在java虚拟机上运行,这也说明了它的语言无关性。那么什么是JVM?JVM是Java Virtual Machine(Java虚拟机)的缩写,是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机主要由字节码指令集、寄存器、栈、垃圾回收堆和存储方法域等构成。 JVM屏蔽了与具体操作系统平台相关的信息,使J原创 2020-11-30 09:44:07 · 447 阅读 · 2 评论 -
多线程学习--关于ReentrantLock源码详细解读
对于源码的阅读,有几点总结:1.跑不通的源码,不读;2.解决问题为目的;3.总体把握,先不扣细节;4.抓住一条线,往下阅读话不多说,简单demo断点调试,JDK版本为1.8public class TestReentrantLock { private static volatile int i = 0; public static void main(String[] args) { ReentrantLock lock = new Reent原创 2020-11-20 16:00:29 · 160 阅读 · 2 评论 -
Java NIO学习,一次读懂Java NIO
Java NIO 和 IO 的区别缓冲区存取数据的两个核心方法put:存入数据到缓冲区get:获取缓冲区中的数据缓冲区的四个核心属性capacity:容量,表示缓冲区中最大存储数据的容量,一旦声明不能改变position:位置,表示缓冲区中正在操作数据的位置limit:界限,表示缓冲区中可以操作数据的大小。(limit后的数据不能进行读写)mark:标记,表示记录当前position的位置,可以通过reset恢复到mark的位置0 <= mark <= p原创 2020-10-09 09:52:37 · 550 阅读 · 4 评论