自定义博客皮肤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)
  • 资源 (11)
  • 收藏
  • 关注

原创 谈一下HTTPS的加密传输过程

1 前情提要(1)对称加密通信双方采用同样的密钥进行加密和解密。(2)非对称加密通信双方加密和解密使用不同密钥。假设两个用户要加密交换数据,双方交换公钥,使用时一方用对方的公钥加密,另一方即可用自己的私钥解密。2 HTTPS的加密过程HTTPS实际上就是HTTP协议先和SSL进行通信,再由SSL(443端口)和TCP进行通信,相当于在HTTP的身上披上了一层盔甲。具体过程:① 证书验证阶段:1)浏览器发起 HTTPS 请求;2)服务端返回 HTTPS 证书;3)客户端验证证书是否合法

2020-08-31 10:40:51 1016

原创 Mysql联表查询(学生表、教师表、成绩表、课程表)

文章目录1 建库语句2 建表语句3 插入测试数据4 常见查询问题1 建库语句create database if not exists studentinfor character set utf8mb4;2 建表语句(1) 学生表(student)create table student( s_id int, sname varchar(20), sage int, sgender varchar(8))(2) 课程表(course)create table course(

2020-08-30 21:05:02 8479

原创 给你一个字符串找出前10个出现最多的字符

主要采用HashMap,PriorityQueue(需要指定排序规则,按照从大到小的顺序进行排序);import java.util.*;public class Main { public static void main(String[] args) { String str = "helloffjjkfkjdfdsljfoijsgljslgasjgdjfjsdjfldghsojewfsf"; char[] array = str.toCharArray

2020-08-30 09:44:52 687

转载 HashMap为什么是不安全的

HashMap为什么是不安全的JDK1.8中HashMap的不安全性主要源自 数据覆盖 问题。注:JDK1.8在进行元素插入时使用的是尾插法。final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { Node<K,V>[] tab; Node<K,V> p; int n, i; if ((tab = tab

2020-08-30 09:00:19 687

原创 Java中常见的垃圾回收器走一波

文章目录垃圾回收器1 Serial 垃圾收集器(单线程、复制算法)2 ParNew 垃圾收集器(Serial+多线程)垃圾回收器Java 堆内存被划分为新生代和年老代两部分,新生代主要使用复制和标记-清除垃圾回收算法;年老代主要使用标记-整理垃圾回收算法,因此java 虚拟中针对新生代和年老代分别提供了多种不同的垃圾收集器。JDK1.7的的HotSpot虚拟机,包含的所有收集器如下图所示:1 Serial 垃圾收集器(单线程、复制算法)Serial(英文连续)是最基本垃圾收集器,使用复制算法,曾

2020-08-30 08:37:24 284

原创 Condition接口对标 wait—notify等待通知机制

文章目录1 Condition接口2 Condition的实现:3 Condition与 wait—notify的区别与联系:1 Condition接口任意一个Java对象,都拥有一组监视器方法(定义在java.lang.Object上),主要包括wait()、wait(long timeout)、notify()以及notifyAll()方法,这些方法与synchronized同步关键字配合,可以实现等待/通知模式。Condition接口也提供了类似Object的监视器方法,与Lock配合可以实现

2020-08-24 17:43:23 502

原创 Lock接口及队列同步器AQS

1 Lock接口Java SE 5之后,并发包中新增了Lock接口(以及相关实现类)用来实现锁功能,它提供了与synchronized关键字类似的同步功能,只是在使用时 需要显式地获取和释放锁 。虽然缺少了(通过synchronized块或者方法所提供的)隐式获取释放锁的便捷性,但是却拥有了锁获取与释放的可操作性、可中断的获取锁以及超时获取锁等多种synchronized关键字所不具备的同步特性。Lock接口的实现类:ReentrantLockReentrantReadWriteLock.Re

2020-08-24 09:25:25 184

原创 Java锁的升级与对比

Java锁的升级与对比在Java SE 1.6中,锁一共有4种状态,级别从低到高依次是:无锁状态、偏向锁状态、轻量级锁状态和重量级锁状态,这几个状态会随着竞争情况逐渐升级。注:锁可以升级但不能降级,意味着偏向锁升级成轻量级锁后不能降级成偏向锁。这种锁升级却不能降级的策略,目的是为了提高获得锁和释放锁的效率。1 偏向锁大多数情况下,锁不仅不存在多线程竞争,而且总是由同一线程多次获得,为了让线程获得锁的代价更低而引入了偏向锁。 当一个线程访问同步块并获取锁时,会在 对象头 和栈帧中的 锁记录 里存

2020-08-23 17:07:34 224

原创 包装类

包装类基本数据类型包装类byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharactorbooleanBoolean装箱和拆箱:int i=10;//装箱Integer a = Integer.valueOf(i);Integer b = new Integer(i);//拆箱int j = a.intValue();自动装箱和自

2020-08-22 18:57:56 143

原创 滑动窗口——汇总

1 最小覆盖子串给你一个字符串 S、一个字符串 T 。请你设计一种算法,可以在 O(n) 的时间复杂度内,从字符串 S 里面找出:包含 T 所有字符的最小子串。输入:S = “ADOBECODEBANC”, T = “ABC”输出:“BANC”提示:如果 S 中不存这样的子串,则返回空字符串 “”。如果 S 中存在这样的子串,我们保证它是唯一的答案。来源:力扣(LeetCode)暴力解法,代码大概是这样的:for (int i = 0; i < s.size(); i++)

2020-08-20 14:56:26 239

原创 总目录

Ⅰ Java基础1 数据类型与运算符2 逻辑控制/输入输出3 方法、重载、递归4 数组5 字符串(String)5 类和对象/封装(static、构造方法)6 继承 (final,super,this)7 多态(向上转型,重写)8 抽象类,接口9 内部类10 泛型11 异常12 反射13 lambda表达式14 枚举15 Java虚拟机(JVM)简介Ⅱ:数据结构基础1 集合、Map、泛型、包装类2 顺序表3 单链表4 双向链表5 栈和队列6 二叉树7

2020-08-19 15:33:41 269

原创 SpringBoot——数据访问

导入 MyBatis 所需要的依赖<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.1</version></dependency> <!-- lombok: 简化bean代码的框架

2020-08-19 15:31:49 319

原创 Java中线程之间的通信方式

线程同步:即当有一个线程在对内存进行操作时,其他线程都不可以对这个内存地址进行操作,直到该线程完成操作, 其他线程才能对该内存地址进行操作。同步的话,仅仅传递的是控制信息,就是我什么时候运行结束,你什么时候可以来。对于线程间通信来说,线程间同步可以归纳为线程间通信的一个子集,对于线程通信指的是两个线程之间可以交换一些实时的数据信息,而线程同步只交换一些控制信息。1 synchronizedpackage Communication;class Target{ synchronized pu

2020-08-19 09:47:01 2458

原创 String的不可变和final修饰有关系嘛?为什么要被final修饰?

思考String不可变和final修饰有关系嘛1. 什么是不可变?当str赋值成“world”时,不是将原来的hello修改,而是重新指向了一个新对象。String str = "hello";str = "world";2. String为什么不可变?直接上源码:public final class String implements java.io.Serializable, Comparable<String>, CharSequence { //{@l

2020-08-18 21:10:36 854

原创 事务的四种隔离级别

事务的四种隔离级别第一种隔离级别:Read uncommitted(读未提交)一个事务在写数据时,不允许另外一个事务进行写操作,但允许读操作。这样避免了更新丢失,却可能出现脏读,也就是说事务B读取到了事务A未提交的数据。解决了更新丢失,但还是可能会出现脏读.第二种隔离级别:Read committed(读提交)若有事务对数据进行更新操作时,读操作事务要等待这个更新操作事务提交后才能读取数据,可以解决脏读问题。但会出现一个事务范围内两个相同的查询却返回了不同数据,这就是不可重复读。解决了更新丢失和

2020-08-17 22:19:27 5236

原创 线程同步的方法

文章目录线程同步的方法1 synchronized修饰方法2 synchronized修饰代码块3 使用特殊域变量(volatile)实现线程同步4 使用重入锁ReentrantLock实现线程同步5 使用原子变量util.concurrent.atomic实现线程同步线程同步的方法1 synchronized修饰方法由于Java的每个对象都有一个内置锁,在调用synchronized修饰的方法前,需要获得内置锁,否则就处于阻塞状态。public synchronized void save(){

2020-08-17 21:09:34 144

原创 SpringBoot项目的创建

1 创建SpringBoot项目选择Spring Web项目结构分析:程序的主启动类application.properties 配置文件测试类pom.xmlpom.xml文件中自动导入了依赖:<!-- 父依赖 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starte

2020-08-17 17:08:16 225

原创 SpringBoot项目中增加用户登录状态拦截器

用户登录状态拦截——拦截器(1)LoginInterceptor拦截到请求后,检查是否登录过(通过用户的Session信息),登录过则直接返回ture,允许继续访问;没有登录则直接跳转到登录页面。package com.glp.config;@Component //注册到Spring容器中public class LoginInterceptor implements HandlerInterceptor { @Override public boolean preHandl

2020-08-17 10:05:04 931

原创 浏览器页面及后端页面都没报错,但是不显示内容?

在做项目进行订单查询时时出现异常情况:(1)订单页面显示为空:(2)后台查找不出错误信息:Connected to server[2020-08-16 04:00:10,972] Artifact myCashier:war exploded: Artifact is being deployed, please wait...16-Aug-2020 16:00:11.427 璀﹀憡 [RMI TCP Connection(2)-127.0.0.1] org.apache.tomcat.util

2020-08-16 16:36:17 5010

原创 静态代理

静态代理举个例子,现在有个家庭需要结婚,但结婚需要很多复杂的事务,比如婚礼彩排,宴会等,这时复杂的事务可以交给婚庆公司来代理。1 编写接口:package marry;public interface Imarry { void marry();}2 需要结婚的家庭该家庭需要结婚,所以需要实现结婚的Imarry接口。package marry;public class Home implements Imarry { @Override public voi

2020-08-16 09:55:22 169

原创 Java中的编码转换?

JDK1.6知道String类中getBytes(”编码“)方法可以将一个数用指定的编码转成一个字节数组,String中通过指定的charset解码指定的byte 数组,构造一个新的String。即指定编码转化为字节数组,让后再指定解码,对字节数组进行解码,代码如下: String s = "Hello world"; String result = new String(s.getBytes("GB2312"),"iso-8859-1");...

2020-08-15 10:28:11 163

原创 Java创建对象的几种方式:

Java创建对象的几种方式:1、用new语句创建对象,这是最常见的创建对象的方法。2、运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。3、调用对象的clone()方法。4、运用反序列化手段,调用java.io.ObjectInputStream对象的readObject()方法。(1)和(2)都会明确的显式的调用构造函数;(3)是在内存上对已有对象的影印,所以不会调用构造函数;(4)是从文件中还原

2020-08-14 19:51:52 178

转载 InnoDB和MyISAM的区别

1 InnoDB和MyISAM的区别(1)InnoDB 支持事务,MyISAM 不支持事务。(2)InnoDB 支持外键,而 MyISAM 不支持。对一个包含外键的 InnoDB 表转为 MYISAM 会失败;(3)InnoDB 是聚集索引(叶子节点存数据),MyISAM 是非聚集索引(叶子节点存指针)。聚簇索引的文件存放在主键索引的叶子节点上,因此 InnoDB 必须要有主键,通过主键索引效率很高。但是辅助索引需要两次查询,先查询到主键,然后再通过主键查询到数据。因此,主键不应该过大,因为主键太大,

2020-08-13 21:01:47 307

转载 HTTP——超文本传输协议

文章目录HTTP——超文本传输协议Ⅰ HTTP 请求报文:1 请求行2 请求头部3 空行4 请求体5 请求实例(1)不带请求体:(2)带请求体:Ⅱ HTTP 响应报文1 状态行:2 响应头部:3 空行:4 响应体:5 响应实例Ⅲ HTTP原理1 HTTP 请求/响应的步骤:2 在浏览器地址栏键入URL,按下回车之后会经历以下流程:3 HTTP 无状态性4 HTTP1.1 持久连接HTTP——超文本传输协议超文本传输协议(Hypertext Transfer Protocol,HTTP)是应用层协议。H

2020-08-12 10:26:22 1377

原创 导航

导航1 JVM—GC算法2 顺序表3 单链表4 栈和队列5 二叉树6 堆7 排序8 常用的查找算法简介以及AVL树9 设计模式10 多线程进阶——死锁11 阻塞IO,非阻塞IO,多路复用IO,同步IO,异步IO12 TCP协议——三次握手四次挥手13 Mysql常用优化技巧14 索引、事务和视图...

2020-08-12 08:53:58 3676

转载 快速失败和安全失败

java.util 包的集合类就都是快速失败的,如HashMap、ArrayList ;java.util.concurrent 包下的类都是安全失败,比如:ConcurrentHashMap。1 快速失败(fail-fast)在使用迭代器对集合对象进行遍历的时候,如果 A 线程正在对集合进行遍历,此时 B 线程对集合进行修改(增加、删除、修改),或者 A 线程自己在遍历过程中对集合进行了修改,都会导致 A 线程抛出 ConcurrentModificationException 异常。Hash.

2020-08-11 09:16:36 205

原创 Java中为什么是值传递

java中在参数传递时有2种方式:方式一:值传递值传递是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。简单来说就是直接复制了一份数据过去。值传递主要是对基本型变量而言的,传递的是该变量的一个副本,改变副本不影响原变量。方式二: 引用传递每次传参数的时候都复制一份,如果这个参数占用的内存空间太大的话,运行效率会很低,所以我们采用直接把内存地址传过去的方式来完成“值传递”。引用传递 一般是对于对象型变量而言的,传递的是该对象 地址的一个副本

2020-08-11 08:39:35 508

转载 Linux下进程间的通信方式

文章目录Linux下进程间的通信方式1 管道1)匿名管道2)命名管道(FIFO)2 消息队列3 共享内存4 信号量(1)互斥信号量(2)同步信号量5 信号(1)硬件来源(2)软件来源6 Socket(1) 针对 TCP 协议通信的 socket 编程模型(2)针对 UDP 协议通信的 socket 编程模型(3)针对本地进程间通信的 socket 编程模型Linux下进程间的通信方式每个进程的用户地址空间都是独立的,一般而言是不能互相访问的,但内核空间是每个进程都共享的,所以进程之间要通信必须通过内核。

2020-08-10 11:46:27 522 1

原创 使用Wait()方法的注意事项:This code may throw an InterruptedException

1 选择void waitForSignal(){Object obj = new Object();synchronized(Thread.currentThread()){ obj.wait(); obj.notify();}}Which statement is true?第一个错误是掷出中断异常InterruptedException,要对 wait() 方法以try/catch 包覆或在方法上声明异常信息。void waitForSignal() throws Inte

2020-08-08 17:46:54 671

原创 字符串中找出连续最长的数字串

字符串中找出连续最长的数字串读入一个字符串str,输出字符串str中的连续最长的数字串输入描述:个测试输入包含1个测试用例,一个字符串str,长度不超过255。输出描述:在一行内输出str中里连续最长的数字串。输入abcd12345ed125ss123456789输出123456789解析: 用end记录最长数字串的下标,用max记录最长数字个数;用max表示经过的数字长度最大值,count表示数字计数器,当为字母时重置为0 end表示数字尾部,每次满足数字时,对max进行判断,当ma

2020-08-08 11:19:29 390

原创 Tomcat应用服务器的简单实现

Tomcat应用服务器的简单实现简单来说就是实现一个基于TCP的HTTP服务器,可以完成静态资源和动态资源的访问。Tomcat的职责:1)正确监听TCP端口并处理客户端发起的TCP连接请求。2)在已经建立TCP连接的基础上,可以正确的从TCP连接中读取数据。3)可以按照HTTP协议,解析数据(HTTP请求),对方发过来的不一定是HTTP请求。4)把请求封装成HttpServletRequest请求对象。5)根据请求中的URL信息,决定交给哪个Web应用处理。6)根据请求中的URL信息,决定交

2020-08-07 16:23:41 539

原创 SSM——用户信息管理系统

SSM——用户信息管理系统1 核心功能登录、注册添加用户信息删除某一个用户信息删除选中的用户信息分页查询所有用户信息模糊查询用户信息更新用户信息2 整体架构:项目整体基于HTTP协议,前端使用 HTML+CSS+JS 构建页面整体布局,后端采用分层结构,分为Controller层,Service层,Dao层,采用SpringBoot+SpringMvc+Mybatis来实现,达到在设计上的高内聚低耦合。3 数据库表设计drop database if exists user

2020-08-06 11:59:44 5903 4

原创 解决SpringBoot部署到云服务器时的404路径问题

解决SpringBoot部署到云服务器时的路径问题1 设置SpringBoot项目的根路径:springboot 2.x以上版本(server.servlet.context-path):(1)配置文件中设置(application.yml)server: servlet: context-path: /news(2)配置文件中设置(application.properties)server.servlet.context-path: /news(3)查看SpringBoot或

2020-08-06 08:55:22 2382

原创 将SpringBoot打包并部署到云服务器中

将SpringBoot打成war包并部署到云服务器中(1)在pom.xml中添加<packaging>war</packaging>(2)在pom.xml中添加tomcat依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactI

2020-08-05 22:21:12 717

原创 A query was run and no Result Maps were found for the Mapped Statement ‘com.glp.dao.UserMapper

org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the Mapped Statement ‘com.glp.dao.UserMapper.findAllRecord’. It’s likely that neither a Result Type nor a Result Map was specified.只要是select语句,我们就需要给定具体的数据返回

2020-08-05 17:26:37 1261

原创 Failed to complete request: Could not find result map ‘com.glp.dao.UserMapper.user‘

Failed to complete request: org.apache.ibatis.builder.IncompleteElementException: Could not find result map ‘com.glp.dao.UserMapper.user’提示:找不到resultMap这里返回类型写错了, 改成resultType即可 ,出现这个错误也可能是resultmap的名称写错了。...

2020-08-05 17:16:53 735

原创 在SpringBoot中配置静态资源路径

在SpringBoot中配置静态资源路径访问static public templates时,相当于访问http://127.0.0.1:8080/。login.html中background设置背景文件路径:这里报错不影响使用。需要加载Springboot访问静态资源的jar文件:在pom.xml文件中加入 <dependency> <groupId>org.springframework.boot</groupId>

2020-08-05 11:01:18 454

原创 解决SprngBoot开发时不支持发行版11的问题

1 首先要在project中确定自己的jdk版本即language版本限制:2 在Modules中查看版本限制Language level3 在Setting中查看Java Compiler4 为了解决SpringBoot项目的版本变更问题,可以在项目的pom.xml中加入版本限制:<build> <plugins> <plugin> <groupId>org.apache.maven.plugi

2020-08-05 09:59:07 513

原创 Spring——事务管理

文章目录Spring——事务管理(1)配置声名式事务:(2)使用Spring管理事务,注意头文件的约束导入 : tx(3) 配置事务通知(4)配置aop织入事务Spring——事务管理提供声名式事务,允许用户自定义切面。事务:要么都成功,要么都失败,涉及到数据的一致性问题。事务的ACID原则:原子性,一致性,隔离性,持久性编程式事务管理将事务管理代码嵌到业务方法中来控制事务的提交和回滚,try catch。缺点:必须在每个事务操作业务逻辑中包含额外的事务管理代码声明式事务管理一般情况

2020-08-03 21:39:16 201

原创 整合Spring和Mybatis

相关依赖包:junit<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version></dependency>mybatis<dependency> <groupId>org.mybatis</groupId>

2020-08-03 21:15:30 107

redis连接工具.zip

Redis-desktop-manager

2020-12-26

中国省市数据(sql以及excel)

==============================================================内含中国各省市的sql数据以及excel数据。 ==============================================================

2020-11-08

风电场风速及功率数据.zip

美国某风电场风速数据及风电功率数据,2012年,数据较多可供研究人员使用,内含数据所在地的经纬度。数据为每5分钟间隔。

2019-11-26

内蒙古风速50434.zip

内蒙古风速数据,风速,风向等,2010-2016年逐日风速数据,内部数据经过处理划分,数据来自中国气象中心。

2019-11-26

SVM神经网络的预测.rar

SVM支持向量机,时间序列预测案例,案例基础简单容易上手,还有更多资源请加qq群107794826。

2019-11-26

BP、RBF、Elman神经网络时间序列预测.zip

matlab内含BP、RBF、Elman神经网络等模型,用于时间序列预测,比较基础,应用简单,比较容易上手。

2019-11-25

Mann-Kendall检验.zip

Mann-Kendall检验,用于趋势检验及突变检验,主要用于检测时间序列的趋势变化,气象类时间序列的突变点,内含测试数据,程序较为简洁,

2019-11-25

内蒙古风速50425.zip

内蒙古逐日风速数据,数据经过处理划分

2019-11-18

059879532465Rossler.m

用四阶龙格库塔方法绘制Rossler吸引子,借助典型的混沌系统,帮助理解混沌运动。

2019-07-20

LAN-34461A.vi

labview网口通讯代码,简单易上手,适用初学者。。

2019-06-20

串口Verilog源码.rar

verilog代码,实现串口通信。uart_transmitter.v,uart_regs.v,uart_receiver.v,uart_defines.v,seriesPort.v

2019-06-20

空空如也

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

TA关注的人

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