自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 排序

2020-05-08 09:44:03 235

原创 HashMap、HashTable、ConcurrentHashMap的理解

HashMap、LinkedHashMap、TreeMap、SortedMap、ConcurrentHashMap之间的区别java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap.Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。Hashm...

2020-03-20 11:01:28 208

原创 Set、TreeSet、HashSet区别

Set,TreeSet,HashSet,SortedSet,LinkedHashSet的区别(1)Set接口不允许出现重复的元素,每个元素添加入set时,set集合会使用equals方法,判断集合中是否有相同的元素,如果有,就返回false,如果没有,才进行操作。同时set的元素是无序的,就是说输出set集合中元素时,不是按照存入的顺序进行输出的(2)HashSet是Set接口的实现类,H...

2020-03-20 10:57:43 1216

原创 HashMap底层分析及扩容

2020-03-19 15:23:59 242

原创 线程面试题

1、进程、线程和协程的区别进程:是资源分配的最小单位,操作系统会给进程分配cpu和内存资源等。进程可以说是程序的一次运行,而一个进程可以有多个线程线程:是操作系统调用执行的最小单位,同时一个线程可以有多个协程一个进程由系统给分配资源,然后进程中的多个线程共享该进程的所有资源。线程不能脱离进程而存在。协程:比进程更加轻量级的存在。协程不是被操作系统内核所管理的,而完全是由程序所控制的。线程之...

2019-11-29 16:38:27 197

原创 Java基础面试题

1、java中正则表达式的使用(1)首先使用Pattern这个类去定义一个正则表达式规则;Pattern pattern=Pattern.compile(“正则规则”);(2)然后使用Matcher去匹配字符串和正则表达式Matcher matcher=pattern.match(str);(3)使用Matcher.find()方法去遍历所有符合规范的结果while(matcher.fi...

2019-11-27 19:34:16 376

原创 fail-fast和fail-saft的区别

fail-fast和fail-saft的区别这两种情况都是建立在使用Iterator对集合进行遍历操作时发生的。fail-fast:快速失败是指在使用iterator对集合遍历时,如果在遍历中对集合进行增加、删除元素操作时,会马上报出ConcurrentModificationException,如果是fail-saft,则不会报出这个异常在java.util包下的所有集合类都是快速失败的,而...

2019-11-27 19:30:42 194

原创 Maven依赖冲突问题

1、首先将maven的依赖结构分析一下 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.0</version> ...

2019-10-25 11:28:18 380

原创 浅谈git

浅谈git1、要了解什么是工作区,暂存区,本地仓库和远程仓库(1)工作区:就是我们将文件存储的目录(2)暂存区:用于储存工作区中的变更(增删改等改动)的文件的地方.操作时使用git add会将本地所有的变更提交到暂存区中,我们平时使用的git add 就是将本地代码提交到暂存区(3)本地仓库:用于储存工作区和暂存区中提交上来的文件,使用git commit -m '提交内容的描述’,所以我...

2019-10-24 14:58:07 319

原创 浅谈集合

1、集合的分类分类:下面的都是从底层分析区别:1、ArrayList和linkedlist和vector的区别:这三个集合都实现了list接口(1)ArrayList的底层是数组,而linkedlist的底层是双向链表vector的底层也是数组,(2)vector是线程安全的,而ArrayList和linkedlist是线程不安全的,因为vector的很多方法是用synchroni...

2019-10-08 18:49:10 160

原创 设计模式——单例模式

单例模式(单子模式)​ 单例模式就是一个类只能创建一个对象​ 优点:①实现数据共享 ②项目安全​ 缺点:①降低并发性(并发性与安全性是相对的,项目安全,则并发性低)​ ②增加了耦合性​ 单例模式分成:饥汉模式(饿汉模式):​ ①有静态全局变量并且对其进行初...

2019-09-15 22:42:35 179 1

原创 设计模式——代理模式

静态代理和动态代理(1)什么是代理?大道理上讲代理是一种软件设计模式,目的地希望能做到代码重用。具体上讲,代理这种设计模式是通过不直接访问被代理对象的方式,而访问被代理对象的方法。这个就好比 商户---->明星经纪人(代理)---->明星这种模式。我们可以不通过直接与明星对话的情况下,而通过明星经纪人(代理)与其产生间接对话。(2)什么情况下使用代理?设计模式中有一个设计...

2019-09-15 22:27:32 178 1

原创 设计模式——观察者模式

1、定义观察者模式(发布-订阅模式):定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖它的对象都会得到通知并自动更新2、意义是:解耦,将观察者与被观察者解耦,是的他们之间的依赖性更小3、简单实现(1)针对观察者与被观察者分别定义接口,有利于分别进行扩展(2)重点就在被观察者的实现中:​ 1)定义观察者集合,并定义针对集合的天剑、删除操作,用于增加、删除观察者...

