
java
ccl_java
大家好,我将陆续发布关于java一些研究心得,错处之处欢迎指教。
展开
-
Spring启动流程
Spring启动流程思维导图,spring启动流程 :https://www.processon.com/view/link/61513635f346fb058da194e0bean生命周期:https://www.processon.com/view/link/61513629e401fd4c898cad2b依赖循环:https://www.processon.com/view/link/61513610e401fd4c898cac9f...原创 2021-09-27 11:11:10 · 159 阅读 · 0 评论 -
spring加载流程(一)
本文旨在面向注解的方式(代码相比xml更加优雅)首先在我们看源码前,应该明白这几个点。1.spring在根据注解类加载过程中,是通过BeanDefinitionReader去读取注解的Bean定义,完成了spring内部BeanDefinition的注册。什么是BeanDefinition? 可以简单的理解为设计蓝图,里面规定了bean的名称,类,是否是懒加载,是否是Primary,是否是单例…当所有BeanDefinition都被注册进BeanDefinitionMap(存放bean定义的容器,k原创 2021-07-19 15:37:00 · 4283 阅读 · 0 评论 -
大家想看什么内容请留言
最近有空,大家想看啥内容1.nacos自动注册,深入源码2.设计模式3.设计原则4.sentinel的设计思想及其源码5.dubbo设计及其spi机制6.mysql索引实战优化原创 2021-07-19 13:23:37 · 189 阅读 · 1 评论 -
Redis核心数据结构及其应用场景
Redis核心数据结构及其应用场景首先附上redis官方文档: link.String的应用场景 redis缓存String信息可分为以下几点: 1.) 单值缓存 - SET key value //键值对 2.) 批量缓存 - MSET key value [key value ...] 3.) 对象缓存 {"name":"zhangsan","height":"180cm"} - SET user:Id value(json) - M原创 2021-04-12 23:55:34 · 188 阅读 · 0 评论 -
java模拟二叉树
java模拟二叉树首先二叉树应该由0至多个节点组成,节点用于存放自身的数据和连接其他叶子节点。首先我们先创建BST二叉树类,它应是由0至多个节点组成,size属性表明二叉树内实际元素个数。因为我们二叉树是需要根据值进行排序的,所以需要实现Comparable接口。 特别提醒此处的extends是实现接口的作用。泛型E用于表明该节点处的值。部分代码如下:public class BST<...原创 2019-07-15 17:03:36 · 503 阅读 · 2 评论 -
ssm项目的在线考试系统和python人脸识别小demo
过几天我发一下这两个项目,自己曾经写的。python人脸识别小demo 这个项目非常简单,基于face++的二次开发ssm项目的在线考试系统 这个项目不大不小,可以拿来做毕设的参考。过几天我发到GitHub上 ,希望大家多多支持哦...原创 2019-06-19 15:52:46 · 2485 阅读 · 0 评论 -
动态数组扩容与缩容
动态数组扩容与缩容想必大家都知道ArrayList的底层使用数组来实现的。今天我们就写个简易版的来实现这一功能。首先我们使用泛型 E 标识元素类型,以容纳世间万物。size 表示数组中的实际元素个数;构造分为无参构造和一个传递容器大小的有参构造。无参构造调用另一构造,初始默认大小为10;这边需要注意的是:------------ 泛型类的数组 我们不能直接初始化为 E data = n...原创 2019-06-19 13:53:15 · 36634 阅读 · 5 评论 -
微信公众号开发-消息的接收与回复(文本)
微信服务号开发-消息的接收与回复(文本)这一期我们主要讲一下,服务号的文本消息接收与被动回复。首先我们看一下微信给出的api官方文档给出的api中有那么几个重要信息,第一个微信是将手机发送给微信服务号的消息,以Xml 的形式又以Post 的请求方式下发给我的自己填写的URL上。画个图好理解一下那么有了这几个内容,我们就很容易获取文本消息了。话不多说,直接上代码讲思路import ...原创 2019-06-03 10:52:06 · 30575 阅读 · 0 评论 -
微信服务号的开发-服务器配置
微信服务号开发-服务器配置话不多说,我们主要讲重点。首先我们需要一个测试号,大家可以自己去微信公众平台申请一个。申请完后,我们需要填写以下配置信息。这里的url我使用的是花生壳来进行内网穿透,大家也可以自行选择。注意这边填写完URL后,微信将以你下一栏填写的Token 进行sha1加密,以get 的方式下发到你的服务器上。两者若是比对一致,则配置成功。下面贴一下校验代码import ...原创 2019-06-03 09:37:27 · 27464 阅读 · 0 评论 -
Arrays.asList 为何不能添加删除元素的研究
Arrays.asList() --研究最常见的未获支持的操作,都来源于背后固定大小的数据结构支持的容器。当我们使用Arrays.asList()时,就会得到这样的容器。当然你还可以使用Collections类中不可修改的方法。代码示例:public class UnSupported { static void test(String msg, List<String>...原创 2019-05-17 13:40:10 · 22866 阅读 · 5 评论 -
Set和存储顺序
Set和存储顺序在java中使用set容器存储时,除非是使用了诸如Integer和String 的java预定义的类型,这些类型是被设计可以在容器内部使用的。当我们自己创建类型时,我们需要怎么样的形式来维护存储顺序呢?其实在不同的Set实现是具有不同的行为,所以对于在特定的Set实现中,放置的类型也有不同的要求。举例类型规定Set存入Set的每个元素都必须是唯一的,因为...原创 2019-05-17 12:58:21 · 26855 阅读 · 0 评论 -
关于事务作用在service或者controller的解释
关于事务作用在service或者controller的解释最近看到有同学将@Transactional 写在dao层的方法上,这就相当于白写了,为什么这么说呢?首先我们先讲一下事务的四大特性。事务特性解释原子性(Atomicity)原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,如果操作失败则不能对数据库有任何影响。一致性(Consistency一致性...原创 2019-05-20 16:28:51 · 29177 阅读 · 0 评论