自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

笔记别偷看

欢迎大家来学习

  • 博客(199)
  • 资源 (3)
  • 收藏
  • 关注

原创 Java面试阶段

Java基础知识八大类型Math.round(-1.5)=-1(向下取整)String和StringBuffer、StringBuilder的区别是什么?1.可变性String 不可变, StringBuilder 和StringBuffer 是可变的2.线程安全性String 由于是不可变的,所以线程安全。StringBuffer 对方法加了同步锁或者对调用的方法加了同步锁,所以是线程安全的。StringBuilder 并没有对方法进行加同步锁,所以是非线程安全的。3.性能Stri

2021-06-19 01:04:07 315

原创 Springboot2笔记总结

SpringBoot2基础原理SpringBoot2基础(自动配置原理,配置文件)webSpringBoot2——web(请求参数处理与响应)SpringBoot2——web(拦截器,文件上传,web自定义 )数据访问SpringBoot2——数据访问(基本配置,数据源,mybatis整合)thymeleafspringboot2—thymeleafSpringBoot2——MyBatisPlusSpringBoot2—MyBatis-Plus(常用注解)SpringBoot2——My

2021-05-24 00:55:55 205

原创 Java进阶

并发,网络高级,数据库池,混合编程,stream流,jvm,maven配置,字节码

2021-05-24 00:42:13 88

原创 Java web 笔记

Java Web概念编辑Internet上供外界访问的Web资源分为:静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。静态web资源开发技术:HTML、CSS。动态web资源开发技术:JavaScript、JSP/Servlet、ASP、PHP等。在Java中,动态web资源开发技术统称为Java Web开发Java Web项目的步骤搭建Java Web应用的开发环境

2021-03-02 17:08:35 152

原创 Java设计模式笔记总结

第 1章 设计模式概述概念软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。简介设计模式(英语 design pattern)是对面向对象设计中反复出现的问题的解决方案。这个术语是在1990年代由Erich Gamma等人从建筑设计领域引入到计算机科学中来的。这个术语的含义还存有争议。算法不是设计模式,因为算法致力于解决问题而非设计问题。设

2020-12-22 14:55:10 288

原创 如何学好Java?(看我博客先看这篇)

路游的忠告纸上得来终觉浅,绝知此事要躬行。道理:从书本上得来的知识,毕竟是不够完善的。如果想要深入理解其中的道理,必须要亲自实践才行。卖油翁卖油翁【作者】欧阳修 【朝代】宋-陈康肃公善射,当世无双 ,公亦以此自矜。尝射于家圃,有卖油翁释担而立,睨之久而不去。见其发矢十中八九,但微颔之。 康肃问曰:”汝亦知射乎?吾射不亦精乎?”。翁曰:”无他, 但手熟尔。”康肃忿然曰:”尔安敢轻吾射!”翁曰:”以我酌油知之。”乃取一葫芦置于地,以钱覆其口,徐以杓酌油沥之,自钱孔入,而钱不湿。因曰:”我亦无他,

2020-12-21 21:54:54 237

原创 Java数据结构和算法笔记总结

第 1章 数据结构和算法概述数据结构和算法的关系数据 data 结构(structure)是一门研究组织数据方式的学科,有了编程语言也就有了数据结构.学好数据结构可以编写出更加漂亮,更加有效率的代码。要学习好数据结构就要多多考虑如何将生活中遇到的问题,用程序去实现解决.程序 = 数据结构 + 算法数据结构是算法的基础, 换言之,想要学好算法,需要把数据结构学到位。数据结构和算法的应用修路问题 => 最小生成树(加权值)【数据结构】+ 普利姆算法最短路径问题 => 图+弗洛

2020-11-19 13:06:18 1329

原创 javase基础最全笔记

