- 博客(27)
- 收藏
- 关注
原创 redis基础整理
1.什么是redis?Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下:字符串类型 (String)散列类型 (Hash) ----类似jdk1.8之前的HashMap(数组+链表)列表类型 (List)集合类型 (Set)有序集合类型 (Zset)2.redis的应用场景String应用场景缓存Mysql作为存储层,Redis作为缓存层,绝大部分数据从R
2022-03-31 01:31:06
600
1
原创 自定义一个注解
1. @interface自定义一个注解使用@interface自定义一个注解,会自动继承java.lang.annotation.Annotation接口格式:public @interface 注解名{ 定义的内容 } 2. 添加元注解1.@Target【注解的作用域】 :@Target(ElementType.TYPE) //接口、类、枚举、注解@Target(ElementType.FIELD) //字段、枚举的常量@Target(ElementType.METHOD)
2021-12-05 22:36:59
340
原创 Java数组添加元素,键盘录入一个数就添加到数组
一个刚学Java的兄弟问我:Java数组添加元素,键盘录入一个数就添加到数组刚看到这个题就想到了ArrayList的扩容机制,ArrayList底层就是数组,JDK1.8每次add都是将旧数组复制到新数组思路:每添加一次把原来的数组复制到一个新数组,每次数组长度加一代码实现: public static void main(String[] args) { int[] arr = {}; Scanner scanner = new Scanner(System.
2021-11-25 01:33:13
2127
原创 设计模式之单例模式
单例模式单例模式算是设计模式中最容易理解,也是最容易手写代码的模式。思想:始终在内存中只有一个对象饿汉式和懒汉式1.饿汉式:类加载的时候就已经创建好对象了静态实例,构造方法私有化,公共的访问方法返回实例(创建对象),是线程安全的。//饿汉式public class Singleton { private static Singleton singleton = new Singleton(); private Singleton(){} publi
2021-11-16 20:49:51
378
原创 Java多线程
1.线程和进程进程:是程序执行的一次过程,是系统资源分配的单位线程:是CPU调度和执行的单位一个进程至少包含一个线程在程序运行时,即使没有创建线程也会有多个线程,比如主线程(main)、gc线程…线程的运行是调度器安排调度,先后顺序是不能人为干预的对同一份资源操作时,线程会存在抢夺资源问题,需要加入并发控制每个线程都有优先权,但是具体调用还是要看CPU的心情2.线程的创建继承Thread类,重写run方法,创建线程对象调用start方法启动线程(重点,Thread类本身就实现了Run
2021-11-16 17:07:33
369
原创 王哥私房菜Linux常用命令
Linux基本命令1.我是谁who am i2.我在哪pwd3.查看ip地址ip addr | ip a | ip address4.清屏clear5.ping 域名 | ipping 地址6.强制停止ctrl + c目录命令1. 列出目录 — ls列出详细目录 — ll2. 切换目录 — cd 具体路径. 当前目录/ 根目录… 上级目录~ 当前登录用户的HOME目录-返回3. 创建目录mkdir 目录名称4. 删除目录rmdir 目录名称
2021-10-14 16:58:51
98
原创 springboot 邮箱邮件激活验证
1.添加依赖<!--mail--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId></dependency>2.配置文件application.properties#邮件配置spring.mail.host=smtp.qq.com#
2021-10-11 20:24:00
327
原创 登陆注册加入验证码
验证码1.作用防止暴力攻击,前端安全保障2.第一步导入jar包 <!-- 验证码认证的依赖--> <dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifactId> <version>2.3.2</version> <exclusions
2021-09-23 17:48:09
179
原创 Mybatis
mybatis简介MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。mybatis配置MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 配置文档的顶层结构如下:安装
2021-09-15 18:11:28
114
原创 Ajax的使用方式
1.Ajax的原生写法// 1)创建代理对象var xhttp;if (window.XMLHttpRequest) { xhttp = new XMLHttpRequest(); } else { // code for IE6, IE5 xhttp = new ActiveXObject("Microsoft.XMLHTTP");}//2)建立连接xhttp.open("提交方式","url","boolean变量 是否异步,默认true") ;//3
2021-09-03 09:48:16
83
原创 老板,来一套原生 Jdbc
1. 什么是 JDBC?JDBC(Java Database Connectivity) Java 连接数据库的规范(标准),可以使用 Java语言连接数据库完成CRUD 操作。2.JDBC 核心思想Java 中定义了访问数据库的接口,可以为多种关系型数据库提供统一的访问方式。由数据库厂商提供驱动实现类(Driver 数据库驱动)。3.JDBC 开发步骤3.1 环境搭建(导包)将 mysql 驱动mysql-connector-java-8.0.23复制到项目的 lib 文件夹中。.
2021-08-21 11:16:03
91
原创 MYSQL经典多表查询练习
mysql多表查询练习题-- 部门表CREATE TABLE dept ( id INT PRIMARY KEY PRIMARY KEY, -- 部门id dname VARCHAR(50), -- 部门名称 loc VARCHAR(50) -- 部门所在地);-- 添加4个部门INSERT INTO dept(id,dname,loc) VALUES (10,'教研部','北京'),(20,'学工部','上海'),(30,'销售部','广州'),(40,'财务部','深圳'
2021-08-16 21:23:08
3785
原创 Java通过反射访问类的成员属性,构造方法,成员方法
反射1.获取类的字节码文件对象Object类的getClass方法:通过类对象获取类的字节码文件对象 Student s = new Student(); Class clazz = s.getClass();类的class属性:通过类名.class获取类的字节码文件对象 Class clazz = Student.class;Class类的forName方法:通过类的全限定名称获取类的字节码文件对象 Class clazz = Class.f
2021-08-16 00:28:01
230
原创 Java 键盘录入一个字符串:判断字符串是否为对称字符串
键盘录入一个字符串:判断字符串是否为对称字符串1.方式一分析:1)定义一个功能完成 compare(String str)—返回值 boolean 1.1) 获取字符串长度 str.length() 1.2) 创建一个字符数组:动态初始化 char[] charArray = new char[str.length()] ; 1.3)遍历字符串 ---->通过获取功能: str.charAt(角标);获取到每一字符 赋值字符数组的每一个元素 1.4)遍历charA
2021-07-28 21:23:39
2325
原创 Java中String类的常用方法
Java中String类的常用方法1.获取功能int length():获取字符串长度面试题: 在数组中有没有length方法,在String类中有没有length方法,在集合中有没有length方法? !数组中没有length方法,有length属性 int[] arr = new int[3] ; arr.length; ! String类中有length() ! 集合中
2021-07-28 20:11:42
112
原创 Java三大特征 封装 继承 多态
Java三大特征1.封装什么是封装?就是将一个类(能够描述现实世界事物的)的属性细节隐藏(成员变量私有化),保证数据的安全性,从而对外提供公共的//访问方法!class Student{ //属性私有化 private String name ;//姓名 private int age ; //年龄 private String gender ;//性别 //... //对外提供公共的访问方法 //给学生的姓名赋值 public void
2021-07-24 15:39:10
159
2
原创 局部变量和成员变量的区别
局部变量和成员变量的区别区别: 1)书写位置不同 成员变量:类中方法外 局部变量:在方法定义中或者方法声明上 2)内存中的位置不同 成员变量:在堆内存中 局部变量:在栈内存中 3)生命周期不同 成员变量:随着对象的创建而存在,随着对象创建完毕,等待垃圾回收器回收对象(空闲时进行回收)才能消失 局部变量:随着方法调用存在,随着方法调用结束而消失 4)初始化不同: 成员变量:在堆内存中由系统默认初始化(根据成员变量的类型进行默认初始化
2021-07-24 10:04:37
285
原创 Java实现选择排序
Java选择排序选择排序思想: 使用0角标对应的元素依次和后面角标对应的元素进行比较,小的往前放,第一次比较完毕最小值出现在最小索引处,依次这样比较 比较的次数:数组长度-1次//遍历功能public static void bl(int arr[]) { System.out.print("{"); for(int i = 0 ; i < arr.length ; i++){ if(i==arr.length-1)
2021-07-23 17:35:27
154
1
原创 面试题: 抽象类和接口之间的区别
面试题:抽象类和接口之间的区别1)成员的区别:抽象类中成员变量:既可以是常量,也可以是变量成员方法:既可以是抽象方法(abstract不能省略),也可以是非抽象方法构造方法:既存在无参构造方法,也可以存在有参构造方法(目的:为了给当前类进行数据初始化) abstract class Animal{ private String name ; private int age ; private String c
2021-07-22 21:47:38
137
原创 Java死循环while(true) 猜数字小游戏
猜数字小游戏1.死循环死循环 两种格式: for( ; ; ) { 循环体语句; } while(true){ 循环体语句; } 灵活使用死循环:在开发中使用,当前满足某个条件,跳转死循环!(结束掉/中断掉) break; 关键字2.代码实现import java.util.Scanner;class GuessNum{ public static void main(String[] args
2021-07-17 16:11:20
510
1
原创 Java解决百钱买百鸡问题(穷举法)
Java解决百钱买百鸡问题(穷举法)1. 百钱买百鸡 我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何? 意思就是公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买一百只鸡, 其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。2.问题分析分析(枚举法)设x为公鸡个数,y为母鸡个数,z为小鸡个数。如果100钱全部都买公鸡,最多可以买20只,所以第一个循环x的
2021-07-17 15:47:12
8547
2
原创 简述Student s = new Student(); 这个过程完成了哪些事?(Java)
已有Student类,创建一个Student对象过程中完成了哪些事?加载Student.class字节码文件(类就加载一次)。在栈内存中Student类型的变量s开辟栈内存空间。在堆内存中申请空间地址。在堆内存中给Student类的所有成员进行默认初始化。再通过构造方法进行数据初始化。默认初始化完成,产生一个堆内存空间地址。将堆内存空间地址值赋给栈内存的这个变量。栈内存的变量s指向堆内存地址!...
2021-07-17 09:58:55
1333
原创 控制台打印所有的水仙花数(Java)
水仙花数一、什么是水仙花数?二、分析及代码实现1.分析2.代码展示总结一、什么是水仙花数?水仙花数指的是三位数:明确了范围100-999这个三位数:每一个位上的数据的立方之和是当前数据本身!举例:153 = 111 + 555 +333二、分析及代码实现1.分析个位的立方+十位的立方+百位的立方==数据本身for(int x = 100; x <1000; x++){ //循环中:获取到个位,十位,百位的数据 //定义三个变量 int ge = x % 10 ;//
2021-07-17 09:24:32
697
原创 求长方形的面积和周长(Java)
定义一个长方形类, 长和宽是它的两个属性,定义为成员变量,求长方形的面积和周长。1.代码实现/* 定义一个长方形类, 长和宽是它的两个属性,定义为成员变量,求长方形的面积和周长 */import java.util.Scanner;class Rectangle{ int length; int width; public int area(){ return length*width; } public int perimeter(){ return (length+wi
2021-07-15 21:49:42
13686
1
原创 java实现冒泡排序
冒泡排序法对数组排序1.代码实现public class bubbleSort { public static void main(String[] args){ //定义原始数组,静态初始化 int[] arr = {32,65,54,75,21}; System.out.print("冒泡排序前:["); bianLi(arr); System.out.println(); System.out.print("冒泡排序后:["); bbSort(arr); b
2021-07-14 19:45:56
398
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人