- 博客(61)
- 收藏
- 关注
原创 春招
春招快要落下帷幕,回想今年的校招,感觉这一路走来很坎坷,虽然坎坷很多,但是收获也颇丰。我是秋招的时候就上岸了,当时拿的是欢聚集团旗下的北京次世代未来教育科技有限公司的offer,当时上岸也是够快的,早知道就不上岸了。小鹅的面试,两天直接面完,收到了offer,其实说实话小鹅的氛围还是不错的,而且关键是我的导师对我太好了,但是我就去实习了几天,然后就回学校了, 有棵树的面试,一天3面,然后当天晚上直接oc,第二天就收到了offer,但是都不是很想去。 多益网络的面试,过了一面技术面,但是倒在了hr
2021-05-26 20:53:57
373
1
原创 线程池
如果每当一个请求到达就创建一个新线程,开销是相当大的。在实际使用中,每个请求创建新线程的服务器在创建和销毁线程上花费的时间和消耗的系统资源,甚至可能要比花在处理实际的用户请求的时间和资源要多得多。除了创建和销毁线程的开销之外,活动的线程也需要消耗系统资源。如果在一个JVM里创建太多的线程,可能会导致系统由于过度消耗内存或“切换过度”而导致系统资源不足。为了防止资源不足,服务器应用程序需要一些办法来限制任何给定时刻处理的请求数目,尽可能减少创建和销毁线程的次数,特别是一些资源耗费比较大的线程的创建和销毁,
2021-04-01 17:40:38
2069
2
原创 mysql的索引
功能上1、主键索引主键索引通常是为了构建B+树的存储的时候用的,如果不是创建一个表不指定主键的话,mysql会自己生成一个来构建B+树存储。主键索引是特殊的唯一索引,也就是主键索引不能为null,但唯一索引允许为null如果是在innodb存储引擎的话,构建的通常是聚簇索引(也就是数据跟表结构存放在一起)。也就是叶子节点存放的是表中的数据。如果是在myisam存储引擎的话,构建的是非聚簇索引,叶子节点存放的是该数据对应的索引地址。2、普通索引除了主键索引,其他的索引我们通常成为辅
2021-03-31 00:31:02
134
转载 redis中的缓存一致性
问题:当我们的数据库中的数据更新了,但是我们缓存中的数据也要进行相应的更新,这个时候我们应该怎样做?通常都是使用双写方案来实现的。先更新数据库,再更新缓存 先删除缓存,再更新数据库 先更新数据库,再删除缓存为什么没有先更新缓存,再更新数据库?1、先更新数据库,再更新缓存。我们可以想象一下,当我们有两个线程进行操作的时候,假设我们想要线程B中的数据。线程A先更新了数据库中的数据, 线程B更新了数据库的数据。 线程B更新了缓存, 线程A更新了缓存。这样发现问题了没?我们
2021-03-24 01:30:59
87
转载 三色标记法
1、三色标记法要找出存活对象,根据可达性分析,从GC Roots开始遍历访问,可达的则为存活对象。我们把遍历对象图过程中遇到的对象,按“是否访问过”这个条件标记成以下三种颜色, 白色:尚未访问过。 黑色:本对象已访问过,而且本对象 引用到 的其他对象 也全部访问过了。 灰色:本对象已访问过,但是本对象 引用到 的其他对象 尚未全部访问完。全部访问后,会转换为黑色。 假设现在有白、灰、黑三个集合(表示当前对象的颜色),其遍历访问过程为: 初始时,所有对象都在
2021-03-23 18:03:15
629
原创 redis
1、redis常用的五种数据类型1、1 String(字符串)底层是c语言的字符串,但是有一些小区别,比如内存分配的时候,是预先分配的,回收内存的时候是惰性回收。1、2 list(底层是双向链表)所以你会看到list有lpush,rpush,lpop,rpop等操作。1、3 Hash底层跟hashmap差不多,但是他扩容的时候也是两倍扩容的,有区别的是,他不是扩容是用另一条链来进行的,然后再进行修改一下。1、4 Set底层跟hash类似,基本一样的,就是他的key跟value都一样1、5
2021-03-19 14:44:49
69
转载 mysql的间隙锁
1、间隙锁的概念编程的思想源于生活,生活中的例子能帮助我们更好的理解一些编程中的思想。生活中排队的场景,小明,小红,小花三个人依次站成一排,此时,如何让新来的小刚不能站在小红旁边,这时候只要将小红和她前面的小明之间的空隙封锁,将小红和她后面的小花之间的空隙封锁,那么小刚就不能站到小红的旁边。这里的小红,小明,小花,小刚就是数据库的一条条记录。他们之间的空隙也就是间隙,而封锁他们之间距离的锁,叫做间隙锁。2、间隙锁的使用添加链接描述...
2021-02-22 15:07:06
213
2
原创 spring boot项目打包成war运行在tomcat
我们都知道spring boot项目默认是jar包运行的,运行的时候我们只要通过一个简单的java命就能运行了,但是现在部署大多数都是war包部署,所以我们要将项目打成war包,然后运行在tomcat上。1、spring boot项目,我们直接用dubbo的项目来进行实例:然后修改spring boot项目的xml配置:<packaging>war</packaging>原来是jar包的,现在改成war然后去除内嵌的tomcat。<dependency>
2021-01-21 16:22:50
175
原创 springmvc+springboot
springMvc的执行过程:然后返回值是ModelAndView,就是数据模型跟视图id概念:DispatcherServlet:中央调度器HandleMapping:处理器映射器Handle:处理器HandleExecutionChain:执行链HandlerAdapter:处理器适配器ModelAndView对象ViewResolve...
2020-04-08 17:27:11
207
原创 springboot+mybatis的整合
这里整合我个人用的是注解的方式进行整合的首相我们要导入依赖: <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <sco...
2020-04-08 16:29:48
105
原创 docker的基本组成
Dockers镜像查找、拉取和删除。Docker容器运行、删除以及容器内操作。Docker镜像命令:功能 命令 查看本地镜像列表 docker images 查找远端仓库镜像 docker search <image_name> 获取镜像 docker pull <域名>/<namespace>/<repo&...
2020-04-04 16:36:18
179
原创 spring核心基础spring bean
1、spring bean的代码案例2、spring bean的使用方法3、spring bean的加载过程定义bean: @Component spring基础的注解,被spring管理的组件或bean @Repository 用于持久层,数据库访问层,是用来直接访问数据库的 ...
2020-04-03 18:59:18
149
原创 spring的IOC
IOC:简称控制 "控制反转",是一种设计思想。在Java开发中,IOC意味着将你设计好的对象交给容器控制,而不是传统的在你的 对象内部直接(New)控制。例如:public class Whell{ private int size; Wheel(){ size = 12; }}public class Cha...
2020-04-03 18:20:14
95
原创 springboot中thymeleaf的使用
我们第一步要先引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>thymeleaf的使用,我们...
2020-03-28 22:35:12
129
原创 springboot的web开发
我们可以将项目打包成jar的方式进 jar:webapp!自动装配:springboot到底帮我们配置了什么东西,我们能不能进行修改,能修改的东西有那些,能不能扩展①×××AutoConfiguration:向容器中自动配置组件②×××Properties:自动配置类,装配配置文件中自定义的一些内容要解决的问题:1导入静态资源2首页3jsp,模板引擎Thym...
2020-03-28 18:33:26
133
原创 springboot的自动配置再理解
我们可以点击查看到spring工厂里面有什么我们可以配置的属性,点击spring.factories进去,就可以看到了加入我们需要配置HTTP属性,找到httpAutoconfigure,点击进入,然后再点击:HttpProperties.class进入到HTTP里面的属性,就可以看到我们可以配置那些东西了绑定了spring.http里面的一些东西找的时候我...
2020-03-28 15:59:09
102
原创 springboot的多环境配置及配置文件位置
①、配置文件的位置;file:./config/file:./classpath:/configclasspath:/file也就是项目,classpath是resource下的文件创建例子配置文件的名字要一样:application.yaml,不然识别不了配置文件的优先级:跟上面的写法一样,先是:file:./config/file:./...
2020-03-28 12:16:18
205
原创 JSR303校验
yaml文件支持松散绑定,也就是firstName跟first-name是一样的,它会自动将-n转化为NJSR303校验: 类似于邮箱的验证@Validated:数据校验 然后在变量的上方加入@Email(message="提示信息“):表示这是一个邮箱验证,提示信息是报错的时候才会报错的其他注解的使用查看https://www.jianshu.com...
2020-03-19 18:51:31
178
原创 springboot配置
springboot中配置文件中官方的配置太多了,我们要读懂原理①如果我们是用properties问价来配置的话,我们通常使用的是键值对的方式,一般都可以进student: {name: qinjiang,age: 3}行提示的②官方推荐使用yaml的方式来修改默认值,语法格式name: qinjiang记住键值之间的:后面要有空格yaml对空格的要求很严格...
2020-03-19 18:22:44
144
原创 springboot原理初探
自动配置①关键在pom.xml中<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.5...
2020-03-18 18:34:31
209
原创 springboot快速入门
我们常用idea来写springboot代码IDEA第一个springboot程序官方:提供了一个快速生成的网站,idea集成了这个网站①可以在官网直接下载后,导入idea开发②直接使用idea创建一个springboot项目(一般开发直接在idea中创建)然后就可以创建springboot项目了package com.example.test.hello.hello...
2020-03-18 11:51:33
103
原创 计算机网络第三章总结
数据链路层的总结1、传输的方式: 结点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧 结点A把封装好的帧发送给结点B的数据链路层 若结点B的数据链路层接收到的帧无差错,则从收到的帧中提取出IP数据报上交给网络层;否则丢弃这个帧2、三个基本问题 ①封装成帧:在IP数据报中添加首部和尾部,也就是添加SOH和EOT,也就是十六进制的(00...
2019-11-27 20:47:49
392
原创 表单处理
通常用到的数据绑定v-model=“”来进行绑定变量,我们可以通过测试来进行验证,常规的绑定:<!DOCTYPE html><html><head><meta charset="utf-8"><title>Vue 测试实例 - 菜鸟教程(runoob.com)</title><script src...
2019-11-10 09:58:52
165
原创 vue的事件处理
通常用v-on:来书写事件,但是,我们也可以进行简写@,代码用例<!DOCTYPE html><html><head><meta charset="utf-8"><title>Vue </title><script src="https://cdn.staticfile.org/vue/2.2.2/vue...
2019-11-10 09:17:21
101
原创 方法methods和computed的区别
computed:是利用缓存的,相对于methods的性能来说会比较好一点。注意:computed里面默认是getter方法,也可以加setter方法
2019-11-09 16:44:56
158
原创 vue的条件语句和循环语句
1、if语句,通常写法:<!DOCTYPE html><html><head><meta charset="utf-8"><title>测试</title><script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></scrip...
2019-11-09 16:32:11
252
原创 vue的学习
1.vue是javascript的前端框架,用来简化开发的,可以快速进行开发。vue的一些语法:1.数据显示,我们通常用{{}}来进行数据的输出显示,代码:<!DOCTYPE html><html><head><meta charset="utf-8"><title>测试</title><scri...
2019-11-09 15:51:18
106
原创 IO流
流:流的是数据输入:是从文件中输出内容输出:是将内容输入到文件中顶级父类:InputStream OutputStream Reader Writer1、字节流: InputStream和OutputStream这两个都是接口 实现的接口:FileInputStream 和 FileOutputStream类,使用来对文件进行...
2019-10-29 21:55:34
90
原创 java中文件的过滤器
FileFilter:用于抽象路径名的过过滤器抽象方法:accept(Filepahtname):用来过滤文件的方法 FilenameFilter:用来过滤文件名称抽象方法 accept(File dir,String name) :dir(构造方法中传递的被遍历的目录 StringName:使用listFiles方法遍历目录,获取每个文件的...
2019-10-29 21:10:32
417
原创 File的学习
路径分隔符通常是用这个写法,不能把分隔符写死。separatar是java中File的一个静态属性File一些常用的属性:1.createNewFile:创建新文件2.mkdir:创建文件夹3.mkdir:创;建文件夹,可以多级路径的,也就他的父级文件也要创建4.delete:删除文件或者文件夹,它是把系统的文件也删除5、getAbsolutePath...
2019-10-29 17:37:17
118
原创 线程池
线程池:也就是多个线程的意思,容器的意思。jdk1.5以前是把多个线程放进到集合中去的,但是在jdk1.5之后就内置有线程池这个类了。import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class pool { public static void main(...
2019-10-28 17:02:41
80
原创 wait和notify的使用
wait是使得线程无限等待,notify是让线程运行,继续执行wait之后的代码他们的使用的前提都是要使用锁对象,这样可以保证只有一个线程运行代码public class test1 { public static void main(String[] args) { Object obj=new Object(); new Thread() { public vo...
2019-10-28 16:15:46
284
原创 线程
实现程序的多线程,我们有两种办法1、继承Thread类,重写run方法的内容2、实现Runnable接口,重写run方法,让线程开始的方法是start方法。线程的创建进行相当于开了一条道路,通向cpu,然后让他们开始抢占cpu跟这个图相似它们的一些方法:sleep()休眠 。getName()或的线程的名称代码public class mythre...
2019-10-24 10:46:36
92
原创 java中的数据结构的学习1
1、collection接口,集合接口,实现它的接口有:list和set,这两个也是接口, collection接口一些常用的操作有:add添加操作,remove删除操作,迭代操作iterator(用来遍历集合的成员)2、实现list接口的有两个类:分别是:ArrayList和LinkedList这两个类 ArrayList:是存储的地址是连续的,类似数组一样的方式...
2019-10-24 10:19:01
138
原创 内部类
1、成员内部类编译的时候会有两个.class文件内部类访问外部类的时候,直接访问就行了,不用其他的关键字new对象的时候,如果是直接进行new的话:外部类名称.内部类对象名=new 外部类().内部类();间接访问的时候,也是也是一样的写法。内部类访问成员变量的时候如果是访问内部类的成员的时候,直接用关键之this,如果是在同一个方法中的局部变量的话,直接访问就行了...
2019-10-20 22:08:24
105
原创 权限修饰符
1、private:代表着是私有的,只能在本类中使用,代表着变量只能在本类中使用,其他类中不能使用2、protected:代表着能在同包中可以使用,也可以在不同包中的子类也是可以的3、default:默认的,这能在同包中使用4、public:都可以使用,不管在哪里,只要是同一项目,都可以...
2019-10-20 21:29:43
93
原创 final关键字
1、用来修饰类的时候 代表着该类不能被重写,也就是最终类2、用来修饰方法的时候; 代表着该方法是最终方法,不能被重写,如果进行重写,就会进行报错3、用来修饰局部变量的时候如果用来修饰4、修饰成员变量的时候,我们只能通过构造方法赋值或者直接赋值...
2019-10-20 21:20:33
90
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人