**前言** JavaSE学习路线:Java SE 是Java平台标准版的简称,其包括基础语法、面向对象、工具类、集合框架和框架底层理。基础语法:包括基础数据类型,引用数据类型,流程控制,数组,类与方法,文档注释,面向对象概念,面向对象特性(封装、继承、多态、抽象),接口的概念(耦合问题),内部类,数据类型转换,字符串处理、数学运算、日期与时间处理,i/o流操作,多线程,文件操作,泛型,集合框架(Lis...

2020-09-22 22:21:33 658

原创 搭建个人博客

hexo发布文章

2022-05-04 21:27:35 873

原创 计算机网络

URL地址栏输入地址后,发生了什么?1.DNS域名解析;2.建立TCP连接;3.发送HTTP请求;4.服务器处理请求;5.返回响应结果;6.关闭TCP连接;7.浏览器解析HTML;8.浏览器布局渲染;HTTPS和HTTP的主要区别https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用。http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl/tls加密传输协议。http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443

2021-11-17 21:59:18 501

原创 leetcode(SQL)

第二高的薪水SELECT IFNULL( (SELECT DISTINCT Salary FROM Employee ORDER BY Salary DESC LIMIT 1 , 1), NULL) AS SecondHighestSalaryIFNULL(expression, alt_value)expression:必须,要测试的值alt_value:必须,expression 表达式为 NULL 时返回的值第N高的

2021-11-10 00:45:56 940

原创 数据库过程

where 和on用on用whereon和where条件的区别如下:(1) on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。(2) where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。如果有where条件,顺序是on 后where,on是连接的条件 因为and在on后面 所以and也是连接的条件where是连接后筛选条件

2021-11-04 23:45:17 646

原创 Juc(常用工具,CAS算法)

JUC常用工具CountDownLatch: 减少计数CyclicBarrier: 循环栅栏Semaphore: 信号灯CountDownLatchJava 5.0 在java.util.concurrent 包中提供了多种并发容器类来改进同步容器的性能。CountDownLatch 一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。闭锁CountDownLatch类可以设置一个计数器,然后通过countDown方法来进行减1的操作,使用await

2021-11-02 21:29:39 324

原创 计算机位运算

进制进制的概念进制即进位计数制,是利用固定的数字符号和统一的规则的带进位的计数方法。任何一种进位计数制都有一个基数,基数为 XX 的进位计数制称为 XX 进制,表示每一个数位上的数运算时都是逢 XX 进一。八进制和十六进制也是常见的进制。八进制包含八个数码:0,1,2,3,4,5,6,70,1,2,3,4,5,6,7。进制间的转换原码、反码和补码的概念原码原码是机器数的符号位加上机器数的真值的绝对值,最高位是符号位,其余位表示数值。以 8 位二进制数为例。+10的原码是 00001

2021-09-10 11:27:28 315

原创 剑指Offer——位运算

JZ48 不用加减乘除做加法描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。示例1输入:1,2返回值:3代码JZ11 二进制中1的个数描述输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。示例1输入:10返回值:2...

2021-09-10 11:26:43 82

原创 笔试(ACM)的输入输出常用案例

案例数组1,输入一个整数,浮点数,输入一个数组 ;package april;import java.util.Arrays;import java.util.Scanner;public class Class_3 { public static void main(String[] args) { Scanner reader = new Scanner(System.in) ; while(reader.hasNext()) {

2021-09-10 11:24:38 511

原创 Scanner(基本)

Scanner:nextInt():输入整数 只读取整数类型数据,nextInt()在读取完输入后把光标放在读取数据的同一行,该数据的后面。当我们一直使用其读数据的时候,此时遇到回车的时候会自动换行,继续读数据。nextDouble():输入双精度数next():输入字符串(以空格作为分隔符)。只读取到空格,不能读取被空格分开的两个单词(也就是不能读取空格),并且在读取完后把光标放在读取数据的同一行,该数据的后面。nextLine():输入字符串(以回车最为分隔符)。读取整行的数据包括单词间的空格

2021-09-10 11:24:23 175

原创 笔试输入输出格式

总结一直输入模板import java.util.*;public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { //操作 } }}有组数或者输入个数import java.util.Scanner;pu

2021-09-10 11:24:04 226

原创 剑指Offer(中等)

JZ1 二维数组中的查找分析代码1. 分析利用该二维数组的性质:每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序改变个说法,即对于左下角的值 m,m 是该行最小的数,是该列最大的数每次将 m 和目标值 target 比较:当 m < target,由于 m 已经是该行最大的元素,想要更大只有从列考虑,取值右移一位当 m > target,由于 m 已经是该列最小的元素,想要更小只有从行考虑,取值上移一位当 m = target,找到该值,返回 t

2021-08-21 17:33:36 157

原创 剑指Offer(较难)

JZ19 顺时针打印矩阵

2021-08-21 17:33:00 292

原创 剑指Offer(中等)——二叉树

JZ60 把二叉树打印成多行(套路)地址:队列import java.util.*;public class Solution { ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) { ArrayList<ArrayList<Integer>> res=new ArrayList<>(); if(pRoot==null)

2021-08-21 17:32:17 144

原创 剑指Offe(简单)

JZ3 从尾到头打印链表错误import java.util.ArrayList;public class Solution { ArrayList<Integer> arrayList=new ArrayList<Integer>(); public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { if (listNode.next!

2021-07-29 21:05:56 175

原创 数组(遍历,内存解析)

数组数组(1)• 数组是一个存放多个数据的容器– 数据是同一种类型– 所有的数据是线性规则排列– 可通过位置索引来快速定位访问数据– 需明确容器的长度Java数组定义和初始化声明一个数组有两种常见的形式:1. 类型名[] 数组名2.类型名 数组名[]好了,下面我们来看看,如何初始化一个数组呢?初始化数组常见的有如下方式:1. 数组名 = new 类型名[数组长度] (此数组已经被声明过) 数组名 = {数据1, 数据2, 数据3, ......, 数据n} (此数组已经

2021-07-28 21:40:16 289

原创 空指针异常

空指针异常所谓的空指针异常,就是一个指针是空指针,你还要去操作它,既然它指向的是空对象,它就不能使用这个对象的方法。比如上面的s假如为null,你还要用s的方法,比如s.equals( String x);那么就会产生空指针异常。产生空指针异常的原因:(1) 当一个对象不存在时又调用其方法会产生异常    obj.method() // obj对象不存在(2) 当访问或修改一个对象不存在的字段时会产生异常    obj.method()  // method方法不存在还有(3)字符串变量未初始化

2021-07-22 20:01:09 349

原创 Mysql触发器

什么是触发器?触发器的使用场景有哪些?-触发器是用户定义在关系表上的一类由事件驱动的特殊的存储过程。触发器是指一段代码,当触发某个事件时,自动执行这些代码。使用场景可以通过数据库中的相关表实现级联更改。实时监控某张表中的某个字段的更改而需要做出相应的处理。例如可以生成某些业务的编号。注意不要滥用,否则会造成数据库及应用程序的维护困难。大家需要牢记以上基础知识点,重点是理解数据类型CHAR和VARCHAR的差异,表存储引擎InnoDB和MyISAM的区别。MySQL中都有哪些触发器?在

2021-06-24 11:33:31 179

原创 SpringMVC原理

Spring MVC的功能组件Spring通过一系列组件实现功能,这些组件包括DispatcherServlet(前端控制器)、HandlerMapping(处理器映射器)Handler(处理器)、HandlAdapter(处理器适配器)、ViewResolver(视图解析器)等。DispatcherServlet(前端控制器)前端控制器负责拦截客户端请求并分发给其他组件,它是整个流程控制的中心,负责调度其他组件的执行,降低各组件之间的耦合,提升整体效率。前端控制器由框架提供,在程序运行过程中自动实

2021-06-19 00:43:08 4997 1

原创 MySQL(视图,存储过程和函数)

存储过程和函数存储过程含义:一组预先编译好的SQL语句的集合,理解成批处理语句1、提高代码的重用性2、简化操作3、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率​ call 存储过程名(实参列表)一、创建语法CREATE PROCEDURE 存储过程名(参数列表)BEGIN 存储过程体(一组合法的SQL语句)END注意:1、参数列表包含三部分参数模式 参数名 参数类型举例:in stuname varchar(20)参数模式:in:该参数可以作为输入,

2021-05-24 23:08:42 122

原创 MySQL(库表管理和事务)

DDL语句库和表的管理库的管理:一、创建库create database 库名二、删除库drop database 库名表的管理:1.创建表CREATE TABLE IF NOT EXISTS stuinfo( stuId INT, stuName VARCHAR(20), gender CHAR, bornDate DATETIME );DESC studentinfo;​ # 2.修改表 alter​ 语法:ALTER TABLE 表名 ADD|MODIFY|DR

2021-05-24 22:52:43 152

原创 MySQL(增删改查)

MySQL服务的启动和停止方式一:计算机——右击管理——服务方式二:通过管理员身份运行​ net start 服务名(启动服务)​ net stop 服务名(停止服务)MySQL服务的登录和退出方式一:通过mysql自带的客户端只限于root用户方式二:通过windows自带的客户端登录:mysql 【-h主机名 -P端口号 】-u用户名 -p密码退出:exit或ctrl+CMySQL的常见命令1.查看当前所有的数据库show databases;2.打开指定的库us

2021-05-24 18:57:05 372

原创 Java8新特性(Stream API,Optional )

简介Java8中有两大最为重要的改变。第一个是 Lambda 表达式;另外一个则是 Stream API。Stream API ( java.util.stream) 把真正的函数式编程风格引入到Java中。这是目前为止对Java类库最好的补充,因为Stream API可以极大提供Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。 使用Stream AP

2021-05-24 00:10:54 206

原创 AIO

伪异步I/O编程概述​ 在上述案例中:客户端的并发访问增加时。服务端将呈现1:1的线程开销,访问量越大,系统将发生线程栈溢出,线程创建失败,最终导致进程宕机或者僵死,从而不能对外提供服务。接下来我们采用一个伪异步I/O的通信框架,采用线程池和任务队列实现,当客户端接入时,将客户端的Socket封装成一个Task(该任务实现java.lang.Runnable线程任务接口)交给后端的线程池中进行处理。JDK的线程池维护一个消息队列和N个活跃的线程,对消息队列中Socket任务进行处理,由于线程

2021-05-21 01:09:26 100

原创 NIO——三大核心(缓冲区,通道,选择器)

Java NIO 简介Java NIO(New IO)也有人称之为 java non-blocking IO是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操作。NIO可以理解为非阻塞IO,传统的IO的read和write只能阻塞执行,线程在读写IO期间不能干其他事情,比如调用socket.read()时,如果服务器

2021-05-21 01:09:23 754

原创 NIO——非阻塞式网络通信

阻塞与非阻塞传统的IO 流都是阻塞式的。也就是说,当一个线程调用read() 或write() 时,该线程被阻塞,直到有一些数据被读取或写入,该线程在此期间不能执行其他任务。因此,在完成网络通信进行IO 操作时,由于线程会阻塞,所以服务器端必须为每个客户端都提供一个独立的线程进行处理,当服务器端需要处理大量客户端时,性能急剧下降。Java NIO 是非阻塞模式的。当线程从某通道进行读写数据时,若没有数据可用时,该线程可以进行其他任务。线程通常将非阻塞IO 的空闲时间用于在其他通道上执行IO 操作,所以

2021-05-21 01:09:18 559

原创 Juc(读写锁,集合)

Java JUC 简介在Java 5.0 提供了java.util.concurrent(简称JUC )包,在此包中增加了在并发编程中很常用的实用工具类,用于定义类似于线程的自定义子系统,包括线程池、异步IO 和轻量级任务框架。提供可调的、灵活的线程池。还提供了设计用于多线程上下文中的Collection 实现等。CAS 算法CAS (Compare-And-Swap) 是一种硬件对并发的支持,针对多处理器操作而设计的处理器中的一种特殊指令,用于管理对共享数据的并发访问。CAS 是一种无锁的非

2021-05-19 23:19:21 267

原创 SSM开发实用工具

Lombok在IDEA中安装lombok插件配置<dependencies> <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId

2021-05-17 13:46:57 580

原创 Vue(组件开发)

组件开发安装nodehttps://blog.csdn.net/weixin_46168350/article/details/115934178安装脚手架1.首先npm install安装模块依赖。卸载脚手架npm uninstall -g @vue/cli //卸载3.x版本脚手架npm uninstall -g vue-cli //卸载2.x版本脚手架安装npm install -g @vue/cli //安装3.x版本脚手架npm install -g vue-cli

2021-05-17 10:30:16 119

原创 Vue-路由(VueRouter)

vue-router说明官方提供的用来实现SPA 的vue 插件github: https://github.com/vuejs/vue-router中文文档: http://router.vuejs.org/zh-cn/路由路由:根据请求的路径按照一定的路由规则进行请求的转发从而帮助我们实现统一请求的管理作用用来在vue中实现组件之间的动态切换下载脚手架:下载: npm install vue-router --save普通:<script src="https://cd

2021-05-17 10:30:02 210

原创 Vue—Axios 基本使用

Axios 基本使用引言Axios 是一个异步请求技术,核心作用就是用来在页面中发送异步请求,并获取对应数据在页面中渲染 页面局部更新技术 AjaxAxios 第一个程序中文网站:https://www.kancloud.cn/yunye/axios/234845安装: https://unpkg.com/axios/dist/axios.min.js下载:npm install axios --saveGET方式的请求//发送GET方式请求 axios.get(

2021-05-17 10:29:51 189

原创 vue的生命周期

vue的生命周期var vm = new Vue({ el: '#app',// 控制区域 data: {},// 定义数据 methods: {},// 定义方法 filters: {},// 定义私有过滤器 directives: {},// 定义私有指令 components: { }, // 定义实例内部私有组件的 beforeCreate() { },// 实例刚在内存中被创建出来,此时,还没有初始化好 da

2021-05-14 16:24:32 269 4

原创 Vue基本知识(常用标签,事件)

入门下载Vue 扩展插件vue-cli: vue 脚手架vue-resource(axios): ajax 请求vue-router: 路由vuex: 状态管理vue-lazyload: 图片懒加载vue-scroller: 页面滑动相关mint-ui: 基于vue 的UI 组件库(移动端)element-ui: 基于vue 的UI 组件库(PC 端)双大括号表达式语法: {{exp}}功能: 向页面输出数据可以调用对象的方法案例<div id="app"&gt

2021-05-14 16:23:57 755 1

factory.zip

工厂模式(简单工厂模式、工厂方法模式、抽象工厂模式) 笔记内容:https://blog.csdn.net/weixin_46168350/article/details/110285717

2020-11-29

huffmancode

赫夫曼编码,哈夫曼编码(Huffman Coding),又称霍夫曼编码,案例分析,了解赫夫曼编码的实现,数据无损压缩,文件压缩,解压

2020-11-03

泛型和集合案例.7z

结合https://blog.csdn.net/weixin_46168350/article/details/107755203学习

2020-08-08

空空如也

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

TA关注的人

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