2019-09-15 22:24:12 188

原创 浅谈GC

浅谈GC1、什么是GC我们都知道,Java不同于C,C++的一点就是Java不需要手动回收垃圾资源,原因就是Java有GC所以,什么是GC呢?GC(Garbage Collection)就是垃圾收集的意思,我们在使用Java的时候不需要专门的编写内存回收和垃圾清理的代码,GC机制会自动帮你实现2、怎么判断一个对象是否死亡既然GC会自动帮我们清理垃圾,那么GC怎么知道哪些代码是要被清理的...

2019-09-11 10:05:01 359

原创 Redis之持久化操作——RDB和AOF

Redis之持久化操作——RDB和AOF1、什么是redis的持久化操作``Redis的持久化就是将redis保存在内存中的数据写入到磁盘中redis有两种持久化的方式:快照(RDB文件)和追加式文件(AOF文件)redis的持久化是可以禁用的,而且两种方式的持久化是可以同时存在的,但是当redis重启时,AOF文件会先被优先用于重建数据2、什么是RDB和AOF?RDB是redis默...

2019-09-10 10:05:57 475

原创 Redis基础知识

Redis基础知识1、NoSQL是什么NoSQL=not only SQL,泛指非关系型数据库,随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型数据库则由于其本身的特点得到了非常迅速的发展,NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑...

2019-09-09 22:03:13 178

原创 浅谈kafka

浅谈kafka1、什么是kafkakafka是一种高吞吐量的分布式发布订阅消息系统,他可以处理消费者模式的网站中的所有动作流数据。kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息举个例子:你家有一只鸡,每天可以下10个蛋,但是你每天只能吃5个鸡蛋,那么还有5个你没有东西放,就会丢失这个时候如果你有一个篮子,那么多余的鸡蛋你就可以放...

2019-09-09 20:20:23 286 1

原创 悲观锁和乐观锁

悲观锁和乐观锁的使用1、悲观锁悲观锁和乐观锁都是用于多线程上面的,悲观锁是假设每一次去拿数据的时候,都有别的线程对其进行修改,所以每次在拿数据的时候都会上锁这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。Java中sync...

2019-09-05 09:34:25 483

原创 怎么使用JavaMailSender发送邮件

怎么实现程序发邮件功能在项目中,我们往往需要使用邮件功能给用户发送邮件,有可能是为了修改密码,有可能是激活账户,但是都避免不了让程序发邮件给已注册的用户。那么,怎么才能实现这个功能呢?首先我们要做好准备工作:要注册一个邮箱账号,同时在邮箱的设置中启动客户端smtp服务,同时记住开启时生成的激活码,后面的配置中会用到在maven项目的基础上导入jar包 <dependenc...

2019-09-04 16:39:21 949

原创 Java生成对象的四种方式

Java生成对象的四种方式学习java的人都知道,java是面向对象的语言,那么对象又是什么呢?1. 对象对象:事务在问题领域的抽象可能这样说有人觉得太抽象了,举个例子吧 class person{ String name; int id; }可能在学校中,只需要知道学生的姓名和学号,所以只需要这两个属性但是如果换一个领域,例如在注册一个账号时,只需要知...

2019-09-04 10:15:06 717

原创 静态代理和动态代理

静态代理和动态代理(1)什么是代理?大道理上讲代理是一种软件设计模式,目的地希望能做到代码重用。具体上讲,代理这种设计模式是通过不直接访问被代理对象的方式,而访问被代理对象的方法。这个就好比 商户---->明星经纪人(代理)---->明星这种模式。我们可以不通过直接与明星对话的情况下,而通过明星经纪人(代理)与其产生间接对话。(2)什么情况下使用代理?设计模式中有一个设计...

