![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java笔记
文章平均质量分 84
JanuaryFM
这个作者很懒,什么都没留下…
展开
-
Zuul服务网关
1.Zuul介绍 Zuul 是 Netflix 公司开源的一个 API 网关组件 ,Zuul是从设备和网站到应用程序后端的所有请求的前门,作为边缘服务应用程序,Zuul 旨在实现动态路由,监视,弹性和安全性。Zuul 包含了对请求的路由和过滤两个最主要的功能。 Zuul是Netflix开源的微服务网关,它可以和Eureka、Ribbon、Hystrix 等组件配合使用。Zuul 的核心是一系列的过滤器,这些过滤器可以完成以下功能: 身份认证与安全:识别每个资源的验...原创 2021-10-22 21:14:20 · 317 阅读 · 0 评论 -
安全框架-SpringSecurity
1.什么是安全框架 安全框架就是解决系统安全问题的框架,如果没有安全框架,我们需要手动处理每个资源的访问控制,比较繁琐。使用安全框架,可以通过配置的方式实现对资源的访问限制。2.SpringSecurity Spring Security是一个能够为基于Sping的企业应用系统提供声明式的安全访问控制解决方案的高度自定义的安全框架,它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了 Spring IOC,DI(控制反转、依赖注入)和AOP(面向切面编...原创 2021-09-16 20:35:51 · 1428 阅读 · 0 评论 -
Redis常见问题总结
1.缓存击穿 当接收到用户用户请求时,首先尝试从Redis缓存中获取到数据,如果缓存中能取到数据则直接返回结果,当缓存中不存在数据时从DB数据库中获取数据,如果数据库中成功取到数据,则更新Redis,然后返回数据。请求获取数据流程图缓存击穿定义:高并发的情况,某个热门key突然过期,导致大量请求在Redis中未找到缓存数据进而全部去访问DB请求数据,引起DB压力瞬间增大。 解决方案:(1)Redis中...原创 2021-09-09 21:27:33 · 133 阅读 · 0 评论 -
Redis使用总结(Linux系统环境)
1.Redis的介绍及安装1.1Redis是什么?Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据 库、缓存和消息中间件。它支持多种类型的数据结构,如 字符串(strings) , 散列(hashes) , 列表(lists) , 集合(sets) , 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径 查询。1.2安装(1)下载地址...原创 2021-09-09 20:43:45 · 131 阅读 · 0 评论 -
java学习笔记27-SSM 框架集成与测试
1.配置 pom.xml//pom.xml配置<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache原创 2021-08-20 21:04:08 · 205 阅读 · 0 评论 -
JavaEE学习笔记26-Spring框架
1.什么是SpringSpring 是众多开源java项目中的一员,基于分层的javaEE应用一站式轻量级开源框架,主要核心是 IOC(控制反转/依赖注入)与 AOP(面向切面)两大技术,实现项目在开发过程中的轻松解耦,提高项 目的开发效率。Spring知识框架2.IOC和DI (1)IOC(控制反转)...原创 2021-08-16 21:26:56 · 203 阅读 · 0 评论 -
JavaScript27(续)
1.Jquery对象jQuery 是⼀套兼容多浏览器的 javascript 脚本库.。核⼼理念是写得更少,做得更多,使⽤ jQuery 将极⼤的提⾼编写 javascript 代码的效率,帮助开发者节省了⼤量的⼯作,让写出来的代码更加优雅,更加健壮。(1)优点:(1)提供了强⼤的功能函数(2)解决浏览器兼容性问题 (3)实现丰富的 UI 和插件 (4)纠正错误的脚本知识(2)安装引用:<s...原创 2021-08-08 19:56:12 · 878 阅读 · 4 评论 -
JavaScript学习笔记26(续)
1.事件事件 (Event) 是 JavaScript 应⽤跳动的⼼脏,进⾏交互,使⽹⻚动起来。当我们与浏览器中 Web⻚⾯进⾏某些类型的交互时,事件就发⽣了。事件可能是⽤户在某些内容上的点击、⿏标经过某个特定元素 或按下键盘上的某些按键。事件还可能是 Web 浏览器中发⽣的事情,⽐如说某个 Web ⻚⾯加载完成, 或者是⽤户滚动窗⼝或改变窗⼝⼤⼩。作用:(1)验证⽤户输⼊的数据。 (2)增加⻚⾯的动感效果。 (3)增强⽤户的体验度(1)事件的分类 鼠标事件:单击...原创 2021-08-06 20:52:11 · 159 阅读 · 0 评论 -
JavaScript学习笔记25
1.JavaScriptJavaScript 是一种具有面向对象能力的、解释型的程序设计语言。更具体一点,它是基于对象和事件 驱动并具有相对安全性的客户端脚本语言。它的主要目的是,验证发往服务器端的数据、增加 Web 互 动、加强用户体验度等。3.2.使用方式JS需要和HTML一起使用才有效果,我们可以通过直接或间接的方式将JS代码嵌入在HTML页面中。 (1)行内JS : 写在标签内部的js代码 (2)内部JS : 定义在sc...原创 2021-08-06 19:02:03 · 81 阅读 · 0 评论 -
Java学习笔记24-MyBatis框架
MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的 JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和 原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。1.MyBatis使用步骤1.下载jar包 2.jar包资源拿到项目中,add as lib... mybatis核心jar包 mybatis依赖...原创 2021-08-01 21:20:22 · 1359 阅读 · 1 评论 -
Java学习笔记23-JDBC
Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC: java database connectivity,java 与数据库的连接1.java连接数据库基本流程2....原创 2021-08-01 16:37:55 · 84 阅读 · 0 评论 -
Oracle学习笔记22(续)
1.连表查询(99语法)(1)笛卡尔积也叫交叉连接注:非* 必须区分 使用表名 或别名.区分查询所有的员工信息和部门信息select * from emp cross join dept;(2)等值连接2.1内连接分为两种:等值连接和非等值连接。等值连接又分为:自然连接、using连接(2-1)自然连接(自动根据同名字段,主外键关联关系 字段做等值连接)注意: 在自然连接中同名字段不能指明出处查询所有员工的部门编号select deptno from emp原创 2021-07-29 22:19:25 · 97 阅读 · 0 评论 -
Oracle学习笔记21
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。数据库现在已经成为数据管理的重要技术,也是计算机的重要分支。由于数据库具有数据结构化,最低冗余度、较高的程序与数据独立性,易于扩展、易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称 DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性...原创 2021-07-28 20:40:16 · 145 阅读 · 0 评论 -
Java学习笔记20-java8新特性(续)
1.方法引用若Lambda体中的内容有方法已经实现了,我们可以使用“方法引用”(可以理解为方法引用是Lambda 表达式的另一种表现形式,简化Lambda表达式),主要有三种语法格式:注:Lambda表达式可以使用方法引用的前提是以下两点:1)lambda体的实现是否是通过调用了另外一个方法实现的 --> √ 2)内部所引用方法的返回值是否与lambda的返回值保持一致 --> √(1)对象::实例方法名//实例代码-...原创 2021-07-27 19:36:02 · 103 阅读 · 0 评论 -
Java学习笔记19-注解与java8新特性
什么是注解?注解是Java 1.5 引入的,注解相当 于是一种嵌入在程序中的 元数据 ,可以使用注解解析工具或编译器对其进行解析,也可以指定注解在编译期或运行期有效。Annotation(注解)就是Java提供了一种元程序中的元素关联任何信息和任何元数据 (metadata)的途径和 方法。Annotation是一个接口,程序可以通过反射来获取指定程序元素的Annotation对象,然后通过 Annotation对象来获取注解里面的元数据。1.注解的作用...原创 2021-07-26 21:23:56 · 180 阅读 · 0 评论 -
Java学习笔记18-反射
什么是反射?JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个 对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 java语言的反射机制。1.反射的实现功能①在运行时判断任意一个对象所属的类;②在运行时构造任意一个类的对象;③在运行时判断任意一个类所具有的成员变量和方法;④在运行时调用任意一个对象的方法;...原创 2021-07-26 19:50:20 · 91 阅读 · 0 评论 -
Java学习笔记17-网络编程
网络编程的上层是应用,底层是关注数据如何传输,如何的存储的。1.IP地址(IP) 是Internet Protocol 的外语缩写,表示节点,网络之间互连的协议也就是为计算机网络相互连接进行通信而设计的协议。分为 : IPV4(4个字节,32位) IPV6 (128位)特殊IP: 192.168.0.0~192.168.255.255 非注册IP,供组织内部使用 127.0.0.1 本地IP localhost : 本地域名 域名...原创 2021-07-23 21:28:48 · 101 阅读 · 0 评论 -
Java学习笔记16-多线程
1.多线程 进程:执行中的程序叫做进程(Process),是一个动态的概念。为了使计算机程序得以运行,计算机需要加载代码,同时也要加载数据,每个进程由3部分组成:cpu,data,code。 线程:(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务,多任务执行,多条路径可以执行。进程与线程之间的区别: ...原创 2021-07-22 22:05:45 · 164 阅读 · 1 评论 -
Java学习笔记15-容器(续)
(1)Set接口原创 2021-07-20 21:59:31 · 99 阅读 · 0 评论 -
Java学习笔记14-容器—List接口
1.List接口特点:可以存放很多数据,List中的数据可以重复,数据是有序的,新增了一些根据索引操作数据的方法,添加null元素。List容器的特点:泛型: 规定集合存储数据的类型 | 规定数据的类型 表示 : <数据类型> 数据类型只能为引用数据类型 位置 : 定义在数据类型的后面 优点 : 帮助增强程序的稳定性...原创 2021-07-19 20:05:35 · 122 阅读 · 0 评论 -
Java学习笔记13-IO流(续)与容器
1.缓冲处理类缓冲流属于功能流,它的作用是提高读写效率。(1)字节缓冲流分为:BufferedInputStream 字节输入缓冲流 BufferedOutputStream 字节输出缓冲流注:当缓冲流无新增功能时,可以使用多态创建对象。//实例代码-文件的拷贝(使用字节缓冲流加快效率) class Class001_Buffered { public static void main(Stri...原创 2021-07-17 22:16:34 · 89 阅读 · 0 评论 -
Java学习笔记12-常用类与IO流
1.常用类(1)枚举类型枚举类型:描述一种事务的所有情况,所有可能,所有实例1.通过enum关键字定义枚举类型 2.枚举的成员,字段都作为当前枚举类型的实例存在,默认被public static final修饰 3.定义的枚举类型都会隐式的继承自java.lang.Enum 这是所有Java语言枚举类型的公共基类。4.在枚举类型中构造器默认私有 //实例代码-枚举的使用public class Class...原创 2021-07-16 21:51:31 · 125 阅读 · 0 评论 -
Java学习笔记11-异常与常用类
1.异常 异常是指程序无法正常执行完毕。(1)异常的体系 Throwable / \Error Exception不同类型的异常分别用不同的Java类表示,所有异常的根类为java.lang.Throwable,Throwable下面又派生了两个子类:Error和ExceptionError : 错误,一般由虚拟机生成并脱出,无需要程序猿管理Exception : 异常 CheckedException ...原创 2021-07-15 22:21:49 · 148 阅读 · 0 评论 -
Java学习笔记10-内部类与Lambda表达式
1.内部类(1)匿名内部类(重要)匿名对象:没有引用指向这个对象匿名内部类:没有名字的一个内部类 作用:简化一些没有类本身作用,只为了重写一些抽象方法,匿名内部类就可以简化这种实现类。 上层:子类->接口|抽象父类//实例代码-匿名内部类public class Class007_Outer { public static void main(String[] args) { //创建 实现类对象调用重写后的抽象方法(简化...原创 2021-07-13 21:58:55 · 93 阅读 · 0 评论 -
Java学习笔记9-数组
1.数组(Array)的定义数组是相同类型数据的有序集合,数组描述的是相同类型的若干个数据,按照一 定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。(1)数组的特点:1.数组一旦被创建,它的长度是不可更改的。 2.其元素必须是相同类型,不允许出现混合类型。 3.数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。 ...原创 2021-07-12 19:52:05 · 77 阅读 · 0 评论 -
Java学习笔记8-面向对象续(多三大特性之一多态)
1.多态 多态:一种事物的多种形态,多种表现形式。多态指的是成员方法的多态,一个行为(成员方法)的实现方式。多态存在的必要条件:1.要有父子类继承 2.要有方法重写 3.父类引用指向子类对象多态的是实现效果:配合子类方法的重写,当父类引用指向不同的子类对象同一个方法具有不同的实现方式。(注:父类引用对子类新增内容不可见)//实例代码-多态的实现public class Class001_Polymorphic { public static void main(St...原创 2021-07-11 17:39:00 · 103 阅读 · 0 评论 -
Java学习笔记7-面向对象(续)
一个国家有很多省,省又分为市,市里面又分为县或者镇,省与省之间又有很多不同的特色。之所以这样去分就是因为好区分,便于管理,这种原理和Java里面的包(package)很相似。1.package(包)与import(导入) (1)包机制:文件夹 之所以有package,是为了解决类之间的重名问题,为了便于管理合适的类位于合适的包!位置:通常是类的第一句包名:域名倒着写,再加上模块名,并与内部管理类。(com.xxx.xxx)(2)impo...原创 2021-07-10 14:36:05 · 257 阅读 · 0 评论 -
Java学习笔记6-面向对象
对于小而简单的问题,为了快速,为了方便,你自己会动手从头到尾处理;对于庞大且复杂的问题,你一个人,已经不够用了,时间不够,精力不够,学识也不够,所以你会找其他人来帮忙。而且个个都是专业的,那么问题是不是很快解决了!此时你面对的是你找来的帮手,就可以说你面向对象,这个对象就是你的帮手。1.面向对象的思考方式遇到复杂问题,先从问题中找名词,然后确立这些名词 哪些可以作为类,再根据问题需求确定的类的属性和方 法,确定类之间的关系。2.对象和类的概念...原创 2021-07-08 22:06:57 · 137 阅读 · 0 评论 -
Java学习笔记5-方法
当程序中出现高频率使用的代码时,我们一遍又一遍去敲它很繁琐。这个时候Java给了我们一种方式来提高我们编写程序的效率——方法。1.方法 方法就是一个带名字的能够解决特定问题的代码块 ,可以方便我们多次使用。所谓方法,就是,就是解决一类问题的代码的有序组合,是一个功能模块(实现功能的代码块)。编程语言中的方法是组合在一起来 执行操作语句的集合。例如 System.out.println() 方法,该系统实际上是为了在控制台上输出的消 息执行多条语句。为什么我们要用...原创 2021-07-05 20:12:42 · 63 阅读 · 0 评论 -
Java学习笔记4-流程控制语句续
1.流程控制语句-循环结构while语句 格式:条件初始化; while(条件判断){ 循环体; 条件变化; }//实例代码public class TestWhile{ public static void main(String[]args){ //打印1~10之间的整数...原创 2021-07-04 14:04:43 · 73 阅读 · 0 评论 -
Java学习笔记3-两个常用工具类和流程控制语句
1.两个常用工具类 (1)(Scanner) 键盘录入可以允许用户在程序运行过程中向程序输入数据,达到人机交互的效果,提高用户体验度。1. 导包 ( import java.util.Scanner; ) 告诉程序这个工具在何处2. 创建对象( Scanner sc = new Scanner(System.in); ) 创建工具3. 获取数据 ( int num = sc.nextInt(); ) 使用工具获取数据sc.next(); 接收用户输入的字符串,从有效字符开始接...原创 2021-07-02 21:56:52 · 118 阅读 · 0 评论 -
Java学习笔记2-基础语法运算符
1.转义字符 Java中有些字符,Java语法赋予了特殊的含义,如果不想让这些字符代表特殊含义,想要表示其字符本身,可以使用转义字符进行转义,转义字符从\开始。(例:\'、\"、\\分别表示:'、"、\) 例举比较常用的几个: \t(制表符):一个制表符位置代表8个空格,制表符位置前面的内容如果满制表符符位的整数倍,重新开辟一个制表符位,如果不满,补全一整个制表符位置,也就是8个空格位。...原创 2021-07-01 20:13:51 · 615 阅读 · 0 评论