java自定义序列化

自定义序列化 1.问题引出 在某些情况下,我们可能不想对于一个对象的所有field进行序列化,例如我们银行信息中的设计账户信息的field,我们不需要进行序列化,或者有些field本省就没有实现Serializable接口。 java中的序列化是递归序列化,也就是你的field的引用类型中也有fie ... »

通过实现仿照FeignClient框架原理的示例来看清FeignClient的本质

前言 FeignClient的实现原理网上一搜一大把,此处我就不详细再说明,比如:Feign原理 (图解) - 疯狂创客圈 - 博客园 (cnblogs.com),而且关于FeignClient的使用技巧我之前文章《feignclient各种使用技巧说明》已经讲过,此处仅说一下核心步骤: 启动时:@ ... »

zuowj JAVA

spring boot+vue实现H5聊天室客服功能

spring boot+vue实现H5聊天室客服功能 h5效果图 vue效果图 功能实现 spring boot + webSocket 实现 官方地址 https://docs.spring.io/spring-framework/docs/5.0.8.RELEASE/spring-framewo ... »

bxmm java

java框架面试高频问题(SpringMVC)

1.SpringMVC是什么? 请说出你对它的理解? SpringMVC是Spring将Web层基于MVC封装后的框架. 在没有SpringMVC之前,Web层的Servlet负责的事情很多,很杂. 例如:接收请求,调用service层处理请求,封装返回结果,响应信息给浏览器.SpringMVC将S ... »

【JAVA】笔记(5)--- final;抽象方法;抽象类;接口;解析继承,关联,与实现;

代码解析;1.菜单是一个接口(菜单上有一个抽象的照片:柿子炒鸡蛋);2.顾客面向菜单点菜,调用接口;3.后台的厨师负责把柿子炒鸡蛋做好,是接口的是实现者;4.接口作用:这个饭馆的菜单,让顾客和后厨解耦合了,顾客不用找后厨,后厨不用找顾客,他们之间完全依靠这个抽象的菜单沟通........ ... »

Java中的重载和重写

关于Java中的重载与重写,每一个java人肯定都学习过,这里就再梳理一遍,加深一下印象,忘记的时候拿出来看一看就好了 重载与重写的区别 重载发生在同一个类里面,同一个方法,拥有不同的参数列表,不同的返回值类型;可以有不同的访问权限 重写发生在子类上,也是针对同一个方法,只不过参数列表和顺序必须与父 ... »

iamamg97 Java

Java发展的重大事故

1990年,在Sun计算机公司中,由Patrick Naughton、Mi keSheridan 及 James Gosling领导的小组Green Team,开发出的新的程序语言,命名为0ak, 后期命名为Java 1995年, Sun正式发布Java和HotJava产品, Java首次公开亮相。 ... »

mifashion java

Java经典面试题(二)-不古出品

@(Java经典面试题(二)- 不古出品) 1. 为什么说 Java 语言“编译与解释并存”? 高级编程语言按照程序的执行方式分为编译型和解释型两种。简单来说,编译型语言是指编译器针对特定的操作系统将源代码一次性翻译成可被该平台执行的机器码;解释型语言是指解释器对源程序逐行解释成特定平台的机器码并立 ... »

weup

入门第五天 【运算符】

整数运算: 1、如两个数有一个为long类型,则结果为long类型。 2、没有long时,结果为int。即使数据都是short、byte,结果都是int类型,int只取整数,有小数他不会四舍五入。 浮点运算: 1、如两数有一个为double则结果为double; 2、只有两数都是float,则结果才 ... »

tianshiricang21-112 Java

Java线程状态及同步锁

线程的生命历程 线程的五大状态 创建状态:简而言之,当创建线程对象的代码出现的时候,此时线程就进入了创建状态。这时候的线程只是行代码而已。只有调用线程的start()方法时,线程的状态才会改变,进入就绪状态 就绪状态:在这个状态下的线程,**已经做好了随时运行的准备,但是并不意味着会立刻开始运行。* ... »

Java 源码如何分析?

如何阅读源码?万事开头难,源码从哪里开始看?我也是刚对源码的阅读研究不深,但是可以谈谈自己的源码阅读感受。 刚开始吧,只是对某些代码的实现原理感到好奇,好奇是怎么实现这种功能,实现这种效果的,对其背后的原理充满了求知欲。 然后借助 IDEA 以及翻译插件(本人英语桐油罐子,但这不影响我对原理的探索) ... »

Apache Shiro 反序列化漏洞分析

Shiro550 环境搭建 参考:https://www.cnblogs.com/twosmi1e/p/14279403.html 使用Docker vulhub中的环境 docker cp 将容器内的shiro的jar包copy出来 docker cp dd54fcfb67c6:/shirodem ... »

进程与线程

在开始学习多线程之前,我们需要先了解进程与线程。 进程与线程 最直观的表现,就是当我们打开 Mac 的「活动监视器」时,会发现有两个栏,分别是「进程名称」与「线程(数量)」。 其中,进程可以简单地理解为程序的一次运行,比如我们打开了「网易云音乐」,就会有一个「网易云音乐」的进程。我们好像并没有见过叫 ... »

wuyukangkang Java

Java使用iText7生成PDF

前言 我们之前使用js库html2canvas + jspdf实现html转PDF、图片,并下载(详情请戳:html页面转PDF、图片操作记录),大致原理是将页面塞到画布里,以图片的方式放到PDF中,生成的文件比较大,文本记录Java使用iText7生成PDF iText 7是iText强大的PDF ... »

huanzi-qch java

《手把手教你》系列技巧篇(四十一)-java+ selenium自动化测试 - 处理iframe -上篇(详解教程)

1.简介 原估计宏哥这里就不对iframe这个知识点做介绍和讲解了,因为前边的窗口切换就为这种网页处理提供了思路,另一个原因就是虽然iframe很强大,但是现在很少有网站用它了。但是还是有小伙伴或者童鞋们私下问这个问题,那么宏哥就单独写一篇关于iframe网页处理的文章。 2.iframe是什么 i ... »

JDK16的新特性

简介 在2021年3月16日,JDK的迎来了它的一个新版本JDK16,虽然JDK16不是LTS版本,但是作为下一个LTS版本JDK17的先行版本,JDK16为我们带来了17个方面的提升,包括了新的语言特性、新的工具、内存管理的提升等方面。 所以一起来看看,JDK16到底为我们提供了些什么新的特性。 ... »