自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 Spring学习笔记(1):Ioc容器

Spring学习笔记(1):Ioc容器。spring官方文档阅读笔迹

2023-03-11 11:34:39 98

原创 对象列表,JSON转成excel表工具类

最近做一个功能需要将数据库的数据转换成excel,突发奇想,做一个工具类,以后遇到对象列表转换成exce以及json转换成excel都可以直接使用。

2023-01-19 17:06:36 1746

原创 java二进制操作工具类

目前完成的功能有:支持整型,长整型的二进制输出显示支持两个整形;长整型拼接成一个长整型(可用于两个id生成另外一个唯一的id)

2022-08-17 15:20:24 804

原创 建造模式详解

当创建一个复杂对象时,这个对象由各个部分的子对象构成,这个复杂对象的各个部分经常面临着剧烈的变化。我理解的主要有两种建造模式,一些基本部件不会变,而其组合经常变化的时候,例如餐厅点餐;另外一种是,组合不会改变,或是部件的装配的顺序一定时,例如电脑的构建。......

2022-07-16 16:16:57 220

原创 动态代理Demo

动态代理demo,提供了三种方式实现代理:使用cglibproxy实现动态代理;使用jdk的实现动态代理(使用了反射);静态代理实例。

2022-07-06 15:34:17 151

原创 抽象工厂模式详解

抽象工厂模式是围绕一个超级工厂创建其他工厂,该超级工厂又称为其他工厂的工厂,这些由超级工厂创建的工厂可以创造一系列的产品。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类,每个生成的工厂都能按照工厂模式提供对象。......

2022-06-28 16:37:22 485

原创 工厂模式详解

在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。

2022-06-21 17:36:04 53

原创 单例模式详解

保证一个类仅有一个实例,并提供一个访问它的全局访问点。为了节省系统资源的时候,并且这个只需要一个实例。

2022-06-17 17:08:33 54

原创 设计模式的原则

设计模式的六大原则是为了需要进行拓展的时候,为了使程序的扩展性好,易于维护和升级。但是这样做也会有不好的地方,会让代码结构更加复杂(不易读懂),建设初期比较耗时,所以要识别出一个业务哪里是需要扩展的,哪里可以复用,选择合适的设计模式,这样才能事半功倍。............

2022-06-17 16:05:54 52

原创 列表与树的处理

最近做一个功能需要将数据库的数据转换成树结构,可以转换成树的数据往往数据库里的表字段含有parent_id这种代表关系,突发奇想,做一个泛型的树工具类,以后遇到这种结构都可以直接转换成树使用。

2022-04-25 16:39:22 708

原创 安装Tomcat

安装Tomcat

2022-04-19 14:58:10 206

原创 安装jdk,配置环境变量

安装jdk,配置环境变量

2022-04-19 14:49:49 194

原创 Kaka常用命令

Kafka中topic,生产者,消费者常用命令

2022-03-22 15:41:56 201

原创 Kafka安装

Kaka与zookeeper安装

2022-03-22 15:38:55 1964

原创 Kafka理解

Apache Kafka是分布式发布-订阅消息系统,在 kafka官网上对 kafka 的定义:一个分布式发布-订阅消息传递系统。 它最初由LinkedIn公司开发,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。

2022-03-22 15:35:05 2333

原创 Vector源码

Vector与ArrayList的底层都是由数组实现,必要时可扩容。都可以类比成一个大小可变的数组,因此可以根据下标查找值,非常高的效率。但是删除或者从中删除节点,需要对很多元素进行修改,效率不是很高。Vector与ArrayList不一样的地方就是Vector大多数的方法加有synchronized关键字,是线程安全的。

2021-12-27 19:11:14 652

原创 LinkedList源码阅读

LinkedList的底层是由链表实现,不需要扩容。根据下标查找值,要从头节点或尾节点迭代查找,效率较低。但是插入或者从中删除节点,不会像ArrayList有空间上的扩容和移动元素,效率较高。LinkedList线程不安全。

2021-12-21 19:20:03 241

原创 ArrayList源码解读

ArrayList的底层是由数组实现,必要时可通过扩容。可以类比ArrayList是一个大小可变的数组,因此可以根据下标查找值,非常高的效率。但是删除或者从中删除节点,需要对很多元素进行修改,效率不是很高。ArrayList线程不安全。

2021-12-17 18:27:49 107

原创 HashMap源码解读

