自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2.Redis高阶篇

redis是单线程主要是指redis的网络IO和键值对读写是由一个线程来完成的,redis在处理客户端的请求时包括获取(socket读)、解析、执行、内容返回(socket写)等都由一个顺序串行的主线程处理,这就是所谓的“单线程”。这也是redis对外提供键值存储服务的主要流程。但redis的其他功能,比如持久化RDB、AOF、异步删除、集群数据同步等,其实是由额外的线程执行的;redis命令工作线程是单线程的,但是,整个redis来说,是多线程的对于redis主要的性能瓶颈是内存或者网络带宽而非CPU。

2024-04-02 16:45:09 272

原创 1.Redis基础篇

linux安装redis需要具备gcc编译环境。

2024-04-02 16:44:33 639

原创 1.Spring5

sping5

2023-02-20 09:24:20 92

原创 29.递归

递归

2023-02-06 14:22:46 92

原创 28.File类

File类

2023-02-06 14:21:43 87

原创 27.多线程

多线程

2023-02-06 14:21:37 74

原创 26.异常

异常

2023-02-06 14:21:01 30

原创 24.内部类

java内部类

2023-02-06 14:20:01 28

原创 23.final关键字

final关键字

2023-02-06 14:19:56 36

原创 22.多态

多态

2023-02-06 14:17:11 24

原创 21.接口

java接口

2023-02-06 14:16:40 41

原创 20.抽象类

抽象类

2023-02-06 14:15:52 40

原创 19.继承

Java继承

2023-02-06 14:15:16 25

原创 1.Scanner类

