- 博客(19)
- 收藏
- 关注
原创 如何往自己的项目中添加图形验证码?——Java
近来笔者在自己写项目,突发奇想,想在登录界面加一个图片验证码(看起来更加高大上🤭),从而去网上查询相关资料,发现要么就是囫囵吞枣式汇报,要不然就是几张截图让读者自己去猜到底怎么做的。也正是由于网上我没找到很好的方法,导致我面试的时候被问到这个东西,我没答上来,我真是栓Q!!!我曾经一度以为我要做不成这个功能了,结果在我的不懈努力下,我还是做出来了!(大佬走开,无意冒犯,我是菜鸡)啊哈哈哈哈哈哈哈哈哈哈~~~(别管,咱就是说计算机人真的很容易疯!)
2023-04-13 17:38:07
668
1
原创 线程共享?——JVM内存结构
小伙伴们在面试的时候可能都会碰到这样一个问题面试官问:“你给我讲一下JVM中线程共享/线程独立区域吧”不要慌~~ 让我们现在来复习一下这部分的知识🤩~~我们先来看一下JVM主要分哪几块区域:很容易就能理解,线程独占指每一个线程都有自己独立的内存区域,而这一块内存区域可以分为虚拟机栈,本地方法栈和程序计数器,一个进程可以拥有多个线程,而一个进程对应一个JVM实例,故这些线程必然存在共享的内存空间,这块内存空间又可以分为堆和方法区。让我们先来看看线程独占区域。
2023-03-30 10:56:39
971
2
原创 Java集合框架
Java集合框架是定义在Java.util包下的一组 接口interfaces 和其 实现类classes。在Java.util包中,提供了一些实用的方法和数据结构,更设计了一系列标准的泛型接口。熟悉集合框架,更有助于我们学习数据结构以及熟悉不同的使用场景。了解Java集合框架可以说是学习数据结构的基础,更是开发的基础,在笔试当中,也常常以选择题的方式进行相关考察。集合框架关系图:注意Map并不继承于Collection!!!从上面的关系图中,我们很容易就能得到为什么Stack
2023-01-17 14:43:01
62
原创 七大排序算法
本文详细描述了排序中常用的七大算法,均基于Java数据结构及代码实现,不熟悉Java也可以看看,毕竟思想是一样的,稍微改动即可。(此文均以顺序为最终排序结果)
2022-12-24 23:19:00
340
1
原创 二叉树的创建——递归与非递归
初学者对于二叉树的遍历,这些放在最早学习的内容,应该是非常熟悉的,但是渐渐的就会发现,对于如何创建一颗二叉树,初学者对此过程还不甚清晰。直接一个一个结点插入吗?当树的深度过大时,这显然是一个费时费力的过程。以下我们介绍二叉树的创建的两种方法——递归与非递归。
2022-11-05 17:00:50
1060
2
原创 关于栈的常见编程题
而同理,如果是让我们求前缀表达式的值,我们应从后往前遍历前缀表达式,将数字放入栈中,而碰到运算符,则弹出栈顶元素,注意:先弹出的元素此时应该放运算符的左边,后弹出的元素应该放运算符的右边,重复上述步骤,知道前缀表达式走完。此时我们可以利用栈先入后出的特性,以"({[]})"为例,先在栈中压入"(",后看剩余字符串中的第一个元素是否与栈顶元素相匹配,如果不匹配,则入栈,否则出栈,到下一个字符。给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。
2022-09-18 14:55:48
1093
6
原创 HashMap中的hashcode与equals
要了解Hashmap中hashcode与equals重写相关的底层逻辑,我们首先要了解什么是哈希表。哈希表是一种存储结构,通过某种函数使元素的存储位置与其值形成一一对应的关系。从而达到理想状态下数据的增删查改达到O(1)的时间复杂度。而哈希方法中使用的转换函数称为哈希(散列函数),构造出来的结构则为哈希表(散列表)。
2022-09-12 10:44:11
1035
1
原创 Java中toString方法的重写
不对toString方法重写:public class Animal { private String name; private String gender; private double age; public Animal(String name, String gender, double age) { this.name = name; this.gender = gender; this.age = age;
2022-05-24 19:44:54
990
原创 Java内部类
在Java中, 可以将一个类定义在另一个类或者一个方法的内部,前者称为内部类,后者称为外部类。注意:不管是内部类还是外部类,都会形成单独的字节码文件。一、实例内部类1.1实例化内部类对象(未被static修饰)实例化内部类对象要通过外部类对象来实例public class Test { public int a; private int b; protected String c; class InnerClass{ public int
2022-05-24 19:34:25
60
原创 Java中的static成员
一、static修饰成员变量static修饰的成员变量,称为静态成员变量(类变量),静态成员变量最大的特性:不属于某个具体的对象,是所有对象所共享的。(static修饰的变量是存储于方法区的)可以通过类名直接访问,也可以通过对象来访问,但是更推荐前者。二、static修饰成员方法被static修饰的成员方法,是类的方法,不是某个对象所特有的。静态成员一般通过静态方法来访问(大部分是因为访问限定符)注意:1.静态方法和静态成员一样,不属于某个具体的对象,是类方法。2.可以通过对象调用,
2022-05-16 10:00:13
2498
原创 Java 类和对象
一、类和对象类的定义:类是用来对一些实体进行描述的,比如创建一个类:人,这个类中就包含“人”的各种属性,例如:名字,年龄,性别,跑,跳等等。当我们创建完一个类之后,我们就可以创建对象(实例化),相当于给一个东西赋予这个类里的所有属性,相当于创建了一个东西,我觉得这个有点像《我的世界》,有创造那味儿了。二、类的使用2.1 类的创建我们一般用class定义一个类,一个文件当中可以定义多个类,但是一个文件中只能有一个public类,并且这个类要与文件名一致。(类名注意用大驼峰定义,每个类都会创
2022-05-11 17:16:06
225
原创 LeetCode--53.最大子数组和
LeetCode--53.最大子数组和在此题中,官方给出的解法是分治法和动态规划算法,但是本人现在还未系统全面的学习动态规划和算法, 现阶段只能以自己的思想去做,以下为本人的两种做法:一,暴力遍历int maxSubArray(int* nums, int numsSize){ int i=0,sum=*(nums); while(i<=numsSize-1) { for(;i<numsSize;i++) {
2022-04-02 18:28:10
308
原创 PAT 1005 继续(3n+1)猜想
卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这 4 个数已经在验证3的时候遇到过了,我们称 5、8、4、2 是被 3“覆盖”的数。我们称一个数列中的某个数 n 为“关键数”,如果 n 不能被数列中的其他数字所覆
2022-01-12 14:13:59
186
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人