Java 基础学习
文章平均质量分 65
底层原理 构造
基础知识
安宁#
热爱编程
展开
-
工厂模式源码
import com.cy.shape.Circle;import com.cy.shape.Rectangle;import com.cy.shape.Shape;import com.cy.shape.Square;/** 图形工厂类 */public class ShapeFactory { // 使用getShape方法获取形状类型的对象 public Shape getShape(String shape) { if (shape == null) {.原创 2021-09-17 22:57:01 · 221 阅读 · 0 评论 -
Java基础-关键字
文章目录1.关键字1.关键字static、final、interface、abstract、this、super等关键字的具体使用以及注意事项。static 和 finalstatic:一直存放在内存中,可直接调用,无虚重新new一块空间初始化数据,实现一个系统的缓存作用,其生命周期直到应用程序退出结束。且static修饰的类成员,在程序运行过程中,只需要初始化一次即可,不会进行多次的初始化。用法:(1)修饰成员变量,将其变为类的成员;(2)修饰成员方法,类名.方法名的方式调用。(3)修原创 2021-09-15 23:26:58 · 138 阅读 · 0 评论 -
随机生成8位字母密钥
char[] random = new char[]{'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z','a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't'.原创 2021-09-06 20:09:19 · 437 阅读 · 0 评论 -
冒泡排序和快速排序
在做笔试的时候,总会出现一些题目需要排序,为此可以提前准备两个排序。冒泡(Bubble sort)和快速排序(Quick sort)。时间复杂度:在最差的情况下,快速排序和冒泡排序的时间复杂度为O(n^2);快速排序的平均时间复杂度为O(nlogn),在最优的情况下也是O(nlogn)冒泡排序:冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。冒泡排序是一种稳定排序算法。上代码//冒泡排序(Bubble sort) public stat原创 2021-09-03 18:53:49 · 223 阅读 · 1 评论 -
Spring
Spring文章目录Spring1.IOC容器2.IOC操作--Bean管理1.基于XML方式-创建对象2.3Bean的作用域2.4Bean的生命周期2.5XML方式-自动装配2.6引入外部配置文件2.7基于注解方式--创建对象2.8基于注解方式—属性注入3.JDBCTemplate4.事务4.1事务环境搭建4.2事务操作1.IOC容器概述:控制反转综上所述:控制反转就是把创建对象,和对象间的调用的过程交给Spring来管理,目的是为了降低类与类的耦合性。底层原理: XML解析工厂模原创 2021-08-29 23:00:59 · 114 阅读 · 0 评论 -
Spring Boot整合MyBatis Plus
文章目录Spring Boot 整合 MyBatisSpring Boot 整合 ThymeleafMyBatis Plus具体操作常用注解Spring Boot 整合 MyBatis1、创建 Spring Boot 工程。2、pom.xml 引入相关依赖。3、配置 application.yml 数据源。4、创建实体类、接口,Java 代码。5、启动类进行扫包,pom.xml 配置 resources。常见问题:1、单词拼写错误2、忘记配置(启动类扫包、pom.xml 配置 resour原创 2021-08-27 23:28:47 · 86 阅读 · 0 评论 -
设计模式-单例模式
文章目录单例模式介绍实现单例模式实现方式1 饿汉式1.1 饿汉式介绍1.2 饿汉式案例2 懒汉式2.1 懒汉式线程不安全2.1.1 懒汉式线程不安全介绍2.1.2 懒汉式线程不安全案例2.2 懒汉式线程安全2.2.1 懒汉式线程安全介绍2.2.2 懒汉式线程安全案例3 双检锁/双重校验锁3.1 双检锁/双重校验锁介绍3.2 双检锁/双重校验锁案例4 登记式/静态内部类4.1 登记式/静态内部类介绍4.2 登记式/静态内部类案例5 枚举式5.1 枚举式介绍5.2 枚举式案例单例模式单例模式(Singlet原创 2021-08-26 15:07:55 · 90 阅读 · 0 评论 -
设计模式-工厂模式
文章目录工厂模式介绍实现工厂模式工厂模式(Factory Pattern)是Java中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。介绍**意图:**定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。**主要解决:**主要解决接口选择的问题。**何时使用:**我们明确地计划不同条件下创建不同实例时。**如原创 2021-08-25 17:47:14 · 125 阅读 · 1 评论 -
== 与重写equals 的区别
首先说明== : 是关系运算符 , 比较内存地址;重写的equals()方法则是比较两者的内容;1.==是关系运算符,当它作为基本类型时,比较值是否相等;作为引用类型时,比较内存地址是否相等;2.重写equals()方法Object类中的equals()方法和 = =的作用相同...原创 2021-08-24 12:06:43 · 62 阅读 · 0 评论 -
Java-面向对象
文章目录1.面向对象思想:2.面向过程和面向对象的区别:3.面向对象的特点:4.举例:把大象装冰箱5.面向对象开发,设计,特征6.类与对象7.类的使用8.成员变量与局部变量的区别9.形式参数为引用数据类型10.匿名对象1.面向对象思想:基于面向过程的一个思想。2.面向过程和面向对象的区别: 面向过程:具体的每一步我们都是参与者,关注的是解决问题的过程。 面向对象:它关注的是最终解决的结果。3.面向对象的特点: a.更符合我们的思考方式。 b.将我们从执行者变为了指原创 2021-08-24 12:01:47 · 65 阅读 · 0 评论 -
Java- 类的高级特性
文章目录1.封装2.private 关键字3.封装和private的应用4.this关键字5.构造方法6.成员变量的注意事项7.static关键字8.main方法详解9.学习使用 Java API10.代码块11.继承12.多态13. 抽象类14.接口15.包16.权限修饰符17. 内部类1.封装概述:隐藏对象的属性 和 实现细节,仅对外提供公共的访问方式。原则:1.讲不需要用户访问的内容隐藏起来。 2.将属性进行隐藏,提供公共的访问方式。优点:1.安全性高 2.独立性高 3原创 2021-08-24 11:59:58 · 183 阅读 · 0 评论 -
JAVA-常用类
文章目录常用类-串讲1.Object类1. int hashCode():2. Class getClass()3. toString()4.boolean equals(Object obj)5. Object clone() 和 void finalize()2.String类1.构造方法2.判断功能3.获取功能4.转换功能5.其他功能3.StringBuffer (StringBuilder)1.构造方法2.添加功能3.删除功能4.替换功能5.翻转功能6.截取功能面试题:4. 数组高级1.冒泡排序原创 2021-08-24 11:54:18 · 83 阅读 · 0 评论 -
JAVA-集合
12-集合1.集合概述1.集合的由来: Java语言是一门面向对象的编程语言,所以我们的业务需求大多数都是针对对象的一系列操作,并且操作多个对象。为了方便我们操作,所以我们需要一个容器来存储这些对象。 目前我们学过的容器有哪些?StringBuffer(StringBuilder):它只能存储字符串数组:可以存储对象。但是数组的长度是固定的,并且只能存储单一类型的对象。但是这两个容器不能满足我们日常开发的需求。Java又给我们提供了另一个容器,这个容器就叫做集合。2.原创 2021-08-24 11:53:37 · 67 阅读 · 0 评论 -
KMP算法的字符检索系统
package com.xiyou.dome;import java.io.*;import java.util.Arrays;/** * 单词检索统计 * 要求:一个文件 txt。 找到关键字符串的位置。 * * @author * @version 1.0 */public class Text { public static void main(String[] args) throws IOException { //1.写入匹配字符原创 2021-08-24 11:51:48 · 117 阅读 · 0 评论 -
JAVA面试积累
文章目录2.SpringBoot和 SpringCloud的区别3.排序**(1)冒泡排序****(2)选择排序****(3)插入排序****(4)快速排序****(5)归并排序****(6)基数排序****(7)希尔排序(shell)****(8)堆排序**4.单例模式和工厂模式单例模式5.Volatile、Synchronized、static关键字6.重写和重载7.抽象类和接口8.多态相关9.Static相关:11.线程安全的有哪些集合?12.Synchronized13.了解线程池吗?说一下线程池的原创 2021-08-24 11:49:55 · 123 阅读 · 1 评论 -
java知识总复习 笔记
文章目录1.面向对象1.1 形式参数1.2匿名对象1.3封装 ,继承,多态1 封装2.private 关键字3.private应用和封装4.this关键字5.构造方法6.标准类的构造8.main学习方法9.学习使用java API10.代码块11.继承12.多态13.抽象类14.接口2.常用类3.类的高级特性4.集合5.IO流1.IO概述2.FileOutputStream 字节输出流3.FileInputStream 字节输入流操作步骤:1.创建字节流对象2.调用read()方法4.字节缓冲流5.字符流5原创 2021-08-20 15:47:13 · 850 阅读 · 0 评论 -
Java对象创建的过程
对象的内存布局:在HotSpot虚拟机中,对象的内存中的布局主要分为三部分:对象头(Header),实例数据(Instance Data),对象填充(Padding)。其中对象头中包含了Markword、类型指针。Markword用于存储哈希码(HashCode)、GC分代年龄、锁状态标识位、线程持有的锁、偏向线程ID等信息。这部分数据长度在32位和64位虚拟机中的长度是32bit和64bit。类型指针是对象指向它的类元数据指针,虚拟机通过这个指针来确定这个对象是哪个类的实例。如果对象是一个Jav原创 2021-08-18 10:55:36 · 64 阅读 · 0 评论 -
集合与数组的区别
集合1.集合概述1.集合的由来:2. 集合 和 数组 的区别3. 集合的继承体系结构4.Collection常用方法5. 迭代器为什么定义的是一个接口,而不是一个类呢?2.List集合1.概述2.特有功能3.并发修改异常4.常见数据结构5.List集合的三个子类1.集合概述1.集合的由来: Java语言是一门面向对象的编程语言,所以我们的业务需求大多数都是针对对象的一系列操作,并且操作多个对象。为了方便我们操作,所以我们需要一个容器来存储这些对象。 目前我们学过的容器有哪些?Strin原创 2021-08-01 23:12:02 · 242 阅读 · 0 评论