HashMap源码解读HashMap属性://哈希表:可见HashMap底层是由链表数组实现的,实际上超过threshold,会转变成它的子类TreeNode(红黑树)transient Node<K,V>[] table;//<k,v>元素集合transient Set<Map.Entry<K,V>> entrySet;//hashMap元素个数transient int size;//修改数,遍历的时候作为判断是否在遍历时发生改变t

2021-12-14 19:10:42 175

原创 SpringBoot统一响应模板

目录一、主要功能二、前置条件三、代码示例1. ApiResult 类2. ApiException 类3. ApiExceptionHandler类一、主要功能响应消息统一异常信息统一处理和自定义异常二、前置条件无三、代码示例1. ApiResult 类响应模板类,作为前后端数据响应的模板,包括成功状态,响应码,响应消息,响应数据构成。public class ApiResult<T> { private static final String SUCCESS_CO

2021-05-15 17:20:05 334

原创 相同或相似类的对象之间的深拷贝和浅拷贝

相同或相似类的对象之间的深拷贝和浅拷贝重写clone()Person person = new Person("jack", new Address("chengdu"));Person clone = person.clone();@Data@AllArgsConstructor@NoArgsConstructorpublic class Person implements Cloneable { private String name; private Address a

2021-04-14 11:12:13 269 3

转载 Java如何对一个对象进行深拷贝?

Java如何对一个对象进行深拷贝?https://www.cnblogs.com/xinruyi/p/11537963.html出处 https://www.cnblogs.com/xinruyi

2021-04-08 17:05:51 63

原创 java数组三种初始化方式和list的六种赋值方式

java数组三种初始化方式 public static void main(String[] args) { //第一种数组初始化 Integer[] ints1 = {1,2,3}; //第二种数组初始化 Integer[] ints2 = new Integer[]{4,5,6}; //第三种数组初始化 Integer[] ints3 = new Integer[3]; for (int i

2021-01-24 22:08:18 3238

原创 java种switch语句使用枚举变量

java种switch语句使用枚举变量枚举类:public enum TestEnum { MAP_ONE("one","第一个map"), MAP_TWO("two","第一个map"), MAP_THREE("three","第一个map"), DEFAULT_MAP("","默认map"); public String key; public String value; TestEnum(String key, String value

2021-01-09 22:26:57 254

原创 Java操作符易错和易忽视的知识点

Java操作符易忽视的知识点1.赋值操作符“=”赋值时,其实对其赋值的时对象的引用,而不是对象本身。在修改对象后,所有引用该对象的值都将改变。方法的传参理同于赋值,下面用一个方法调用来展示: public static void main(String[] args) { test1(); } private static void test1() { Person zhangsan = new Person(); zhangs

2021-01-07 23:13:16 72

原创 对象的使用易忽略的知识点

对象的使用基本成员默认值若某类的某个成员时基本数据类型,即使没有初始化,也会给其默认值,上一篇以写出:https://editor.csdn.net/md/?articleId=111939116默认导包默认导入java.lang到所有的文件中,所以他的所有类都可以直接使用,文档链接:jdk官方文档、中文文档注释文档//todo P32文档注解标签//todo P34...

2021-01-02 23:09:36 64

原创 命令行和idea构建javadoc文档

javadoc构建文档源文件/** * 一切都是对象程序入口 * @author heixs * @version jdk1.8 * <h1>嵌入式标签测试</h1> */public class MainTest { /** * 程序入口 * @param args 命令行参数 */ public static void main(String[] args) { test1(args); }

2021-01-02 22:19:15 140

原创 Java运行命令行参数及常见问题

Java运行命令行参数及常见问题问题: 编写一个程序,打印出从命令行获得的第三个参数Java源码:public class MainTest { public static void main(String[] args) { test1(args); } /** * 编写一个程序,打印出从命令行获得的第三个参数 */ private static void test1(String[] args) { if(a

2021-01-02 00:32:00 343

原创 对象的储存位置

对象的储存位置对象的储存到什么地方1)寄存器。 最快的储存区,不能直接控制,也不能在程序中感觉到寄存器存在的迹象2)堆栈。 位于通用RAM(随机访问存储器中),速度次之。创建程序时,Java系统必须知道对象的生命周期,以便移动指针,一般储存对象的引用,不储存对象。3)堆。 一种通用的内存池(也位于RAM区中),用于存放所有的Java对象。用堆进行储存分配和清理比在堆栈上储存更费时间(c++可以在堆栈直接创建对象)4)常量储存。 常量值通常直接存放在程序内部。5)非RAM储存。 储存持久化对象。诸

2020-12-29 23:17:49 1223

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除