- 博客(29)
- 收藏
- 关注
原创 剧本 - 《妈妈的爱》
(白板上写着:主标题:波洛大学食品安全专业,养生小课堂,内容:刺梨富含维C、维P、SOD(超氧化物歧化酶)、以及十多种氨基酸和微量元素等等。(抬起头):这是来自妈妈的爱,我妈怕我吃不干净的零食,喝不健康的饮料,特意从波洛精选买了无任何添加的牛肉干和富含营养的刺梨汁给我。:再向左拐,开学第一天特价,仅此一天,错过今天,再等一年,新人跳楼价298,赶紧……:学弟,我看你天赋异禀,骨骼惊奇,不如加入我们学生会吧,给你一个大展身手的舞台。的衣服/手):要不,我看你没买被褥,看看我这里的被褥(特效)?
2024-10-18 15:45:23
469
原创 剧本 - 《办公室来了个不速之客》(广告向)
(打开波洛精选小程序,点开刺梨汁详情图):盈姐,你可以到我们波洛精选购买,同时我们会不定时有直播优惠。全副武装的来到公司【带着帽子和口罩】,放下包,然后躬身打开储物柜门,到柜子里翻找东西)(一脸不屑):咦~,不就是感冒吗?(原地打滚,双手抱头):哎呦~哎呦~【或者 啊~啊~ 】,痛死我了。(笑笑):也不用太复杂,当个花瓶就好(露出害羞的表情或自恋的表情)(愤愤):何方小贼,竟敢到这里来偷东西,看我怎么收拾你!):包着严严实实的,害我以为进贼了(说完用手挠挠头)(尴尬,转移话题):盈姐,你怎么也带着口罩?
2024-10-17 15:18:07
173
原创 从Redis反序列化UserDetails对象异常后发现FastJson序列化的一些问题
最近在使用SpringSecurity+JWT实现认证授权的时候,出现Redis在反序列化userDetails的异常。通过实践发现,使用不同的序列化方法和不同的fastJson版本,异常信息各不相同。所以特地记录了下来。
2023-11-24 19:04:29
965
原创 Spring循环依赖源码分析
说到Spring的循环依赖,我们常会提起过三级缓存,那三级缓存究竟是什么?又有什么作用?Spring是怎么实现循环依赖的?带着这些问题,我们一起来开启这篇文章。
2023-10-24 18:11:07
324
原创 Spring动态代理源码分析
说到Spring的核心功能,Spring AOP是始终绕不过去的一个点。而说到Spring AOP,开发中我们经常会用到这个功能,比如:日志记录、权限校验、事务管理等。我们也大概知道它基于动态代理实现的,那除了Spring AOP,Spring还有哪些地方使用到了动态代理?Spring中的动态代理又是如何实现的?让我们跟着这篇文章来一探究竟。
2023-10-20 19:13:23
455
原创 Spring核心扩展点BeanDefinitionRegistryPostProcessor源码分析
我们知道,只要在一个Java类上加上@Component、@Service、@Controller等注解,就可以被加载到Spring容器中,除了以上方式,加了@Bean和@Import好像也可以将对象添加到Spring容器中,究竟Spring是如何实现这些功能的呢?让我们一起来一探究竟。
2023-10-17 13:18:07
734
原创 Spring推断构造器源码分析
Spring中bean虽然可以通过多种方式(Supplier接口、FactoryMethod、构造器)创建bean的实例对象,但是使用最多的还是通过构造器创建对象实例,也是我们最熟悉的创建对象的方式。如果有多个构造器时,那Spring是如何推断使用哪个构造器来创建bean对象实例的?
2023-10-13 18:50:33
502
原创 Spring自动装配源码分析
Spring中的自动装配确实帮我们简化了一些属性的配置,但是对于简单类型,如String、int等基本数据类型,是无法使用自动装配的。同时在存在多个存在歧义的对象时,自动装配也会返回不确定的结果,甚至会抛出异常。日常开发中,我们更多的是使用@Autowired注解(或@Resource注解)进行依赖注入,这种方式即实现了自动装配的灵活性,也兼顾了手动装配的可预知性。
2023-10-13 13:31:05
339
原创 synchronized锁膨胀过程
锁的状态总共有四种:无锁状态、偏向锁、轻量级锁和重量级锁。随着锁的竞争,锁可以从偏向锁升级到轻量级锁,再升级的重量级锁(但是锁的升级是单向的,也就是说只能从低到高升级,不会出现锁的降级)。JDK1.6中默认是开启偏向锁和轻量级锁的,我们也可以通过-XX:-UseBiasedLocking来禁用偏向锁。
2023-10-08 23:25:33
525
原创 一个程序员竟然喜欢上了写诗
我是一个程序员,但我喜欢写诗。关于我喜欢写诗这件事是在无意中发现的:默认,突然心血来潮想弄个公众号(一个键盘侠),奈何总想水文章,于是就打算显摆下自己幼儿园语文接近满分的文学底蕴,然后就写了几首,发现好像是自己的一个爱好,就不定时写写!我最喜欢的古文是《岳阳楼记》,其中一句是我影响最深的–迁客骚人,多会于此。览物之情,得无异乎?所以我大概有成为“骚人”的梦想吧!毕竟我现实中挺内敛的。 我自诩程序员为“键盘侠”,所以我写的第一首诗为《键盘赋》,来内涵下开发人员的死对头(产品?.
2021-10-16 22:03:40
303
原创 记一次Spring源码分析(01.准备工作及java知识补充)
关于Spring我就不再多介绍了,本文主要介绍Spring源码阅读的准备工作。说到spring框架,我们都知道是其基于反射和动态代理实现的。那我们就来看看反射和动态代理……1.源码获取及编译 直接从GitHub获取,我就不再其他描述了。2.Spring流程图 Spring的本质是一个bean对象的容器,里面存放了bean对象。那容器最核心的是:存储、获取(查询)、生命周期等,例如我们java中Map,put()存储元素,get()获取元素。那.
2021-03-27 23:39:03
292
原创 JVM篇(05.垃圾回收)
关于JVM垃圾回收,我们知道有各种垃圾回收算法和各种垃圾回收器。本文将对这些知识进行介绍。1.垃圾回收什么是垃圾?垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要回收的垃圾。如果不及时对内存中的垃圾进行清理,那么,这些垃圾对象所占用的内存空间会一直保留到应用程序结束,被保留的空间无法被其他对象使用。甚至可能导致内存溢出。1.1 内存溢出1.2 内存泄漏2.垃圾回收算法3.垃圾回收器 我们先看下classFile的.
2021-03-25 01:44:17
521
1
原创 JVM篇(04.JVM内存结构[运行时数据区])
我们最熟悉的JVM内存结构就是堆(heap)和栈(stack),除了堆和栈,还有什么?这就是我们今天要讨论的内容。1.JVM内存结构图 我们先看下JVM结构图 JDK1.8中的内存结构 从上图可以发现:JVM运行时数据区(Runningtime Data Area)有如下几个组成部分:程序计数器(Program Counter Regist.
2021-01-13 00:53:21
563
原创 JDK1.8HashMap源码解析
本文HashMap源码解析是基于JDK1.81. 数据结构 JDK 1.8中,HashMap底层是由“数组+链表+红黑树”组成,如下图,而在 JDK 1.8 之前是由“数组+链表”组成。 JDK1.8中HashMap引入红黑树的主要原因是为了解决链表太长查找的性能变差的问题。2. 继承关系 3. HashMap 下面我们一起来分析HashMap类的源码。3.1 相关字段 /** * 默
2021-01-05 00:08:45
267
原创 JVM篇(03.阅读class字节码)
class文件是JVM的输入,是JVM实现平台无关、技术无关的基础。java虚拟机规范中定义了class文件的结构。class文件格式概述 我们先看下classFile的结构(查阅java 虚拟机规范)ClassFile{ u4 magic; u2 minor_version; u2 major_version; u2 constant_pool_count; cp_info co.
2020-11-10 09:38:00
213
原创 JVM篇(02.JAVA ASM简介)
我们知道Java是静态语言,而python、ruby是动态语言,Java程序一旦写好很难在运行时更改类的行为,而python、ruby可以。不过基于bytecode层面上我们可以做一些手脚,来使Java程序多一些灵活性和Magic,ASM就是这样一个应用广泛的开源库。 可能我们在开发中几乎对ASM没有印象,我记得当时学习cglib反向代理的时候,就需要映入asm.jarASM概述ASM是一个Java字节码操纵框架,它可以动态生成类或者增强既有类的功能ASM可以直接产生二进制class文件.
2020-11-10 09:09:51
865
原创 JVM篇(01.JAVA体系与JVM)
JVM篇(01.JAVA体系与JVM) 关于JVM,可能我们最大的印象就是JDK、JRE和JVM三者的关系。然后就是有些程序可能需要比较大的堆内存,需要在启动配置上配置:-Xms -Xmx等。我记得我第一份工作是做银行系统的,当时系统比较老,没有用到redis缓存,然后程序启动的时候就会创建比较多的监听对象和缓存对象,当时我们就需要配置-Xms -Xmx这两个参数,否则程序会出现OOM。那么我们就从JDK、JRE及JVM三者的关系开始,深入的了解下JVM。
2020-11-09 12:32:53
303
1
原创 Java类加载过程(二)-- 自定义类加载器
接着上篇博客,下面我们来看看如何自定义类加载器自定义类加载器 JVM中除根类加载器之外的所有类加载器都是ClassLoader子类的实例,开发者可以通过扩展ClassLoader的子类,并重写该ClassLoader所包含的方法来实现自定义的类加载器。 ClassLoader类有如下两个关键方法:loadClass(String name, boolean r
2020-05-31 20:32:00
493
原创 Java类加载过程(一)
不知不觉从事开发快三年了,这三年自己学的也挺多,但是由于工作用不上,又忘了;最后发现,自己连一个Java类是怎样运行的都不知道,于是拿起曾经的入门书本《疯狂Java》,结合自己的理解,把停更一年多的博客写起来_^_。JVM和类 当调用Java命令运行某个Java程序时,该命令将会启动一个java虚拟机进程,不管该java程序有多么复杂,该程序启动了多少个线程,它们都处于该java虚拟机进程里。同一个JVM的所有
2020-05-31 08:47:26
384
原创 权限管理系统实现思路(SpringCloud+Thymeleaf)(二)
   下面主要来说说Thymeleaf模板使用和权限分配的实现思路。   先看效果图:
2018-11-25 12:23:38
684
原创 Thymeleaf的普通表单提交与AJAX提交
为Java实体对象添加后台校验注解: //String类型的校验: @NotEmpty -- 不能为空 max=16 -- 最大长度为16 @NotEmpty(message = "songName不能为空") @Size(max = 16 , message = "songName长度不能超过16") private String songName;...
2018-07-02 19:59:32
23129
3
原创 SpringCloud与Thymeleaf整合demo
最近在学习SpringCloud微服务的整合,这段时间也挺迷茫的,不太确定自己的方向,特别是前端这块。最后综合各方面的因素,决定学习Thymeleaf模版引擎,它也是SpringBoot官方推荐的模版引擎。 先来介绍下Thymeleaf: - Thymeleaf是⾯向Web和独⽴环境的现代服务器端Java模板引擎, 能够处理HTML, XML, JavaScript, CSS甚⾄...
2018-06-04 22:10:03
5348
原创 用websocket实现实时聊天功能
最近想实现网页版的仿QQ聊天工具,本来想用ajax实现的,但是一想到要一直轮询,就感觉有点蠢。后来在网上找到了websocket相关的资料,就拿来跟大家分享下(不是很熟练,现在只实现了群聊,单聊的前端不会写了。但可以跟大家说说思路)。服务器端代码:首先要创建类WebSocketConfig实现ServerApplicationConfig接口,ServerApplicationConfig项目...
2018-02-25 00:27:24
9840
6
原创 用session监听实现唯一登录及普通类调用Service层的方法的实现思路
最近在写项目的时候遇到一个问题:如何实现用户唯一登录?一开始的想法是给t_user表添加一个字段login_status(登录状态),用户登录前去查询t_user的login_status的值,login_status为未登录状态,则可以进行登录;否则,不能登录。但是在用户非正常退出的情况下(即用户未点击“退出”按钮或浏览器非正常关闭),login_status的值一直为登录状态,用户无法进行登录...
2018-02-06 21:18:20
1648
原创 JavaWeb实现好友验证的思路
需求分析:大家在一些网站注册账号的时候,有时会忘记密码或者账号被盗,正规的网站都是通过手机发验证码的,这可能要调用第三方来实现。因为我是自己做的小项目,这是想有这么个验证的流程,所以我这里就用好友验证来代替。思路分析:1.从数据库中查找出所有的好友,放入一个集合(friendTemList)2.创建一个存放其他名字的集合(otherTemList),用来混淆用户视听3.创建一个随机数x(0-
2017-12-23 21:25:12
2366
原创 java网页版加好友功能实现思路
刚毕业出来工作,感觉像条咸鱼。。。,闲来无事就写了个基于SSM的在线影院的项目,想加个类似网页版QQ的功能,包括加好友及聊天。一直不知道存放好友的数据表(t_friend)该怎么设计?按传统的设计思路把数据表设计成一列表示用户名(userName),一列表示好友名(friendName),一一对应?虽然这样设计的好处是数据之间的关系一目了然,但是明显不适合用来存放好友数据,那A是B的好友,B必然是A
2017-12-10 15:13:05
9118
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人