自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一个工具类-SpringBootResponse数据封装并处理全局异常(RESTful风格返回数据一致)

写一个封装Response数据的工具类 在SpringBoot开发的Controller层中,一般每一个@RequestMapping接口都会向前端返回数据,如果不做处理则用@Request修饰的每个方法返回的数据格式都不一样,对我这个小萌新来说如果返回的是pojo的对象还好,如果是组装数据的话,每次都要为这种数据新建一个对象,这样太麻烦了,所以我们来对所有的返回数据做一个处理。...

2019-12-11 17:01:05 1269

原创 Windows.location笔记

window.location 对象可用于获取当前页面地址(URL)并把浏览器重定向到新页面。window.location.href 返回当前页面的 href (URL)用做跳转的话使用windwos.localtion.href();一个路径,意思时从当前页面跳转到新的路径window.location.replace跳转的话也可以用windos.location.replac...

2019-11-16 17:28:43 348

原创 如何将多个数组格式化Json,并导出Excel表格(react笔记)

这里我使用的React项目,方式:插件“js-export-excel”, 第一步先得安装js-export-excel插件 import ExportJsonExcel from 'js-export-excel';对于ExportJsonExcel来说,他所需要的是一个数组,数组每一项为一个json对象,即为Excel表格的每一行。如 [ { “data”...

2019-11-14 16:35:41 2608

原创 js获取当前日期或当前n天日期

vardate=newDate();varseperator1="-"; //-用来格式化时间如2019-01varyear=date.getFullYear();varmonth=date.getMonth()+1; varstrDate=date.getDate(); if(month>=1&&month...

2019-11-02 18:20:34 216

原创 子父组件传值或方法(React)

一, 父组件如何调用子组件的方法?思路 :1. 父组件需要将一个中间方法传递给子组件,然后在子组件中就可以调用父组件中的该方法, <Tabs onChange={e=>this.cutPages(e)}> <TabPane tab="待标记" key='1'> <RemarkNot onRef={th...

2019-11-01 15:38:08 119

原创 简单的Demo,如何手撕单链表从操作

1111

2019-10-09 16:48:04 152

原创 SpringBoot入门学习(二)-多环境切换(profile)

多环境切换多环境切换就是配置properties默认boot会读取application.properties环境如果有多个:(命名规则如下)application-环境名.properties如: 开发环境 application-dev.properties 测试环境 application-test.properties切换的时候设置...

2019-09-17 14:58:12 105

原创 SpringBoot入门学习(一)目录结构

构建一个SpingBooot项目会产生如下目录结构resource: static: 静态资源 templates : 模版文件 applicataion.properties: 配置文件自动配置:通过@EnableAutoConfiguration注解来通过包名来将SpringBootApplication所在包以及子包全部纳入sprin...

2019-09-17 11:32:50 272

原创 Maven入门学习笔记(一)

Maven的作用 1. 管理jar 增加第三方jar jar包之间的依赖关系(自动下载依赖jar,不会冲突) 2. 将项目拆分成若干个模块Maven概念 是一个基于Java平台的自动化构建工具(将原材料构建成一个可发布的项目)功能清理 删除编译的结果 编...

2019-09-16 11:08:59 73

原创 Http1.0 AND Http 1.1 以及 Http 2.0 的一些知识总结

1.0(1996年)和1.1(1999年) 的一些区别(三年升级,三年磨一剑)长连接: HTTP1.0需要主动的设置Connection: keep_alive 的连接方式,才能开启长连接 HTTP1.1默认支持长连接的,在一个TCP连接上可以传输多个HTTP请求,减少了建立和关闭连接的消耗和延迟Host头域 Http1.0中认为每台服务器都绑定了一个唯一的IP地址,...

2019-09-01 12:45:03 241

原创 Mybatis入门(四)-----如何通过事务查询

首先我们需要在数据库中创建一个事务,如图,这是Mysql中的语法,这里可以看见有一个in和out,我们在查询过程中通过into,将查询数据关联到out ncount中,输入的数据就直接可以通过sage来使用。使用存储过程的话一般都是通过map类型来传入参数的。 //根据存储过程查询数据 public static void selectByprocedure() throw...

2019-09-01 11:29:24 523 1

原创 Mybatis入门(三)-----类型转化器(Java类型到JDBC类型的转化)

上图是Mybatis中的一些基本的类型转换的对应类型以及一些别名,在Mybaits中是如何将JAVA类型对应的专成JDBC类型的呢??反过来说我们如何来实现一个自己的类型转换器呢?一般来说我们有两种情实现接口 TypeHandler(比较复杂,细节不太了解) 继承TypeHannder的实现类BaseTypeHandler(比较简单,下面是这种方式的实现)场景: 比如说我们有...

2019-08-29 22:23:22 3097

原创 Synchronized同步静态方法和同步普通方法和静态代码块的一些区别

Synchronized修饰普通方法使用的锁是对象的锁,也就是锁住的是当前的对象。public class SyncTest{ // 修饰普通方法,锁住的是当前类的一个对象 public synchronized void tong(){ }}//比如说 SyncTest a = new SyncTest(); SyncTes...

2019-08-27 23:14:55 541

原创 二叉树

首先,我们要知道二叉树的产生原因 对于数组来说,它的搜索是非常方便的,下标就可以,而且时间复杂度位O(1),,但是他的插入和删除是比较麻烦的。 对于链表来说,它删除和插入元素很快,但查找很慢。二叉排序树就是对于他们两个的一个折中方案,既有链表的好处,也结合了数组的好处。二叉树理论上可以分为5种基本形态一般二叉树来说,我们会说满二叉树,完全二叉树,二叉排序树和平衡二...

2019-08-25 13:30:32 93

原创 array和arrayList区别,为什么它叫arrayList而不叫array呢?

首先本质区别array : 数组,他是本地的数据结构arrayList: 他是java中的一个集合类,既然是类,那么就可以去创建他的对象,然后去使用他的方法容量方面区别:array: 数组他是有一个固定的容量的,我们已知,通过length来过去他的长度arrayList: 他是集合,内部可以自动的进行扩容,所以说他比array更加...

2019-08-24 14:06:06 754

原创 JVM内存模型与运行时数据区简单介绍

内存模型的架构图JVM需要去加载Class文件,加载完毕后,执行引擎执行的过程需要将加载的信息存放起来,或者说是这段时间的空间分配和释放过程,这就是运行时数据区: 包括 方法区,堆,栈,本地方法栈,程序计数器(绿色的时线程共享的,蓝色的线程私有的)。程序计数器(有时候面试会遇到程序计数器为什么时线程私有的,共享不行吗?)程序计数器是一块比较小的内存空间,代表的就是当前线程所执行字节...

2019-08-21 22:28:53 171

原创 Sql语句的整理

查看索引 show index from table名 删除索引 drop index 索引名 on table名 创建索引 creat index 索引名 on table(列名) 创建一个表 CREATE TABLE `tuser` ( `id` int(11) NOT ...

2019-08-21 00:56:12 87

原创 =面试中的一道算法题目: 在一个顺序的二维数组中如何求是否含有某个值

思路: 借助他是顺序的,一般是升序的,它每一行最后一个一定是这一行最大的数 在它下面的数一般是比他的大(因为顺序是从左到右,从上到下都是的递增的,这个是已知的) 那么就让目标值和第一行的最后一个比较一般是a[0][leng-1] 如果目标值比它小,就让length-1再减一,如果比他大就让行数++ 从下一行同理比较...

2019-08-20 23:06:02 74

原创 AAAAAA爆排序算法

希尔排序首先来个小案例来看下希尔排序是啥

2019-08-19 22:25:08 105

原创 Synchronized和static的各自用法

Synchronized 对于实例来说: 同步普通方法 一般是单例: 如果不是单例的话,同步就会失效。 同步this实例 同步对象实例 对于类来说 : 同步静态方法 ...

2019-08-19 15:26:51 200

原创 如何设计一个秒杀系统?

架构遵循 “四要,一不要"数据要少数据量要少路径要小依赖要小不要单点快 准 稳快: 提高单次请求效率 减少没必要的请求 --------------------动静分离静态数据处理 把静态数据缓存到离用户最近的地方 静态化改造: 直接缓存HTTP链接,访问一个url,直接拿到的是http的响应头和响应体,这...

2019-08-18 19:35:38 85

原创 Mybatis的一些解析

仅作个人理解笔记概念Mybatis是一个持久层框架,同样也是一个ORM框架,ORM是什么意思呢(Object Relational Mapping)对象关系映射Java------>MyBatis------->MySql(就是将java类型和MySql类型进行一个转换)。架构待画图。拆解一下我们需要一个1.数据库源 ...

2019-08-18 12:54:33 82

原创 总结一下b-树和b+树

我以前没有详细了解这块的时候还以为是b树是有三种呢 b树 b-树 和b+树,后来才发现根本没有b减树,那就是一个杠(-),b-树就是b树。然后总结性的来说写一下B树和B+树的区别B树: 首先B树有它的阶数,可以是2阶3阶4阶。。。。。。n阶,这个阶数是已知的上面大概就是一个B树的结构,并且有构建b树的基本过程案例,B树是如何删除一个关键字的...

2019-08-17 12:32:36 384

原创 Java中的反射是怎末回事

*反射就是通过字节码文件来使用相应的类,成员方法,成员变量等。类加载分为两种显示加载和隐式加载隐式加载: 就是new一个,调用类加载器把对应的类加载到jvm中去。显示加载: 就是直接调用Class.forName来直接加载。(这里我不知道是否可以理解为反射去加载一个类)。为什么需要有这两种呢: 比如: 我们业务中有一个if {} else{}的 逻辑要写,if条件成立...

2019-08-14 12:55:58 69

原创 干掉类加载过程

这个我感觉没什么可以写的,随便写点把我们创建了两个类car和student,他们两个称为类,我们可以创建他们的对象,而Class呢,它是car和student的类,car和student是Class的对象,一个对象就要有属性,Class对应的属性就是内存区该类字节码存储的长度。这里需要区分一下Class和class的区别类加载器: bortstorp ext ...

2019-08-14 12:54:41 69

原创 来吧 ,枚举类型

枚举Enum类型: 枚举类其实就是一个java类 枚举类型其实就是枚举类自己本身的一些对象 只不过枚举类的构造方法是私有的,所以我们不能随意的来创建一个枚举对象,只能用枚举类里面自己声明的一些对象 编译时可以检查出传入的参数是否有误 当枚举类型只有一个参数的时候就是单例模式的一种体现自己实现枚举其实就是这样含有抽象方法的枚举和无抽象方法的枚举没有抽象方法的枚举: ...

2019-08-14 12:53:49 78

原创 浅谈进程间的通信方式

总的来说,进程间的通信方式分为5中 分别为管道,消息队列,共享内存,信号量一.管道 (分为两种pipe和FiFo)1.1 pipe(速度慢,容量有限,父子进程通信)实现是通过指令实现的(每次创建一个pipe,对应着两个文件描述符,一个用来读一个用来写),半双工的也就是说,数据只能在一个方向上面流动,具有固定的读端与写端。 只能用于父子进程与兄弟进程之间的通信。(一般来说,pipe紧接...

2019-08-13 12:51:53 123

原创 Collections中的排序sort()方法案例

sort底层: 首先会判端一下数据长度60为界限,小于60的话采用插入排序,如果大于60的话,分对象,如果是基本类型的话采 用快速排序,如果是对象类型,采用归并排序。二分的时候只要小于60的时候接着使用插入排序。案例import java.util.ArrayList;import java.util.Collections;impor...

2019-08-11 13:06:04 292

原创 高性能Mysq数据库的表的设计原则

插播广告:sql的编写过程 select******from******join*******on******where***********group by*********having*********order by*******limit******sql的解析过程 from******on*******join*******where*****group by****...

2019-08-11 11:56:27 201

原创 HashMap,Hashtable,treeMap,LinkHashMap,WeakHashMap的区别

HashMap和Hashtable区别我一直以为它两仅仅只是方法上加了同步锁,后来才发现它两有好多细小的区别1. HashMap允许有一个NULL(key) , 多个NULL(value); HashTable 不允许键值为空2. HashMap提供containskey()和contiansvalue()方法来判断是否包含,HashTable提供了contains...

2019-08-11 11:55:42 85

原创 数据库事务的底层 实现

实现事务功能的三个技术: 日志文件(redo log)和(undo log),锁技术,MVCC日志redo log和undo log 读写锁 MVCC 日志文件redo log(重做日志): 有两部分组成,redo log buffer 和redo log ,用来恢复数据用的,用来保障已经提交数据的的持久化的 undo log(回滚日志):...

2019-08-06 22:38:29 887

原创 哈夫曼编码的过程举例

2019-08-06 16:30:45 945

原创 面试的一些问题总结(Java开发岗位)

1. SSM框架整合过程的步骤? 答: 1. Dao层: Mybatios整合Spring,通过Spring创建数据库连接池,Spring管理SqlSessionFactory mapper代理对象 这里需要mybatis和spring的整合包。 2.Service层...

2019-08-05 16:03:16 598

原创 Java中的设计模式和几个小案例

一.设计模式的分类目前设计模式一共为5+7+11=23种;其中分为3大类,创建型模式(5)、结构型模式(7)、行为型模式(11)创建型模式: 单例模式 工厂模式 简单工厂模式 抽象工厂模式 建造者模式 原型模式结构型模式: 适配器 装饰者 代理 外观 桥接 组合 享元行为型模...

2019-08-05 00:44:02 116

原创 聚簇索引和非聚簇索引的简单图解理解

一.对于索引操作的简单语句1. 对于索引操作的简单语句 待更1. 聚簇索引聚簇索引如果不是主键索引的话,那他的新建索引是基于主键的,在新建索引树的节点下找到的是该字段对应的主键2.非聚簇索引InoDB引擎 --------聚簇索引对于InoDB来说:必定有一个主键,如果没有主键的则会Unique key做主键,如果没有Unique key做主键的话,则...

2019-08-04 23:55:22 464

原创 Ubuntu中网卡服务不能启动问题解决

1. 短暂性测试解决 1.先输入>ifconfig 查看 2. 添加ip sudo ifconfig ens33(根据自己网卡名字) 3. 网卡重启 sudo service network-manager restart2. 解决 1.更新IP sudo dhcl...

2019-05-14 21:07:21 10877

原创 Mybatis入门(二)-----约定配置(接口编程)

Mybatis中什么是约定编程呢?就是你在编程的过程中遵循它的规定,然后让它去帮你做事情;从上一篇的文章案例中我们发现,每次都需要去手动的写statement,这是很麻烦的,那么我们来看看这种约定的接口编程。也就是我们常说的接口映射: 接口的名字为namespace的名字,接口的方法名字为标签id的名字,这样的话一个方法就对应了一个sql了,这些方法都不需要你去自己实现,由mybai...

2019-05-03 12:21:29 208

原创 Mybatis入门(一)-----基本配置(映射编程)

Mybatis入门(三)-----类型转化器(Java类型到JDBC类型的转化)半ORM框架,对象关系映射框架总结起来就是一个pojo类我们对应着一个mapper.xml文件,将一个个对象和数据库表的字段对应起来,使我们通过操作对象来操作数据库,这样的话,只需要去关注写sql,操作简单。就是表字段和pojo类属性的直接关联,通过namespace和xml配置文件的标签id确定...

2019-04-25 22:20:51 154

原创 Linux0.11 简单内核的启动过程(第二篇)

开始动工了高大上的了,这次记录完成linux源码中的相关库函数和试调打印函数1. 常用库函数和试调打印函数      1.1   在内核开发中c语言的标准库我们是用不了的,所以我们需要自己实现一些相关函数,当下要实现的就是操作字符串的一些函数。函数声明写在include文件夹下的string.h头文件中。 这里简单解释几个函数    例如          void memcpy(...

2018-12-19 21:59:12 182

原创 linux0.11简单内核的启动过程(第一篇)

在这里运行环境我就不多说了,我自己是在bochs上面试调的,(文章主要用来记录学习过程,不提供源码,许多源码网上都有)在这里我笔记一个定义  : GRUB的全称是GRand Unified Bootloader,是一个多重操作系统启动管理器,用来 引导不同的操作系统。1.裸机上去运行一句hello kernel  需要的最简单文件   boot  文件夹下是一个boot.s文件  ...

2018-12-19 16:24:48 300

空空如也

空空如也

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

TA关注的人

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