自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 图片存储方案(七牛云)

注册并完成实名认证:www.qiniu.com新建存储空间点击左上角的对象存储新建空间鉴权在pom文件中添加依赖<dependency> <groupId>com.qiniu</groupId> <artifactId>qiniu-java-sdk</artifactId> <version>7.2.0</version></dependency&g...

2021-09-21 18:14:22 295

原创 Dubbo笔记

1.Dubbo简介dubbo是一款轻量级的Java RPC框架,可以和spring无缝集成1.1RPCremote procedure call,即远程过程调用比如两台服务器A和B,A服务器上部署一个应用,B服务器上部署一个应用,A服务器上的应用想调用B服务器上的应用提供的方法,由于两个应用不在一个内存空间,不能直接调用,所以需要通过网络远程调用Dubbo提供了三大核心能力:面向接口的远程方法调用 智能容错和负载均衡 服务自动注册和发现1.2Dubbo架构Provid

2021-09-16 14:57:20 159

原创 SpringCloud总结2(Gateway、配置中心、服务总线)

8.Spring Cloud Gateway网关8.1简介8.2案例需求:将包含有 /user 的请求 路由到 http://127.0.0.1:9091/user/{id}新建子项目gatewaypom.xml添加依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-g.

2021-07-21 10:51:00 671

原创 SpringCloud总结1(Eureka、负载均衡、Hystrix、Feign)

1.微服务简介随着互联网的发展,网站应用的规模不断扩大,需求的激增,随之而来的是技术上的压力。系统架构也因此不断的演进、升级、迭代。从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服务架构。微服务架构是使用一套小服务来开发单个应用的方式或途径,每个服务基于单一业务能力构建,运行在自己的进程中,并使用轻量级机制通信,通常是HTTP API,并能够通过自动化部署机制来独立部署。这些服务可以使用不同的编程语言实现,以及不同数据存储技术,并保持最低限度的...

2021-07-15 16:32:52 242

原创 Vue基本使用(前后端分离)

1.简介vue是一套用于构建用户界面的渐进式的js框架Vue的核心库只关注视图层,MVVM模式的实现者——双向数据绑定模式.Model:模型层,在这里表示JavaScript对象View:视图层,在这里表示DOM(HTML操作的元素)ViewModel:连接视图和数据的中间件,Vue.js就是MVVM中的ViewModel层的实现者在MVM架构中,是不允许数据和视图直接通信的,只能通过ViewModel来通信,而ViewModel就是定义一个Observer观察者V...

2021-02-26 16:27:22 1299 2

原创 SpringBoot总结

介绍2.快递搭建导入web依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency>编写controller(一定要和启动类在同级目录下,否则识别不到)@Controller@RequestMappin

2021-02-21 14:49:37 737 1

原创 SSM整合练习:记账管理