2019-09-03 15:08:51 447

原创 JavaBean的使用

JavaBean(1)POJO:没有继承或者实现接口,只用来收集数据(2)表单bean 1、必须要有包声明(bean的字节码文件只有放在这个包对应的目录下才能被使用),体现了分包管理的原则 2、表单bean的类型名和文件名要相同,即public class,没有主方法,因为这个bean是web使用的,即tomcat使用, 如果有主方法,则是虚拟机使用了 3、表单bean的属性的个...

2019-09-03 11:29:54 234

原创 浅谈客户端跳转和服务端跳转

浅谈客户端跳转和服务端跳转相同点都是从一个页面跳到另一个页面不同点 1)语法不同: 客户端跳转:response.sendRedirect("url"); 服务端跳转:request.getRequestDispatcher("url").forward(request, response); <jsp:forward page="url"></...

2019-09-03 11:00:33 591

原创 浅谈jsp静态包含和动态包含

静态包含和动态包含静态包含(属于指令)定义:在jsp编译时插入一个包含文本或者代码的文件(不识别被包含的文件是静态的页面还是动态的页面),这个过程是静态的,而包含的文件可以是jsp文件,HTML等,先包含,然后再将全部代码一起处理 语法:<%@ include file="要包含的文件路径"%>这个是属于指令,属于jsp语法范畴动态包含(属于标签)定义:...

2019-09-03 10:50:39 864 2

原创 Comparable和Comparator的区别

浅谈Comparable和Comparator1、相同点:都是java.util包下的接口,都是用来做比较的2、不同点:Comparable可以认为是内比较器,如果一个类实现了Comparable接口,就意味着该类支持排序,可以通过Collections.sort和Arrays.sort进行排序如果add到Collection的对象想要Collections.sort()进行自动排...

2019-09-03 10:34:19 266

原创 怎么将git文件传送到github

关于怎么将git文件传送到github本文章建立在已经将git与github连接成功的情况1、将文件右键,用git bash here打开2、输入git init3、可以通过git status查询提交情况4、将要添加的文件通过 git add +文件,添加到中间处理的地方5、通过git commit -m “自己起一个名字”6、git remote add origin url(...

2019-08-22 14:33:45 263 1

原创 JSON

JSONJSON是一种的数据交换格式,是JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。在 JS 语言中,一切都是对象。所以,js中所有的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。在JSON中,主要有两种结构:对象和数组。表示对象的方法JSON 键值对是用来保存 JS 对象的一种方式,和 JS 对象的写法也大同小异,但JSON对象的...

2019-08-22 14:28:21 135

原创 怎么用js打印出对象

怎么用js打印出对象首先先说几种解决方法:1,直接用这个函数JSON.stringify(value,replace,space)在这个函数中,一共可以有三个参数,value代表你要带入的对象,后两个参数可写可不写。replace代表你要指定输出的数据。eg:var student=new object();student.name=lin;student.age=15;此时若rep...

2019-08-22 14:25:09 2552

原创 关于Navicat for mysql 的2003错误

解决Navicat for Mysql打不开的问题 对于学习数据库的同学来讲,直接使用控制台打开数据库或者对自己的数据表进行操作是很不方便的,所以,我们都是用NaviCat直接对 数据库 进行操作。但是,有一次我打开我的Navicat,突然显示错误,但是之前一直都是好的,为什么突然打不开了,显示下面的错误。1、重装数据库 对于初学者来讲,遇到这种问题,第一件事肯定是去...

2019-08-22 11:29:26 17361 14

原创 关于如何解决Tomcat闪退的问题

关于如何解决Tomcat闪退的问题 对于学习javaweb方向的初学者来说,tomcat闪退问题一直困扰着他们,因为这个问题会从他们开始安装tomcat到使用过程中不断的出现。 下面,小编要问大家介绍几种常见的tomcat闪退问题及解决方法,希望对大家有帮助。在安装过程中出现闪退 在学习过程中,经常有同学问小编,为什么他的tomcat安装了之后,点击startup之后,打不开。对于这种...

2019-08-22 11:19:27 1365

空空如也

空空如也

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

TA关注的人

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