Scanner类:实现键盘输入数据到程序中,获取键盘输入的数据(引用类型)引用类型使用步骤:导包import 包路径.类名称如果需要使用的目标类和当前类位于同一个包下,则可以省略导包语句不写;只有java.lang包下面的内容不需要导包,其他的都需要import语句创建类名称 对象名 = new 类名称()使用对象名.成员方法名()import java.util.Scanner;public class ScannerDemo { public stat

2022-04-06 12:06:58 358

原创 2.Collection集合

Collection接口:定义的是所有单列集合中共性的方法,所有的单列集合都可以使用共性的方法(没有带索引的方法)List接口:有序的集合(存储和取出元素顺序相同);允许存储重复的元素; 有索引,可以使用普通的for循环遍历Vector集合ArrayList集合LinkedList集合Set接口:不允许存储重复元素;没有索引(不能使用普通的for循环遍历)TreeSet集合:无序的集合(存储和取出元素顺序可能不一致)HashSet集合:无序的集合(存储和取出元素顺序可能不一致):

2022-04-06 12:06:29 647

原创 3.迭代器

Iterator迭代器:遍历集合的接口迭代:即Collection集合元素的通用的获取方式。在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,还有再取,一直把集合中所有的元素全部取出来package Collection;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;/** * 两个常用的方法: * boolean hasNext():如果有元素

2022-04-06 12:05:51 61

原创 4.字符串

字符串常量池:程序当中直接写上双引号的字符串,就在字符串常量池中对于基本类型来说:==是进行数值的比较对于引用类型来说:==是进行地址值的比较/** * 字符串的特点: * 1.字符串的内容永不可变 * 2.正是字符串的内容永不可变,所以字符串是可以共享使用的 * 3.字符串效果上相当于char[]字符串数组,但是底层原理是byte[]字节数组 * 创建字符串的常见3+1种方式 * 三种构造方法: * public String():创建一个空白字符串,不含有任何内容 * public

2022-04-06 12:05:21 83

原创 5.static静态关键字

注意事项:静态不能直接访问非静态(非静态可以访问静态)因为在内存中是先有的静态内容,后有的非静态内容静态方法中不能用thisthis代表当前对象,通过谁调用的方法谁就是当前对象静态代码块:特点:当第一次用到本类时,静态代码块执行唯一的一次;静态内容总是优先于非静态,所以静态代码块比构造方法先执行典型用途:用来一次性地对静态成员变量进行赋值public class StaticDemo { static { //静态代码块内容

2022-04-06 12:04:52 37

原创 6.Arrays工具类

import java.util.Arrays;/** * java.util.Arrays是一个与数组相关的工具类,里面提供了大量的静态方法,用来实现数组常规的操作 * 方法: * public static String toString(数组):将参数数组变成字符串(按照默认格式:[元素1,元素2,...] * public static void sort(数组):按照默认升序(从小到大)对数组的元素进行排序 * 1.如果是数值,sort默认按照升序从小到大 * 2.如果是字符串,s

2022-04-06 12:04:15 41

原创 7.匿名对象

创建对象的标准格式:类名称 对象名 = new 类名称()匿名对象就是只有右边的对象,没有左边的名字和赋值运算符:new 类名称()注意事项:匿名对象只能使用唯一一次,下次再用就在创建

2022-04-06 12:03:43 33

原创 8.Math类

/** * java.lang.Math类是数字相关的工具类,里面提供了大量的静态方法,完成与数字运算相关的操作 * public static double abs(double num):获取绝对值 * public static double ceil(double num):向上取整 * public static double floor(double num):向下取整 * public static long round(double num):四舍五入 * Math.PI代表近似

2022-04-06 12:03:12 40

原创 9.Random随机数

import java.util.Random;public class RandomDemo { public static void main(String[] args) { Random r = new Random(); int i = r.nextInt();//获取一个随机的int数字(范围是Int所有范围,有正负) int i1 = r.nextInt(10);//左闭右开区间,范围从0~9 int i2 = r.n

2022-04-06 12:02:49 84

原创 10.泛型

泛型:一种未知的数据类型,当不知道使用什么数据类型的时候,可以使用泛型泛型也可以看出是一个变量,用来接收数据类型package Collection;import java.util.ArrayList;import java.util.Iterator;public class FanxingDemo { public static void main(String[] args) { show1(); } /** * 创建集合对象,不使

2022-04-06 12:02:07 56

原创 11.可变参数

/** * 可变参数:JDK1.5之后出现的新特性 * 使用前提:当方法的参数列表数据类型已经确定,但是参数的个数不确定,就可以使用可变参数 * 使用格式:定义方法时使用,修饰符 返回值类型 方法名(数据类型...变量名){} * 可变参数的原理:可变参数底层是一个数组,根据传递参数个数不同,会创建不同长度的数组,来存储这些参数,传递的参数个数可以是0个(不传递),1,2.。。多个 * 可变参数的注意事项: * 1.一个方法的参数列表,只能有一个可变参数 * 2.如果方法的参数有多个,那么可变

2022-04-05 17:25:08 178

原创 12.Map集合

​ Map集合的特点:Map集合是一个双列集合,一个元素包含两个值(一个key,一个value)Map集合中的元素,key和value的数据类型可以相同,也可以不同Map集合中的元素,key是不允许重复的,value是可以重复的Map集合中的元素,key和value是一一对应的HashMap集合特点:implements Map<k,v>接口HashMap集合底层是哈希表,查询的速度特别的快JDK1.8之前是:数组 + 单向链表;1.8之后是:数组 + 单向链表 / 红

2022-04-05 17:24:42 214

原创 13.数据结构

数据存储的常用结构有:栈、队列、数组、链表、红黑树栈:stack,又称堆栈,它是运算受限的线性表,其限制是仅允许在标的一端进行插入和删除操作,不允许在其他任何位置进行添加、查找、删除等操作特点:先进后出(即先存进去的元素要在它后面的元素依次取出后,才能取出该元素)栈的入口和出口都是栈的顶端位置队列:queue,同堆栈一样,也是一种运算受限的线性表,其限制是允许在表的一端进行插入,而在表的另一端进行删除特点:先进先出(即存进去的元素要在它前面的元素依次取出后,才能取出该元素)

2022-04-05 17:23:04 44

原创 14.Date类

import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;/** *Date表示特定的瞬间,精确到毫秒 * 1000毫秒 = 1秒 * 毫秒值的作用:可以对时间和日期进行计算 * * Date类的空参数构造方法 * Date()获取当前系统的日期和时间 * Date(long date):传递毫秒值,把毫秒值转换为Date日期 * * java.text.DateF

2022-04-05 17:22:34 54

原创 15.Calendar类

import java.util.Calendar;import java.util.Date;/** * Calendar类是一个抽象类,里边提供了很多操作日历字段的方法(YEAR,MONTH,DAY_OF_MONTH,HOUR) * Calendar类无法直接创建对象使用,里边有一个静态方法叫getInstance(),该方法返回了Calendar类的子类对象 * static Calendar getInstance()使用默认时区和语言环境获得一个日历 * * Calendar日历类

2022-04-05 17:22:00 64

原创 16.System类

import java.util.Arrays;/** * java.lang.System类只中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,常用方法有: * 1.public static long currentTimeMillis():返回当前时间的毫秒值 * 2.public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length):将数组中指定的数据拷贝到另一个数组中

2022-04-05 17:21:15 44

原创 17.StringBuilder类

StringBuilder类:字符串缓冲区,可以提高字符串的操作效率(看成一个长度可以变化的字符串);底层也是一个数组,但是没有被final修饰,可以改变长度StringBuilder在内存中始终是一个数组,占用空间少,效率高,如果超出了StringBuilder的容量,会自动扩容/** * 构造方法: * 1.StringBuilder()构造一个不带任何字符的字符串生成器,其初始容量为16个字符 * 2.StringBuilder(String str)构造一个字符串生成器,并初始化为指定的字

2022-04-05 17:19:44 129

原创 18.包装类

包装类的定义:基本数据类型使用起来非常方便,但是没有对应的方法来操作这些基本类型的数据,可以使用一个类把基本类型的数据装起来,在类中定义一些方法,这个类叫做包装类,我们可以使用类中的方法来操作这些基本类型的数据/** * 装箱:把基本类型的数据,包装到包装类中 * 构造方法: * 1.Integer(int value)构造一个新分配的Integer对象,它表示指定的int值 * 2.Integer(String s)构造一个新分配的Integer对象,它表示String参数

2022-04-05 17:19:09 34

原创 8.Listener监听器

事件监听机制:事件:一件事情事件源:事件发生的地方监听器:一个对象注册监听:将事件、事件源、监听器绑定在一起。当事件源上发生某个事件后,执行监听器代码ServletContextListener:监听ServletContext对象的创建和销毁void contextDestroyed(ServletContextEvent sce):ServletContext对象被销毁之前会调用该方法(服务器正常关闭后销毁ServletContext对象)void contextIniti

2022-04-05 17:18:15 593

原创 7.Filter过滤器

概念:当访问服务器资源的时候,过滤器可以将请求拦截下来,完成一些特殊的功能;如:登录验证、统一编码处理、敏感字符过滤步骤:定义一个类,实现接口Filter复写方法配置拦截路径web.xml <filter> <filter-name>filterDemo</filter-name> <filter-class>filter.FilterDemo</filter-class> </filter&

2022-04-05 17:17:49 391

原创 1.xml

XML组成部分:文档声明:格式:<?xml 属性列表 ?>属性列表:version:版本号,必须的属性encoding:编码方式,告知解析引擎当前文档使用的字符集,默认值:ISO-8859-1standalone:是否独立(yes:不依赖其他文件;no:依赖其他文件)指令(了解):结合css的<?xml-stylesheet type ="text/css" href="a.css"?>标签:标签名称自定义规则:名称可以包含字母、数字

2022-01-23 15:56:02 431

原创 2.Tomcat

常见的java相关的web服务器软件:webLogic:oracle公司,大型的javaEE服务器,支持所有的javaEE规范,收费的。webSphere:IBM公司,大型的javaEE服务器,支持所有的javaEE规范,收费的。JBOSS:JBOSS公司的,大型的javaEE服务器,支持所有的javaEE规范,收费的。Tomcat(Java Web服务器):Apache基金组织,中小型的javaEE服务器,仅仅支持少量的javaEE规范,开原的,免费的。netstat -ano(查看电脑各I

2022-01-23 15:55:32 215

原创 3.HTTP

HTTP:Hyper Text Transfer Protocol 超文本传输协议传输协议:定义了客户端和服务端通信时,发送数据的格式特点:基于TCP/IP的高级协议默认端口号:80基于请求/响应模型的:一次请求对应一次响应无状态的:每次请求之间相互独立,不能交互数据历史版本:1.0:每一次请求响应都会建立新的链接1.1:会复用链接请求消息数据格式请求行请求方式 / 请求url / 请求协议/版本GET / login.html / HTTP/1.1请求头:

2022-01-23 15:55:02 63

原创 4.Servlet

servlet定义:称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。概念:运行在服务器端

2022-01-23 15:54:31 312

原创 5.会话(Cookie与Session)

会话:概述:一次会话中包含多次请求和响应。(浏览器第一次给服务器资源发送请求,会话建立,直到一方断开为止)功能:在一次会话范围内的多次请求间,共享数据方式:客户端会话技术:Cookie服务端会话技术:SessionCookie:概念:客户端会话技术,将数据保存到客户端使用步骤:创建Cookie对象,绑定数据:new Cookie(String name,String value)发送Cookie对象:response.addCookie(Cookie cooki

2022-01-23 15:54:06 94

原创 6.JSP

浏览器访问jsp文件原理:服务器解析请求消息,找是否有.jsp资源如果有,会将.jsp文件转换为.java文件编译.java文件,生成.class字节码文件由字节码文件提供访问实质:JSP本质上就是一个servletJSP的脚本:JSP定义java代码的方式<% 代码 %>:定义的java代码在service方法中,service方法中可以定义什么,脚本就可以定义什么<%! 代码 %>:定义的java代码在jsp转换后的java类的成员位置(如:成员变量,成员方

2022-01-23 15:53:01 50

原创 7.Element-UI

基于命令行方式手动安装安装依赖包 npm i element-ui -S导入Element-UI相关资源//导入组件库import ElementUI from 'element-ui';//导入组件相关样式import 'element-ui/lib/theme-chalk/index.css'//配置vue插件Vue.use(ElementUI)基于图形化界面自动安装运行vue ui 命令,打开图形化界面通过vue项目管理器,进入具体的项目配置面板点击插件-&g

2021-11-05 15:27:16 58

空空如也

空空如也

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

TA关注的人

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