自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 资源 (2)
  • 收藏
  • 关注

原创 【尚硅谷数据结构】第 7 章 排序算法

1、排序算法介绍1.1、排序算法的简介排序也称排序算法(Sort Algorithm), 排序是将一组数据, 依指定的顺序进行排列的过程。1.2、排序算法的分类内部排序:指将需要处理的所有数据都加载到内部存储器(内存)中进行排序。外部排序法:数据量过大, 无法全部加载到内存中, 需要借助外部存储(文件等)进行排序。常见的排序算法分类2、算法的复杂度2.1、时间复杂度的度量方法事后统计的方法:这种方法可行, 但是有两个问题:一是要想对设计的算法的运行性能进行评测,

2020-12-01 09:48:38 59

原创 Java多线程死锁案例及分析

1.Demo/** * @version V1.0 * @ClassName:DeadLockTest * @Description: 死锁测试 * @author:Daniel * @date:2020/11/28 下午9:37 */public class DeadLockTest implements Runnable{ A a = new A(); B b = new B(); public void init() { Thread.curr

2020-11-28 22:17:31 19

原创 【尚硅谷数据结构】第 5 章 栈

1、栈的基本介绍1.1 栈的实际需求请计算表达式:[7**2*2-5+1-5+3-3] 的值请问: 计算机底层是如何运算得到结果的? 注意不是简单的把算式列出运算,因为我们看这个算式 7 * 2 * 2 - 5,但是计算机怎么理解这个算式的对计算机而言, 它接收到的就是一个字符串, 我们讨论的是这个问题:栈1.2 栈的基本性质栈的英文为(stack)栈是一个先入后出(FILO-First In Last Out)的有序列表栈(stack)是限制线性表中元素的插入和删除只能

2020-11-25 16:21:23 44

原创 【尚硅谷数据结构】第4章 链表

第 4 章 链表1、链表(Linked List)介绍1.1、内存结构内存上来看:链表存储空间不连续(不像数组)1.2、逻辑结构逻辑上来看:链表属于线性结构1.3、链表特点链表以节点的方式来存储,是链式存储data域存放数据,next域指向下一个节点如内存结构图所示,链表的各个节点不一定是连续存储链表分==带头节点==和**没有头结点**的链表2、链表应用场景2.1、水浒英雄榜使用带 head 头的单向链表实现【水浒英雄排行榜管理】2.2、链表节点定义n

2020-11-10 14:14:51 92

转载 为什么打印ArrayList对象输出的不是地址?

为什么在打印一个ArrayList对象时,输出的不是此对象的地址,而是该集合中的值?是如何实现的?分析:Object类是Java中其他所有类的基类,没有Object类Java面向对象无从谈起,所有类都是Object类的直接子类或间接子类而在Object类的toString()方法中,返回的是 getClass().getName() + "@" + Integer.toHexString(hashCode())也就是地址值,打印ArrayList对象没有输出地址值,便可知道ArrayList重写了.

2020-11-06 16:54:57 41

原创 【尚硅谷数据结构】第3章 稀疏数组与队列

第3章 稀疏数组与队列1、稀疏数组1.1 实际需求因为该二维数组的很多值是默认值 0 ,因此记录了很多没有意义的数据,我们将其转为稀疏数组进行存储1.2 稀疏数组的应用1.2.1 稀疏数组的处理方法稀疏数组把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模稀疏数组也是二维数组,行数由原数组的数据决定,列数一般为 3 列稀疏数组的第一行记录原数组一共有几行几列,有多少个不为零的值第一列:原数组的行数第二列:原数组的列数第三列:原数组有多少个不

2020-11-05 20:33:01 56

原创 Java中数组的定义方式

Java中数组的定义方式一维数组方法一int[] arr1 = new int[3]; // 给定数组长度,数值默认为0,长度必须给定ints[0] = 1;ints[1] = 2;ints[2] = 3;方法二int[] arr2 = new int[]{1,2,3}; // 创建数组时赋值方法三int[] arr3 = {1,2,3}; // 直接赋值,不使用new关键字二维数组动态初始化// 三种形式,第一种为常用// m为行数,n为列数,其中n可

2020-11-05 14:08:53 15

原创 【排序】冒泡排序(待补充)

代码:public class BubbleSort {  public static void main(String[] args) {    int[] arr={6,3,8,2,9,1};    System.out.println("排序前数组为:");    for(int num:arr){      System.out.print(num+" ");    }    for(int i=0;i<arr.length-1;i++){//外层循环控制排序趟数      

2020-10-24 21:55:48 60

转载 ArrayList和LinkedList哪个更占空间?

一般情况下,LinkedList的占用空间更大,因为每个节点要维护指向前后地址的两个节点,但也不是绝对,如果刚好数据量超过ArrayList默认的临时值时,ArrayList占用的空间也是不小的,因为扩容的原因会浪费将近原来数组一半的容量,不过,因为ArrayList的数组变量是用transient关键字修饰的,如果集合本身需要做序列化操作的话,ArrayList这部分多余的空间不会被序列化。原文链接:https://zhuanlan.zhihu.com/p/166686856...

2020-10-18 14:24:10 32

原创 狂神说 Docker笔记

Docker概述Docker为什么出现?Docker的思想来自于集装箱;JRE – 多个应用(端口冲突)-- 原来都是交叉的!隔离 : Docker核心思想,打包装箱,每个箱子是互相隔离的。Docker通过隔离机制,可以将服务器利用到极致!Docker的历史Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源。Docker能做什么之前的虚拟机技术虚拟机技术的缺点

2020-09-05 16:32:27 1115

转载 理解Java中字符流与字节流的区别

1. 什么是流Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列。和水流一样,Java中的流也具有一个“流动的方向”,通常可以从中读入一个字节序列的对象被称为输入流;能够向其写入一个字节序列的对象被称为输出流。2. 字节流Java中的字节流处理的最基本单位为单个字节,它通常用来处理二进制数据。Java中最基本的两个字节流类是InputStream和OutputStream,它们分别代表了组基本的输入字节流和输出字节流。InputStream类与Ou

2020-09-02 16:24:21 46

原创 黑马 SpringData JPA笔记

课程链接:https://www.bilibili.com/video/BV1Y4411W7Rx?from=search&seid=415951199875837982第一 orm思想​ 主要目的:操作实体类就相当于操作数据库表​ 建立两个映射关系:​ 实体类和表的映射关系 实体类中属性和字段的映射关系第二 hibernate框架介绍​ Hibernate是一个开放源代码的对象关系映射框架,​ 它对JDBC进行了非常轻量级的对象封装,​ 它将POJO与数据库表建立映射关系,

2020-08-24 14:29:03 1065

原创 狂神说 Redis笔记

狂神说 Redis一、Nosql概述为什么使用Nosql1、单机Mysql时代90年代,一个网站的访问量一般不会太大,单个数据库完全够用。随着用户增多,网站出现以下问题数据量增加到一定程度,单机数据库就放不下了数据的索引(B+ Tree),一个机器内存也存放不下访问量变大后(读写混合),一台服务器承受不住。2、Memcached(缓存) + Mysql + 垂直拆分(读写分离)网站80%的情况都是在读,每次都要去查询数据库的话就十分的麻烦!所以说我们希望减轻数据库的压力,我们

2020-08-20 10:46:54 4996 5

原创 【Mac】Alfred4有道翻译的workflow实现

一、在Github下载开源项目强烈推荐:https://github.com/whyliam/whyliam.workflows.youdao一定要找到对应自己Alfred版本的项目下载!作者给了相信的安装、配置方式,但是作者对于有道智云的配置没有做详细介绍,在此给大家做几点补充二、注册有道智云应用注册有道智云http://ai.youdao.com/新建应用新建一个自然语言翻译服务将翻译服务绑定到该应用查看应用的ID和密钥,配置到workflow..

2020-08-12 21:47:26 262

原创 【Mac】2020 Homebrew安装避坑指南

【Mac】2020Homebrew安装避坑指南前言​ 博主Homebrew安装了很多次,网上的教程有很多都是坑,而且是几年前的安装方法,这里把我安装成功的方法整理推荐给大家,作者都是实时更新的不用担心版本陈旧的问题。​ Homebrew官网安装命令采用的github托管,所以安装比较慢,甚至安装失败。网上有很多解决安装慢的问题,对比之后我推荐大家使用国内脚本一键安装,大佬托管在gitee上的脚本(目前已经近800star),脚本和源都采用的国内镜像,安装和更新都很快。安装方法一键安装https

2020-08-07 17:45:41 136

原创 如何连接云服务器上的redis

1. 修改redis的配置文件vim /usr/local/bin/myconfig/redis.conf将只绑定本地注释保护模式改为 no允许后台运行2. 开放端口6379firewall-cmd --zone=public --add-port=6379/tcp --permanet重启防火墙服务systemctl restart firewalld.service3. 阿里云服务器控制台配置安全组4. 重启redis-server[root@Alib

2020-08-04 16:50:30 268

转载 Redis分布式锁实现秒杀业务(乐观锁、悲观锁)

链接:https://www.cnblogs.com/jasonZh/p/9522772.html

2020-08-04 12:10:28 78

原创 linux命令ps aux|grep name和ps -ef|grep name有什么区别?

ps -aux:用BSD的格式来显示 java这个进程显示的项目有:USER , PID , %CPU , %MEM , VSZ , RSS , TTY , STAT , START , TIME , COMMANDps -ef :是用标准的格式显示java这个进程显示的项目有:UID , PID , PPID , C , STIME , TTY , TIME , CMD举例:ps -ef | grep -i redis查看含有redis字符串的进程,-i 参数为忽略大小写...

2020-08-03 20:39:40 62

转载 对Redis是单线程的理解

前言当面试官问你Redis是单线程还是多线程?你肯定会说:单线程!然后他就会问:单线程为啥还这么快?你就会说出这几条原因:1、Redis是基于内存的,内存的读写速度非常快,从内存中拿数据比从磁盘上更快。2、Redis是基于I/O多路复用(非阻塞IO),可以摆脱多线程上下文切换消耗的影响,你如果真这么说 那她可能也许大概不会太满意个人理解redis分客户端和服务端,一次完整的redis请求事件有多个阶段:1、客户端到服务器的网络连接2、redis读写事件发生3、redis服务端的数据处理(单

2020-08-03 10:31:08 55

原创 sklearn随机森林模型参数解释

sklearn随机森林模型关键参数解释n_estimators​ 随机森林决策树的数目,n_estimators越大越好,但占用的内存与训练和预测的时间也会相应增长,且边际效益是递减的,所以要在可承受的内存/时间内选取尽可能大的n_estimators。而在sklearn中,n_estimators默认为10。criterion​ gini or entropy 属性划分计算方式,gini系数和信息熵;splitterbest or random前者是在所有特征中找最好的切分点,后者

2020-08-02 17:18:04 133

原创 狂神说 Linux

课程地址:https://www.bilibili.com/video/BV187411y7hFLinux一切皆文件:文件就 读、写、权限三种操作一、Linux常用指令关机关机sync # 将数据由内存同步到硬盘中。shutdown # 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:shutdown –h 10 # 这个命令告诉大家,计算机将在10分钟后关机shutdown –h now # 立马关机shutdown –h 20:25

2020-07-31 10:27:18 701

原创 狂神说 MyBatisPlus 学习笔记

狂神说 MyBatisPlus 学习笔记一、快速入门文档:https://mp.baomidou.com/使用第三方组件:导入对应依赖研究依赖如何配置代码如何编写提高扩展技术能力步骤1、创建数据库 mybatis_plus2、创建user表DROP TABLE IF EXISTS user;CREATE TABLE user( id BIGINT(20) NOT NULL COMMENT '主键ID', name VARCHAR(30) NULL DEFAULT NU

2020-07-31 10:18:27 950

转载 Linux和UNIX的关系及区别(详解版)

原文链接:http://c.biancheng.net/view/707.htmlUNIX 与 Linux 之间的关系是一个很有意思的话题。在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞生于 20 世纪 90 年代初,可以说 UNIX 是操作系统中的"老大哥",后来的 Windows 和 Linux 都参考了 UNIX。现代的 Windows 系统已经朝着“图形界面”的方向发展了,和 UNIX 系统有了巨大

2020-07-29 12:00:01 61

转载 String,StringBuffer与StringBuilder的区别

一、Java String 类——String字符串常量字符串广泛应用 在Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。需要注意的是,String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,这样不仅效率低下,而且大量浪费有限的内存空间。我们来看一下这张对String操作时内存变化的图:我们可以看到,初始String值为“hello”,然后在这个字符串后面加上新的字符串“world”,这个过程是需要重新在栈堆内

2020-07-28 10:59:42 50

转载 什么是Token?

对于初学者来说,对Token和Session的使用难免会限于困境,开发过程中知道有这个东西,但却不知道为什么要用他?更不知道其原理,今天我就带大家一起分析分析这东西。一、我们先解释一下他的含义:1、Token的引入:Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生。2、Token的定义:Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个T

2020-07-25 16:47:17 119

原创 狂神说 SpringCloud 笔记

狂神说 SpringCloud 笔记视频:https://www.bilibili.com/video/BV1jJ411S7xr?from=search&seid=521497782171184907课程随堂代码:https://gitee.com/daniel1996/kuangspringcloud常见面试题:什么是微服务?微服务之间是如何独立通讯的?SpringCloud和Dubbo有哪些区别?SpringBoot和SpringCloud,请你谈谈对他们的理解

2020-07-25 10:54:10 1125 1

原创 【debug】feign.FeignException$NotFound: status 404 reading 错误原因分析

SpringCloud项目报错:问题分析:404错误,未找到服务资源,提示没有找到DeptClientService.queryById(Long)方法;尝试解决:检查路径是否错误服务消费者端和服务提供者端都采用@GetMapping,且路径一样,没有问题。检查DeptClientService.queryById(Long)方法,传入参数是否为Null,发现问题没有加入@PathVariable注解,调用的方法接收不到参数。服务提供端自然找不到DeptClientService.que

2020-07-24 11:18:38 785

原创 【debug】SpringBoot项目中中使用@Autowired注入服务 服务为空没有注入成功

SpringBoot框架的项目。在controller类中使用@Autowired注解注入服务,使用get请求controller接口时,报控制针异常,打开debug调试发现,注入的服务失败,为null.百度查找按照试了一下集中方法:spring boot配置扫描路径时没有扫描到注入服务,查看了下@ComponentScan注解配置的扫描路径,没有问题。新增服务没有上传到私服,使用maven清除一下,并且重新将依赖服务的模块maven deploy后,仍然不行。最后发现该方法的访问权限为pri

2020-07-23 12:17:22 106

原创 狂神说 Vue笔记

狂神说 Vue 笔记Vue 的核心库只关注视图层,方便与第三方库或既有项目整合。HTML + CSS + JS : 视图 : 给用户看,刷新后台给的数据网络通信 : axios页面跳转 : vue-router状态管理:vuexVue-UI : ICE , Element UI一、前端核心分析1. VUE 概述Vue (读音/vju/, 类似于view)是一套用于构建用户界面的渐进式框架,发布于2014年2月。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注

2020-07-20 22:30:05 4282 1

转载 为什么说MyBatis不是完整的ORM框架?

ORM是Object和Relation之间的映射,包括Object->Relation和Relation->Object两方面。Hibernate是个完整的ORM框架,而MyBatis完成的是Relation->Object,也就是其所说的Data Mapper Framework。JPA是ORM框架标准,主流的ORM框架都实现了这个标准。MyBatis没有实现JPA,它和ORM框架的设计思路不完全一样。MyBatis是拥抱SQL,而ORM则更靠近面向对象,不建议写SQL,实在要写,则推

2020-07-16 20:41:29 93

原创 Shiro学习:一个小Demo
原力计划

Shiro 简介简介Apache Shiro 是 Java 的一个安全框架。目前,使用 Apache Shiro 的人越来越多,因为它相当简单,对比 Spring Security,可能没有 Spring Security 做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的 Shiro 就足够了。对于它俩到底哪个好,这个不必纠结,能更简单的解决项目问题就好了。Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在 JavaSE 环境,也可以用在 JavaEE 环境。Sh

2020-07-13 23:41:55 171

原创 狂神说 SpringBoot 笔记
原力计划

狂神说Java SpringBoot狂神说SpringBoot01:Hello,World!狂神说SpringBoot02:运行原理初探狂神说SpringBoot03:yaml配置注入狂神说SpringBoot04:JSR303数据校验及多环境切换狂神说SpringBoot05:自动配置原理狂神说SpringBoot06:自定义starter狂神说SpringBoot07:整合JDBC狂神说SpringBoot08:整合Druid狂神说SpringBoot09:整合MyBatis狂神说S

2020-07-13 23:38:04 7032 3

转载 老大难的 Java ClassLoader,到了该彻底理解它的时候了

https://www.cnblogs.com/makai/p/11081879.html

2020-07-09 11:17:51 77

原创 java项目中的classpath到底指向的哪里

java中的classpath是当前系统所涉及的class字节码的存放路径,不是一个、两个地方,是系统在编译时或运行时所有关联的字节码的路径。写个main方法,打印下这句话就可以看到所有的classpath:System.out.println(System.getProperty(“java.class.path”);楼主说的那些应该只是一部分吧,比较全的重要的几个应该就是:/jdk/jre/lib/*.jar、/jdk/jre/lib/ext/.jar、/maven/.m2/*.jar、/targe.

2020-07-09 10:23:48 152

原创 一个自己开发注解的小Demo

转自微信公众号:CodeSheep听说你只会用注解,不会自己写注解?啥?听说你还在手写复杂的参数校验?

2020-07-08 18:05:36 117

原创 SSM框架 常用注解 (待续)
原力计划

一、Spring常用1. @Autowired直接在属性上使用即可,也可以在set方法上使用;使用Autowired我们可以不用编写set方法了,前提是你这个自动装配的属性在 IOC(Spring)容器中存在,且符合类型byType;2. @Nullable字段标记了这个注解,说明这个字段可以为null3. @Qualifier(value = “xxx”)配合@Autowire的使用,指定一个唯一的bean对象注入4. @Resource自动装配,默认通过byName的方式实现,如果找不

2020-07-08 18:02:31 105

原创 转载:spring mvc常用注解

https://blog.csdn.net/lonely_bin/article/details/99321654

2020-07-07 16:42:33 27

转载 Spring注解原理的详细剖析与实现

一、注解的基本概念和原理及其简单实用注解(Annotation)提供了一种安全的类似注释的机制,为我们在代码中添加信息提供了一种形式化得方法,使我们可以在稍后某个时刻方便的使用这些数据(通过解析注解来使用这些数据),用来将任何的信息或者元数据与程序元素(类、方法、成员变量等)进行关联。其实就是更加直观更加明了的说明,这些说明信息与程序业务逻辑没有关系,并且是供指定的工具或框架使用的。Annotation像一种修饰符一样,应用于包、类型、构造方法、方法、成员变量、参数及本地变量的申明语句中。Annotat

2020-07-07 16:03:31 86

原创 狂神说 Spring MVC 课程笔记
原力计划

狂神说 Spring MVC 课程笔记狂神说SpringMVC01:什么是SpringMVC狂神说SpringMVC02:第一个MVC程序狂神说SpringMVC03:RestFul和控制器狂神说SpringMVC04:数据处理及跳转狂神说SpringMVC05:整合SSM框架狂神说SpringMVC06:Json交互处理狂神说SpringMVC07:Ajax研究狂神说SpringMVC08:拦截器+文件上传下载1、SpringMVC执行原理

2020-07-07 09:46:05 680

原创 JavaScript 知识概述

函数:闭包()()Dom对象 —元素id , name , tagcreat , removeBom对象 — 浏览器windowdocument…待填充

2020-07-06 11:30:26 47

IDEA常用快捷键设置(根据eclispe设置)直接导入就可以使用

根据Eclipse常用更快捷设置 ,有48个快捷键,让你从快速上手IDEA,直接在项目中导入就可以使用,简单快捷,附说明文档和常用模板设置。

2020-07-03

jdbc公共类.txt

使用java连接mysql数据库,公共类为抽取公共代码可以实现获取连接、查询公共方法、更新公共方法、释放资源等功能,经过测试安全可靠。

2020-06-18

空空如也

空空如也

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

TA关注的人 TA的粉丝

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