需求分析数据库设计create table bills ( id int primary key auto_increment, title varchar(50) not null, billtime date not null, typeid int not null, price double not null, explains varchar(500));create table bill_type ( id int primary key auto_inc.

2021-02-17 14:52:00 566 1

原创 MyBatis总结

MyBatis 是⼀个持久层框架,它⽀持定制化 SQL、存储过程以及⾼级映射。MyBatis 避免了⼏乎所有的 JDBC 代码和⼿动设置参数以及获取结果集。MyBatis 可以使⽤简单的 XML 或注解来配置和映射原⽣信息,将接⼝和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。

2021-02-12 17:53:17 383

原创 SpringMVC

介绍Spring 框架提供了构建Web 应用程序的全功能 MVC 模块。 SpringMVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,SpringMVC也是要简化我们日常Web开发的。MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范Model(模型):数据模型,提供要展示的数..

2021-02-09 16:51:38 216

原创 Spring(IOC、AOP和事务)

Spring介绍Spring是一个设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。 特点1.方便解耦,简化开发 通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。有了Spring,用户不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。 .

2021-02-06 20:40:17 328

原创 MongoDB简介

介绍MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。说明:BSON是一种计算机数据交换格式,主要被用作MongoDB数据库中

2021-02-04 13:53:38 499

原创 Redis总结

了解NoSQLNoSQL,泛指非关系型的数据库,NoSQL数据库的产生是为了解决大规模数据集合,多重数据种类带来的挑战,尤其是大数据应用难题。现在网站的特点:(1) 高并发读写Web2.0网站,数据库并发负载非常高,往往达到每秒上万次的读写请求(2) 高容量存储和高效存储Web2.0网站通常需要在后台数据库中存储海量数据,如何存储海量数据并进行高效的查询往往是一个 挑战(3) 高扩展性和高可用性随着系统的用户量和访问量与日俱增,需要数据库能够很方便的进行扩展、维护N

2021-02-02 18:49:27 248

原创 JavaWeb-MVC

写Java Web项目时会发现,一个中型或者大型项目 随着代码的增多,会发现:代码既可以写在src目录下,也可以写在WebContent目录下。src下可以建很多包 ,WebContent下可以建很多文件夹。所以问题就来了:一个新的类 到底往哪个目录下的哪个文件夹里写? 此时解决办法就是:需要一个模式去规范,到底哪个类该往哪里写。MVC设计模式Web MVC中的M(模型)-V(视图)-C(控制器)概念和标准MVC概念一样,我们再看一下Web MVC标准架构,如下图所示:在MVC模式下,模

2021-01-23 10:56:56 123

原创 JavaWeb-Ajax和Json

Ajax简介AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。客户端执行屏幕更新为用户提供了很大的灵活性。工作原理Ajax的工作原理相当于在用户和服务器之间加了—个中间层(AJAX引擎),使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器。像—些数据验证和数据处理等都交给Ajax引擎自己来做,,只有确定需要从服务器.

2021-01-20 17:02:03 136

原创 JavaWeb-会话跟踪、过滤器和监听器

Cookie和Session会话跟踪技术会话跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。保持对用户会话期间的数据管理。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份Session通过在服务器端记录信息确定用户身份。CookieCookie是客户端(一般指浏览器)请求服务器后,服务器发给客户端的一个辨认标识,保存在客户端,当客户端再次向服务器发送请求时,会携带着这个辨认标识,服务器就可以通过这个标识来识别客户端的身份..

2021-01-19 20:55:46 279

原创 JavaWeb-JSP

简介JSP全名为Java Server Pages,中文名叫java服务器页面。其根本是一个简化的Servlet它是在传统的网页HTML文件,插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为 (*.jsp)JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。 引入JSP的原因:.servlet展示信息的不方便JSP中如何嵌套Java代码 首先要加在开头加一个page指令<%@ page co.

2021-01-18 15:43:26 205

原创 JavaWeb-Servlet

简介Servlet(Server Applet),全称Java Servlet。是用Java编写的服务器端程序,其主要功能在于交互式地浏览和修改数据,生成动态Web内容。Servlet运行于支持Java的应用服务器中。从实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。Servlet工作模式: ① 客户端发送请求至服务器 ② 服务器启动并调用Servlet,Servlet根据客户端请求生成响应内容并将其传给服务器

2020-12-04 22:00:03 191 2

原创 JDBC和数据库连接池

简介JDBC:数据库连接,是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java编写的类和接口组成。使用步骤1.引入jar文件.2.加载数据库驱动(JavaSE项目中可以省略,Javaweb项目必须编写此步骤)class.forName ("com.mysq1.jdbc.Driver");3.通过驱动管理器,获取JDBC连接对象.connection conn = DriverManager.getConnection("数据库连.

2020-11-16 20:25:51 148

原创 MySQL高级

子查询订单存储在两个表中。对于包含订单号、客户ID、订单⽇期的每个订单,orders表存储⼀⾏。 各订单的 物品存储在相关的orderitems表中。orders表不存储客户信息。它只存储客户的ID。 实际的客户信息存储在customers表中。 现在,假如需要列出订购物品TNT2的所有客户,应该怎样检索?--(1) 检索包含物品TNT2的所有订单的编号。SELECT orderitems.order_num FROM orderitems WHERE orderitems.prod_i

2020-11-10 20:08:34 263

原创 MySQL初级

MySQL数据库的介绍什么是数据库数据库(Database)就是按照数据结构来组织,存储和管理数据的仓库 专业的数据库是专门对数据进行创建,访问,管理,搜索等操作的软件,比起我们自己用文件读写的方 式对象数据进行管理更加的方便,快速,安全 作用对数据进行持久化的保存 方便数据的存储和查询,速度快,安全,方便 可以处理并发访问 更加安全的权限管理访问机制 常见的数据库 关系型数据库: MySQL,Oracle,PostgreSQL,SQLser...

2020-11-02 21:53:42 258

原创 JQuery简单使用

一、jQuery简单介绍和使用jQuery 是一个 JavaScript 库,极大地简化了 JavaScript 编程二、选择器1、基本选择器2、层级选择器3、基本筛选器4、内容选择器5、属性选择器6、子元素选择器7、表单选择器三、属性1、属性操作2、css类操作3、html文本与值的操作案例:实现全选、全不选择和反选操作四、文档处理1、内部插入2、外部插入3、节点删除

2020-10-25 12:12:36 265

原创 JS事件处理及正则表达式

一、事件处理1、单击事件案例:简单计算器案例:点击放大缩小2、获取事件源改成这样就可以获取事件源了3、Timing定时事件setTimeout(function,指定时间):等待指定时间后执行函数,可以使用clearTimeout来停止执行setInterval(function,指定时间):间隔指定时间重复执行函数,可以使用clearInterval来停止执行4、鼠标移入移出事件onmouseover:鼠标移入触发事件..

2020-10-24 19:41:02 360

原创 CSS基础与页面美化

一、CSS简介CSS 指层叠样式表 (Cascading Style Sheets)样式定义如何显示控制 HTML 元素,从⽽实现美化HTML⽹⻚。样式通常存储在样式表中,⽬的也是为了解决内容与表现分离的问题。样式层叠次序⼀般⽽⾔,所有的样式会根据下⾯的规则层叠于⼀个新的虚拟样式表中,其中数字 4 拥有最⾼的 优先权。1. 浏览器缺省设置 (默认的)2. 外部样式表 (使用link引入)3. 内部样式表(style内部)4. 内联样式(在 HTML 元素内部)二、CS

2020-10-22 22:34:17 184

原创 HTML与HTML5常用标签

一、HTML简介HTML 是 HyperText Mark-up Language 的⾸字⺟简写,意思是 超⽂本标记语⾔ HTML不是⼀种编程语⾔,⽽是⼀种标记语⾔ 超⽂本指的是超链接,标记指的是标签,是⼀种⽤来制作⽹⻚的语⾔,这种语⾔由⼀个个的标签组成 ⽤这种语⾔制作的⽂件保存的是⼀个⽂本⽂件,⽂件的扩展名为 .html 或者 .htm html⽂档也叫 Web⻚⾯ ,其实就是⼀个⽹⻚,html⽂件⽤ 编辑器打开显示的 是⽂本 ,可以⽤⽂本的⽅式编辑它 如果⽤浏览器打开 ,浏览器会

2020-10-20 19:26:00 284

原创 XML和JSON

XML一、简介可扩展标记语言,是一个与平台无关的独立的标记语言,具有自我描述性。用途:网络数据传输,数据存储 ,配置文件(主要)XML文件:.XML文件是保存XML数据的一种方式 XML数据也可以以其他的方式存在(如在内存中构建XML数据)。 不要将XML语言狭隘的理解成XML文件。二、XML语法格式1、文档声明:(放在第一行)<?xml version="1.0" encoding="UTF-8"?>2、标记:(xml就是由一个个标记组成)开始标

2020-10-09 15:09:01 105

原创 网络编程

一、概述 计算机网络: 把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息共享硬件、软件、数据信息等资源。 网络编程的目的: 直接或间接地通过网络协议与其它计算机实现数据交换,进行通讯 实现网络通信需要解决的两个问题: 如何准确地定位网络上一台或多台主机;定位主机上的特定的应用 找到主机后如何可靠高效地进行数据传输 二、通讯要素一:IP和端口号1、IP的理解IP:唯一的标识 Inter

2020-09-29 17:14:44 229

原创 注解与反射

注解(Annotation)1、注解的理解: Annotation 其实就是代码里的特殊标记, 这些标记可以在编译, 类加载, 运行时被读取(与注释的区别), 并执行相应的处理。通过使用 Annotation,程序员可以在不改变原逻辑的情况下, 在源文件中嵌入一些补充信息。 Annotation可以像修饰符一样使用,可以用来修饰包、类、构造器、方法、成员变量、参数、局部变量的声明,这些信息被保存在Annotation的“name = value”对中。 在JavaSE中,注..

2020-08-31 23:14:21 196 7

原创 IO流(下)

一、缓冲流1、缓冲流涉及到的类:BufferedInputStream BufferedOutputStream BufferedReader BufferedWriter2、引入目的 作用:提高流的读取、写入的速度 提高读写速度的原因:内部提供了一个缓冲区的内存中。从内存中读取的速度要高于直接从硬盘中读取的速度。 3、使用说明 当读取数据时,数据按块读入缓冲区,其后的读操作则直接访问缓冲区。 当使用 BufferedInputStream读取字节文件时,

2020-08-22 23:42:28 158

原创 IO流(上)

一、简述 IO是Input/Output的缩写,I/O技术是非常实用的技术,用于处理设备之间的数据传输。如读/写文件,网络通讯等。 Java程序中,对于数据的输入输出操作以“流(stream)”的方式进行。 Java.IO包下提供了各种“流”类和接口,用以获取不同种类的数据,并通过标准的方法输入或输出数据。 二、流的分类操作数据单位:字节流、字符流对于文本文件(.txt,.java,.c,.cpp),使用字符流处理 对于非文本文件(.jpg,.mp3,.mp4,.av

2020-08-17 20:37:08 132

原创 File类

1、File类的理解File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹)。 File类声明在java.io包下:文件和文件路径的抽象表示形式,与平台无关。 File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法,并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用IO流来完成。 想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。 后续Fi

2020-08-17 16:52:47 327

原创 泛型

一、泛型简介1、泛型的概念所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返 回值及参数类型。这个类型参数将在使用时(例如,继承或实现这个接口,用这个类型声明变量、 创建对象时确定(即传入实际的类型参数,也称为类型实参)。 从JDK 5.0以后,Java引入了“参数化类型(Parameterized type)”的概念,允许我们在创建集合时再指定集合元素的类型,正如:List<String>,这表明该List只能保存字符串类型的对象。 JDK 5.

2020-08-16 13:44:34 187

原创 集合(Map接口)

一、Map概述Map与Collection并列存在。用于保存具有映射关系的数据:key-value Map中的key和value都可以是任何引用类型的数据 Map中的key用set来存放,不允许重复,即同一个Map对象所对应的类,须重写 hashCode()和 equals()方法 常用 String类作为Map的“键” key和value之间存在单向一对一关系,即通过指定的key总能找到唯一的、确定的value Map接口的常用实现类:HashMap、TreeMap、LinkedHas.

2020-08-15 11:58:38 166

原创 集合(Collection接口)

一、集合与数组1. 集合与数组存储数据概述:集合、数组都是对多个数据进行存储操作的结构,简称Java容器。 说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储2. 数组存储的特点:一旦初始化以后,其长度就确定了。 数组一旦定义好,其元素的类型也就确定了。我们也就只能操作指定类型的数据了。3. 数组存储的弊端:一旦初始化以后,其长度就不可修改。 数组中提供的方法非常限,对于添加、删除、插入数据等操作,非常不便,同时效率不高。 获取数组中实际元素的个数的需求,数组没有现

2020-08-08 11:33:07 413 1

原创 带分数(全排列)

题目描述:100 可以表示为带分数的形式:100 = 3 + 69258 / 714。还可以表示为:100 = 82 + 3546 / 197。注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。类似这样的带分数,100 有 11 种表示法。输入格式:从标准输入读入一个正整数N输出格式:程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数。注意:不要求输出每个表示,只统计有多少表示法!分析:组成带分数的部分包括一个整数,一个分母,一个分子.

2020-08-01 12:39:09 546

原创 种树(递归)

题目描述:A城市有一个巨大的圆形广场,为了绿化环境和净化空气,市政府决定沿圆形广场外圈种一圈树。园林部门 得到指令后,初步规划出n个种树的位置,顺时针编号1到n。并且每个位置都有一个美观度Ai,如果在这里种树就可以得到这Ai的美观度。但由于A城市土壤 肥力欠佳,两棵树决不能种在相邻的位置(i号位置和i+1号位置叫相邻位置。值得注意的是1号和n号也算相邻位置!)。最终市政府给园林部门提供了m棵树苗并要求全部种上,请你帮忙设计种树方案使得美观度总和最大。如果无法将m棵树苗全部种上,给出无解信息。输入

2020-07-30 12:02:10 314

原创 枚举类

一、枚举类的使用1、枚举类的理解:类的对象只有有限个,确定的,我们称此类为枚举类。2、当需要定义一组常量时,强烈建议用枚举类。3、如果枚举类中只有一个对象,则可以作为单列模式的实现方式。二、枚举类的创建1、自定义枚举类public class Main{ public static void main(String[] args){ Season season = Season.SPRING; System.out.println(seas

2020-07-29 21:37:27 96

原创 特殊的质数肋骨(dfs)

方法一:枚举import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int min = (int) (1*Math.pow(10,n-1)); int max = min *10 - 1;..

2020-07-28 11:33:57 336

原创 常用类

一、String类1、概述:String类声明为final,不可被继承String类实现了serializable接口:字符串支持序列化。String类实现了comparable接口:可比较大小。通过字面量的方式(区别于new)给一个字符串赋值,此时的字符串声明在字符串常量池中。字符串常量池中不会存储内容相同的字符串。String内部是final的char[]数组(后面变成了byte),是不可变的。当对字符串重新赋值、进行连接操作或者更改时,需要重新指定内存区域赋值。Strin

2020-07-23 22:16:36 621 1

原创 多线程与线程安全2

·一、线程的通信1、例子:用两个线程,交替打印1-100的数字public class Main { public static void main(String[] args) { Number number = new Number(); Thread t1 = new Thread(number); Thread t2 = new Thread(number); t1.setName("线程1"); t2

2020-07-21 19:51:35 89

原创 多线程与线程安全1

一、基本概念1、程序:是为了完成特定的任务,用某种语言编写的一组指令的集合。一段静态的代码。2、进程:程序的一次执行过程,或是正在运行的程序。是一个动态的过程,自身的产生、存在和消亡。(生命周期)3、线程:进程可进一步细化为线程,是一个程序内部的一条执行路径。若一个进程同一时间并行执行多个线程,就是支持多线程的。线程作为调度和执行的单位,每个线程拥有独立的运行栈和程序计数器。线程的切换开销小。一个进程中的多个线程共享相同的内存单元,可以访问相同的变量和对象,使得线程间的通信更加的简便高效。但多线

2020-07-18 14:48:10 162

空空如也

空空如也

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

TA关注的人

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