Java
文章平均质量分 92
Hello Java
WorkLee
10+年Java开发老兵,如你需要帮忙敬请找我,我很乐意帮你。
需要帮忙请私信联系我。
专注Java,Spring,Spring Boot,微服务,数据库等技术分享。
专注成为一名架构师,分享架构师干货,汇集各类奇妙好玩的架构师话题和流行的架构师动向。
展开
-
设计模式1 - 开篇
软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。也就是说,它是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用。原创 2022-12-17 23:12:25 · 238 阅读 · 0 评论 -
设计模式2 - 创建型模式
创建型模式的主要关注点是“怎样创建对象?”,它的主要特点是“将对象的创建与使用分离”。这样可以降低系统的耦合度,使用者不需要关注对象的创建细节。原创 2022-12-17 22:59:53 · 543 阅读 · 0 评论 -
设计模式3 - 结构型模式
结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象结构型模式比类结构型模式具有更大的灵活性。原创 2022-12-17 22:53:55 · 689 阅读 · 0 评论 -
设计模式4 - 行为型模式
行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象行为模式比类行为模式具有更大的灵活性。原创 2022-12-17 22:45:01 · 844 阅读 · 0 评论 -
Java线程池
Java线程池原创 2022-11-22 09:59:47 · 332 阅读 · 0 评论 -
Java的JDK配置备忘
Windows系统(解压缩版本)本文为手动配置解压版的 jdk,想用安装版本的本文不适合。下载我这里习惯性使用 jdk8,所以按照 jdk8 的举例了,其它版本的,各位自行搜索,作者认为大差不差的。下载地址:https://www.oracle.com/java/technologies/downloads/,其它版本也能下载到,但是现在需要登录 Oracle,自行注册。问题来了,下载地址上的都是安装版的,作为新手安装版的是最好不过的了,但是作为一个高手的您,作为强迫症的我,习惯性手动配置,所以我原创 2022-03-17 12:59:49 · 1029 阅读 · 0 评论 -
HashMap是如何遍历的
前言其实用上 JDK1.8 才是近些时日的事,毕竟没有什么新的技术点必须要去用,也懒得去换 JDK 的版本了。这几天在某论坛里看到一个有关于“HashMap如何遍历”的问题,静心一想也就知道那么一两种,于是想了想还是总结总结吧。遍历方式大概的总结了一下,HashMap 遍历就是分大概4个方向吧:迭代器(Iterator)方式遍历。For Each 方式遍历。Lambda 表达式遍历(JDK1.8加入的)。Streams API 遍历(JDK1.8加入的)。大概方向是这么几个,但是遍历方法原创 2020-06-17 21:54:42 · 1014 阅读 · 0 评论 -
Java中的泛型
开始Java 泛型(generics)是 JDK 5 中引入的一个新特性,泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。作者印象中第一次接触泛型的时候应该是在学习集合的时候,今天再详细的的讨论下泛型。package com.wlee.test;import java.util.ArrayList;import java.util.List;public class GenericTest {原创 2020-06-15 03:40:05 · 280 阅读 · 0 评论 -
另类分析String,StringBuffer和StringBuilder
开始String,StringBuffer 和 StringBuilder 直接的区别这个问题已经是一个老问题了,尤其是在面试的时候会被经常提及的问题。首先 String 类型并不是 Java 语言的基本类型,它是 Java 中非常重要的一个引用类型(对象)。String 字符串一旦被创建出来就不会被修改,当你想修改 StringBuffer 或者是 StringBuilder,出于效率的考量,虽然 String 可以通过 + 来创建多个对象达到字符串拼接的效果,但是这种拼接的效率相比 StringBuf原创 2020-06-13 01:05:07 · 179 阅读 · 0 评论 -
Java中Class.forName与ClassLoader
开始在 Java 中,Class.forName() 和 ClassLoader 用的其实并不是很多,仔细回忆这两个东西,您是在什么时候才用过它们呢???其实随着您的回忆当初在学习 Java 连接数据库的时候你用到 Class.forName() ,而 ClassLoader 应该是在我们熟悉的 Spring 框架中的 IOC 的实现用的较多了。稍作分析在 Java 中 Class.forName() 和 ClassLoader 可以"粗浅"的理解他们都是对类进行加载。ClassLoader 可以实现原创 2020-06-09 03:13:52 · 261 阅读 · 0 评论 -
Java中的ClassLoader
基本概念ClassLoader 是一个重要的 Java 执行时系统组件,它负责在运行时查找和装入 Class 字节码文件。JVM 在运行时会产生三个ClassLoader:根装载器、扩展类装载器(ExtClassLoader)和系统类装载器(AppClassLoader)。其中,根装载器不是ClassLoader的子类,它使用C++编写,因此我们在 Java 中看不到它,根装载器负责装载JRE的核心类库,如JRE目标下的 rt.jar、charsets.jar 等。ExtClassLoader 和AppC原创 2020-06-09 03:10:58 · 1119 阅读 · 0 评论 -
Java中的内部类
开始谈到内部类这个词,我想很多人都是那种并不陌生但是又不熟悉的感觉。在我的记忆中当年Java的Swing模块中一些事件的监听大都是内部类实现的,还有就是Spring的JdbcTemplate中好像也有涉及,实在是记不太清了。因为大部分开发中,内部类用到的很少,所以这里只是总结性的研究。内部类在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称之为“内部类”。广泛意义上的内部类一般来说包括这四种:普通内部类(成员内部类)、局部内部类、静态内部类和匿名内部类。普通内部类(成员内部类)原创 2020-06-03 00:29:49 · 216 阅读 · 0 评论 -
Java中的单例模式
开始设计模式(Design pattern),提供了在软件开发过程中面临的一些问题的最佳解决方案,是Java开发者必修的一门课程。主要分创建型模式、结构型模式和行为型模式。其中接下来我们要讨论的是单例模式,属于创建型模式。单例模式,说白了就是类只有一个实例,这个类提供了一个访问其唯一的对象的方式,可以直接访问,不需要进行实例化该类的对象。说到了单例模式,就不得不提“static”这个关键字了,没有它单例模式就不能实现。如果你对“static关键字”有兴趣,可以看移步Java中的static关键字实现单原创 2020-06-03 00:28:29 · 156 阅读 · 0 评论 -
Java中的“static“关键字
写在前面前阵子看到一篇有关于Java中static的使用和介绍,讲的比较全面。近几日忽然想起早先工作碰到的有关static的相关问题,自己也总结一下吧。static是我们项目中经常用到的关键字,也是Java中非常重要的一个关键字,static可以修饰变量、方法、做静态代码块、静态导包等,下面我们就来具体聊一聊这个关键字。开始一提到static的时候,第一时间你会想到什么?!对了你可能第一时间就能想到main方法,main方法为什么是static修饰的???如果你不太清楚,带着疑问继续向下看吧。st原创 2020-06-03 00:26:38 · 493 阅读 · 0 评论 -
Java中的代理模式
开始近几日看到一篇有关于代理模式的文章,然后回忆早先年轻时搞过的程序和东西,想起当时在刚开始学Spring的时候才刚刚明白代理是什么东西,这是感叹时间过的太快了,随即也进行整理一下吧。什么是代理代理(Proxy)是一种设计模式,提供了间接对目标对象进行访问的方式,即通过代理对象访问目标对象。这样做的好处是,可以在目标对象实现的功能上,增加额外的功能补充,即扩展目标对象的功能。这就符合了设计模式的开闭原则,即在对既有代码不改动的情况下进行功能的扩展。举个例子吧:明星与经纪人之间就是被代理和代理的关系,原创 2020-06-03 00:16:58 · 711 阅读 · 0 评论