自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java注解和反射

注解

2022-08-14 10:22:42 185 1

原创 Java尚硅谷核心知识

这里写目录标题Java基础部分为什么要为JDK设置环境变量JDK、JRE、JVMJava的关键字和保留字Java的数据类型强类型和弱类型基本类型包括:自动提升以及强制转换自动提升强制准换有byte、short、char的混合运算时结果都为int类型引用数据类型包括Java文件的执行过程Java的核心Java为什么能够跨平台JVM的组成运算符流程控制数组二维数组算法中数组的应用oop--万物皆对象oop三大特性Java基础部分Java是一种一次编译,到处运行的语言Java是一种面向对象的编程语言Jav

2022-05-04 13:46:48 1286

原创 MVC核心以及使用步骤

什么是Spring-MVCSpring-MVC是Spring一个后续产品,为表示层开发提供了一阵套解决方案MVC是一种架构思想,是将工程按照模型、视图、控制层,来进行划分的MVC的三层架构:表示层,业务逻辑层,数据访问层M:Model层。是指工程的JavaBean作用是处理数据JavaBean分为两类: 一类是普通bean,另一类是工厂bean(工厂bean的返回值可以不是bean的类型)V:view层。视图层是指工程中的html、jsp页面,作用是与用户进行交互C:controller层

2022-04-27 10:05:39 917

原创 Spring核心

这里Spring的开始Spring的核心:Spring的IOCbean管理Spring的开始Spring的核心:IOC(工厂模式和反射):是由DI来具体实现的,对象的创建由原来的自己new创建,改为由SpringIOC容器来进行创建和控制。主要是为了使耦合度降低。AOP(代理模式):AOP不修改源代码进行修改,减少了代码的耦合性spring所需要的核心jar包user类:public class User { public void ba(){ System.out.

2022-04-23 14:35:30 717

原创 你好offer之---中间件以及消息队列

一文读懂 session 和 cookie[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j3piSiVo-1640499909653)(…/pictures/souyisou.png)]《labuladong 的算法秘籍》、《labuladong 的刷题笔记》两本 PDF 和刷题插件 2.0 免费开放下载,详情见 labuladong 的刷题三件套正式发布~-----------cookie 大家应该都熟悉,比如说登录某些网站一段时间后,就要求你重新登录;

2022-04-18 20:58:20 2105

原创 你好offer之--Java集合

集合list:arraylist 动态数组linkedlist 双向循环链表vector 动态数组set:hashsettreesetQueue:map:hashMap:存储的是映射关系的键值对,存储在哈希表中TableMapJava集合的fail-fast机制线程1在遍历集合的时候,线程2对该集合进行修改。就会抛出fail-fast解决办法:synchronized或者使用CopyOnWriteArrayList来代替Arraylist集合可以用迭代器进行

2022-04-18 20:54:49 436

原创 你好offer之--数据库

数据库数据库的三大范式第一范式每个列都不可以再拆分、所有的属性必须是原子级别的第二范式非主属性完全依赖于主键,不能只依赖主属性的一部分第三范式非主键只依赖主键,不存在循环依赖数据库连接泄露如果在某次使用或者某段程序中没有正确地关闭 Connection、Statement 和 ResultSet 资源,那么每次执行都会留下一些没有关闭的连接,这些连接失去了引用而不能得到重新使用,因此就造成了数据库连接的泄漏使用连接池+短连接的设置来解决 数据库连接泄露触发器在满足定义条件时触发,并执

2022-04-18 20:51:24 256

原创 你好offer之--并发

并发JVM和本地的操作系统的线程有着一种对应的关系并发编程三要素(线程的安全性问题体现在)线程切换–原子性:一个或多个操作要么全部执行成功要么全部执行失败。–Atomic开头的原子类、synchronized、lock,可以解决原子性问题缓存–可见性:一个线程对共享变量的修改,另一个线程能够立刻看到。–volatile、synchronized、lock编译优化–有序性:程序执行的顺序按照代码的先后顺序执行,避免指令重排。–volatile、Happens-Before创建线程的四种方法Th

2022-04-18 20:50:26 98

原创 你好offer之--项目

项目用户管理登录模块:前端传来的参数,到数据库中进行查找。首先验证用户名字是否存在。如果用户不存在或者用户的密码不正确,就会向前端返回相应的对应的状态码;如果存在,向前端返回正确相应的状态码。在整个请求过程中我通过id和密码创造了一个token用来保证请求的安全性(访问资源的令牌,目的是保证请求的安全并限定过期时间)。然后token和返回对应的状态码一起返回前端。登陆成功模块:登陆成功后进入主页面,前端将token传给后端,后端进行解析token再将解析出的数据传给前端

2022-04-18 20:48:24 324

原创 你好offer之--计算机网路

计算机网络osi七层模型:物联网叔会试用物理层比特流传输链路层控制网络层与物理层的通信网络层ip寻址和路由选择传输层两台主机进程之间的通信提供服务。传输层向高层用户屏蔽了下面网络层的核心细节,使应用程序看起来像是在两个传输层实体之间有一条端到端的逻辑通信信道。会话层负责建立(身份验证,权限鉴定)、管理和终止表示层实体之间的通信会话表示层使通信的应用程序能够解释交换数据的含义。该层提供的服务主要包括数据压缩,数据加密以及数据描述应用层通过应用程序间的交互来完成特定的网络应用。该层

2022-04-18 20:37:16 1962

原创 你好,offer(最终版)

你好,offer(最终版)计算机网络osi七层模型:物联网叔会试用物理层链路层网络层传输层会话层表示层应用层数据库数据库的三大范式第一范式第二范式第三范式数据库连接泄露触发器索引索引的优点索引的缺点索引的数据结构B+树的好处B+树索引和Hash索引的区别前缀索引最左前缀匹配原则添加索引的原则聚簇索引和非聚簇索引数据库的事务计算机网络osi七层模型:物联网叔会试用物理层比特流传输链路层控制网络层与物理层的通信网络层ip寻址和路由选择传输层两台主机进程之间的通信提供服务会话层负责建立、管

2022-03-13 17:44:36 4505

原创 你好offer之---Redis

RedisRedis的常用命令使用配置文件启动Redis的服务器启动Redis键值相关命令服务器相关的命令Redis的数据结构对Redis数据结构的简单操作StringhashlistsetzsetRedis的优点Redis的持久化Redis的常用命令使用配置文件启动Redis的服务器方法一:独占式启动Redis方法二:非独占式启动Redis启动Redis键值相关命令返回满足给定pattern的所有key: keys *确认一个key是否存在:exists name删除一个ke

2022-02-18 22:06:57 735

原创 Spring-boot

Spring-boot简介Spring-BootSpring-Boot的核心步骤Spring-Boot的核心基本配置Spring-Boot的关闭自动配置yaml代码理解用spring-Boot做的小项目简介Spring-BootSpringboot来简化新Spring的初始搭建以及开发过程Spring-Boot的核心步骤独立运行的Spring项目内嵌的Servlet容器,Spring-Boot可以选择内置的Tomcat,或者Jetty,无需war包的形式提供start向导简化maven配置自

2022-02-13 19:44:52 476

原创 Spring-MVC

Spring-MVC简介Spring-MVCurl的路径映射数据绑定@requestparam@pathvariableMap,ModelMap,Model代码呈现简介Spring-MVCSpring Web MVC的前端控制器是DispatcherServlet。DispatcherServlet的任务是将请求发送给SpringMVC控制器controller具体工作过程见下两图:url的路径映射普通url路径映射模板模式映射ANT风格正则风格数据绑定

2022-02-13 18:30:07 525

原创 Spring-AOP

Spring-AOP介绍AOPAOP的代理方式AOP的使用方式AOP的通知前置通知xml版注解版后置通知xml版注解版后置返回增强xml版注解版环绕增强xml版注解版后置异常增强xml版注解版:介绍AOP是一种面向切面的编程,不需要再方法中修改代码,就可以增加功能。主要目的也是解耦。面向切面编程是将程序抽象成各个切面,即解剖对象的内部,将那些影响了多个类的公共行为抽取到一个可重用模块里,减少系统的重复代码,降低模块间的耦合度,增强代码的可操作性和可维护性。切面(Aspect):切面的官万抽象定义为“

2022-02-13 15:00:54 194

原创 Spring-IOC

Spring-IOC介绍Spring-IOC立即加载和懒加载契约式编程IOC的简单使用xml版构造器注入属性注入注解版介绍Spring-IOCSpring-IOC(Inverse Of Control)控制反转。IOC主要目的就是解耦。Spring容器借助配置文档进行注入构造器,属性和接口。立即加载和懒加载立即加载:立即加载就是表关联的时候,查询一个对象,会把他关联的对象都查出来初始化到属性中去,这个就是立即加载,所以在查询的时候可能出现多条查询语句懒加载:懒加载在你进行数据库查询的时

2022-02-13 12:36:25 306

原创 你好offer之--Java基础

final用final修饰的类不能被继承,即没有子类不允许重写final的方法被final修饰的变量只能被赋值一次static当static修饰类、方法、属性的时候,可以直接通过类,方法,属性的名字直接进行访问静态方法不能使用this关键字,因为无法知道this指向的是哪个对象。静态方法只能使用静态变量,实例方法都可以用。接口对外声明其实现类所具备的功能和抽象类很像,都可以包含抽象方法一个类只能继承一个类,但是可以实现多个接口接口只可以有public,static,和fina

2022-01-24 13:49:39 121

原创 你好offer之--swagger、Mybatis、Maven

这里Swagger使用Swagger解决的问题?使用swagger:Swagger2常用注解说明SwaggerSwagger提供了用于生成,可视化和维护API文档的一系列解决方案,从而使API文档不再需要人工操作。使用Swagger解决的问题?保证文档的时效性:只需要少量的注解,Swagger 就可以根据代码自动生成 API 文档,代码变文档跟着变使用swagger:1.添加依赖2.添加Swagger2Config配置类3.通过注解使用swaggerSwagger2常用注解说明@Api

2022-01-22 21:32:11 73

原创 你好offer之--JVM

JVMJVM核心Java能够摆脱平台的原因就是Java源代码经过编译器变成字节码,字节码经过JVM解释成不同的机器码。而不同的操作系统有不同的JVM。JVM包含两个组件和两个子系统类加载子系统:将class文件加载到运行时数据取执行引擎:由jit和垃圾回收器组成本地接口:与本地库进行交互运行时数据区:JVM的核心。包含方法区,程序计数器,堆,本地方法栈,虚拟机栈运行时数据区程序计数器:当前线程所执行的字节码的行号指示器Java虚拟机栈:会创建一个栈帧用于存储局部变量表、操作栈

2022-01-01 20:26:36 167

原创 leetcode刷题笔记

这里写目录标题剑指offer1.整数除法2.二进制加法3.前 n 个数字二进制中 1 的个数4.只出现一次的数字5.单词长度的最大乘积6.排序数组中两个数字之和7.数组中和为 0 的三个数8.和大于等于 target 的最短子数组9.乘积小于 K 的子数组10.和为 k 的子数组11.0 和 1 个数相同的子数组12.左右两边子数组的和相等反转链表剑指offer.....................

2021-12-31 18:30:42 1467

原创 你好offer之--Spring

SpringSpring是一个轻量级Java开源框架,两个核心特性是DI和AOPSpring采取了以下4种关键策略亲呕生少代基于POJO的轻量级和最小侵入性编程;通过DI和面向接口实现松耦合;基于切面和惯例进行声明式编程;通过切面和模板减少样板式代码。Spring的优点方便解耦,简化开发。Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护,交给Spring管理AOP编程的支持。Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功

2021-12-28 21:37:41 574

原创 你好offer之--操作系统

操作系统进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位。进程的有独立的有独立的代码和数据空间,进程之间的切换会有较大的开销上下文切换:任务从保存到再加载的过程就是一次上下文切换线程调度是指按照特定机制为多个线程分配 CPU 的使用权。Java 虚拟机的一项任务就是负责线程的调度。有两种调度模型:分时调度模型和抢占式调度模型。Java虚拟机采用抢占式调度模型。分时调度模型:让所有的线程轮流获得 cpu 的使用权,平均分配每个线程占用的 CPU 的时间片。抢占式调度模型

2021-10-26 10:14:26 63

原创 你好offer之--集合

文件的基本操作文件打开方式:r+表示保留原文件内容,从头开始读或写w+表示清除已有内容,操作中可读或写x+与w+类似,但排他性创建文件,从头开始,操作中可读或写a+与w+类似,但不清除已有内容,在已有内容之后开始写或读文件对象的常用属性:文件对象常用方法:例子1:向文本文件中写入内容,然后再读出。s = 'Hello world'#with的作用:如果在打开文件之后和关闭文件之前发生了错误导致程序崩溃,#这时文件就无法正常关闭。在管理文件对象时推荐with关键字,可以有效地避免这

2021-10-22 09:45:37 51

原创 分布式以及分布式的发展历程和代理以及中间件的介绍

这里写目录标题分布式分布式的特点分布式系统关键组件基于Redis的分布式缓存分布式的发展历程分布式的系统特性分布式系统常见问题分布式简单说就是多个服务器去处理一个任务,完成任务的速度更快。分布式的特点高吞吐强扩展高并发低延迟灵活部署分布式系统关键组件分布式中间件中间件介绍:位于操作系统软件和应用软件之间,具有良好的独立性。我们可以理解为:是一类能够为一种或多种应用程序合作互通、资源共享,同时还能够为该应用程序提供相关的服务的软件。中间件是一类软件统称,而非一种软件;中间件不仅仅实

2021-10-21 11:29:14 360

原创 常用的设计模式

设计模式工厂模式:简单工厂模式一:简单工厂模式二:简单工厂模式三:工厂模式:工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。工厂模式分为简单工厂模式和工厂方法模式和抽象工厂模式首先我们先创建javaCourse类和pythonCourse类以及ICourse接口。ICourse接口的作用是整理jav

2021-10-17 11:12:10 57

原创 算法与数据结构基础到高级

认识复杂度认识复杂度和简单排序算法(总结)

2021-10-13 11:35:19 296

原创 |和&。短路与,与,短路或,或

与操作短路与:从左到右看,只要满足一个另一个就不会看 if(1==1 || 10/0==0){ System.out.println("ok"); }输出结果:与:所有都要看,满足一个就行(其他的也要看) if(1==1 | 10/0==0){ System.out.println("ok"); }输出结果:或操作...

2021-10-10 16:48:43 80

原创 python

https://m.toutiaoimg.cn/i7014493269987951134/?traffic_source=CS1113&in_ogs=1&utm_source=OP&source=search_tab&utm_medium=wap_search&prevent_activate=1&original_source=1&in_tfs=OP&channel=&enter_keyword=python%E7%88%AC%E8%

2021-10-09 23:35:21 78

原创 并发从零基础到会a little

Java并发—基础说到并发,我们就不得不提进程和线程的关系。进程和线程的关系和区别下面是我在知乎上看到的一个很生动的比喻:开个QQ,开了一个进程;开了迅雷,开了一个进程。在QQ的这个进程里,传输文字开一个线程、传输语音开了一个线程、弹出对话框又开了一个线程。所以运行某个软件,相当于开了一个进程。在这个软件运行的过程里(在这个进程里),多个工作支撑的完成QQ的运行,那么这“多个工作”分别有一个线程。所以一个进程管着多个线程。通俗的讲:“进程是爹妈,管着众多的线程儿子”由于进程是由操作系统统一分配资源

2021-10-06 19:21:02 251

原创 浅谈集合的应用

泛型T和E可以是任何类型class People<T,E>{ T age;//String E name;//int public T getAge() { return age; } public void setAge(T age) { this.age = age; } public E getName() { return name; } public vo

2021-09-30 19:12:04 149

原创 Spring设计模式基础

Spring概述Spring的核心特性就是IOC和AOP:IOC(Inversion of Control),即“控制反转”;又叫DI(dependency injection),依赖注入;AOP(Aspect-OrientedProgramming),即“面向切面编程”;Spring的使命:简化Java开发,为了降低开发的复杂性,Spring采取了以下四种关键策略:基于POJO的轻量级和最小侵入性编程通过依赖注入和面向接口实现弱耦合基于切面和惯例进行声明式编程通过切面和模板减少样板式

2021-09-29 12:42:01 69

原创 设计模式基础

这里写目录标题Java注解内置的注解:Java注解Java注解( Annotation)又称Java标注,是JDK5. 0引入的一种注释机制。Java语言中的类、方法、变量、参数和包等都可以被标注。Java标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java虚拟机可以保留标注内容,在运行时可以获取到标注内容。 当然它也支持自定义Java标注。内置的注解:@Override:检查该方法是否是重载方法。如果发现其父类或者是其引用的接口中并没有该方法时,会报编译错误

2021-09-29 09:02:15 88 1

原创 动态SQL以及Mybatis的事务和缓存机制

动态SQL省略SQL语句,用Java进行代替.动态SQL语句的语法:InsertProviderUpdateProviderDeleteProviderSelectProvider事务满足acid特性:原子性,一致性,隔离性,持续性Mybatis事务Mybatis组为Java语言的数据库框架,对数据库的事务管理是非常重要的一个方面;Mybatis的事务主要分两种:JdbcTransaction: 即使用java.sql.Connection对象完成事务的提交(commit(

2021-09-28 11:59:35 139

原创 Mybatis的数据库一对一 ,一对多,和多对多的关系

Mybatis连接数据库有两种方式通过Mybatis逆向工程的方法生成的生成的方式中XML比注解方式多一个mapping,总体来看注解方式更由于XML方式。XML方式注解方式XML方式首先需要在资源里的Mybatis.cfg.xml里面加入需要的的mapper。将mapping下的xml文档也移动到资源里面在service层创建进行方的实现实现如下见我上篇文章初始Mybatis里面的例子就是通过xml方式实现的,本篇主要介绍通过注释的方式来实现数据库中一对一 ,一对多,和多对多的关

2021-09-28 00:39:03 399

原创 Mybatis的配置问题

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-- 环境, 就是配置数据库访问环境的标签.default - 默认使用什么环境--><environme

2021-09-26 10:29:07 167

原创 浅谈Mysql

MySQL简单的SQL语句limit限定字段order bywherebetween and空值检查and/or/notin模糊查询 通配符%/_正则表达式简单的SQL语句limit取出表order的前三行数据SELECT * FROM ordersLIMIT 3取order表中的第二行到第三行SELECT * FROM ordersLIMIT 2,3从order表中从第二行开始往下取三行SELECT * FROM ordersLIMIT 2 OFFSET

2021-09-25 22:53:38 360

原创 JVM的类加载机制

JVM类加载阶段JVM类加载分为五个阶段:加载JVM读取Class文件并且根据Class文件描述创建java. lang. Class对象的过程。类加载过程主要包含将Class文件读取到运行时区域的方法区内,在堆中建立java.lang.Class对象,并封装类在方法区的数据结构的过程,在读取Class文件时既可以通过文件的形式读取,也可以通过jar包、war包读取,还可以通过代理自动生成Class或其他方式读取。验证主要用于确保Class文件符合当前虚拟机的要求,保障虚拟机自身的安全,只有通过

2021-09-24 14:31:34 58

原创 再谈JVM---垃圾回收与算法

如何确定垃圾垃圾收集算法总结总结JVM内存中的对象主要被分配到新生代获得Eden区和From区,在少数情况下会被直接分配到老年代。在新生代的Eden区和From取得内存空间不足时会触发一次GC, 该过程被称为MinorGC。在MinorGC后,在Eden区和From区中存活的对象或被复制到To区,然后Eden区和From区被清理。如果此时在To区无法找到连续的内存空间存储某个对象,则将这个对象直接.存储到老年代。若ServivorTo区的对象经过一次GC后 仍然存活,则其年龄加1。在默认的

2021-09-24 13:16:23 75

原创 浅谈JVM---JVM内存机制

这里写目录标题JVM的运行机制Java程序的具体运行过程如下JVM的运行机制JVM(Java Virtual Machine)是用于运行Java字节码的虚拟机,包括一套字节码指令集,一组程序寄存器,一个虚拟机栈,一个虚拟机堆,一个方法区,一个垃圾回收器。JVM运行在操作系统之上不和硬件设备直接交互。Java源文件在通过编译器之后被编译成相应的.Class文件(字节码文件),.Class文件又被JVM中的解释器编译成机器码,在不同的操作系统上运行。每种操作系统的解释器是不同的但基于解释器实现的虚拟

2021-09-24 11:39:59 434

原创 初识Mybatis

这里写目录标题简介Mybatis的优势创建一个项目简介MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation 迁移到了googlecode,并且改名为MyBatis。iBATIS一词来源于“internet"和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data AccessObjects (DAO)MyBatis是支持普通SQL查询,存储过程和高级映射的优秀

2021-09-22 23:02:07 67

mybatis的相关资源

mybatis的相关资源

2022-01-27

空空如也

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

TA关注的人

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