自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java的异常处理

1. Java 中异常分为哪些种类 1)按照异常需要处理的时机分为编译时异常(也叫强制性异常)也叫 CheckedException 和运行时异常(也叫非强制性异常)也叫 RuntimeException。只有 java 语言提供了 Checked 异常,Java 认为 Checked异常都是可以被处理的异常,所以 Java 程序必须显式处理 Checked 异常。如果程序没有...

2019-08-23 15:52:01 149

原创 JAVA面向对象特性

1)继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段2) 封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方...

2019-08-23 15:32:44 176

转载 Synchronized与ReentrantLock区别总结

这篇文章是关于这两个同步锁的简单总结比较,关于底层源码实现原理没有过多涉及,后面会有关于这两个同步锁的底层原理篇幅去介绍。相似点:这两种同步方式有很多相似之处,它们都是加锁方式同步,而且都是阻塞式的同步,也就是说当如果一个线程获得了对象锁,进入了同步块,其他访问该同步块的线程都必须阻塞在同步块外面等待,而进行线程阻塞和唤醒的代价是比较高的(操作系统需要在用户态与内核态之间来回切换,代价很高,...

2019-08-17 20:58:01 194

转载 syschronized用法和理解

一、锁不同位置分类synchronized是Java中的关键字,是一种同步锁。方法锁和对象锁说的是一个东西,即只有方法锁或对象锁 和类锁两种锁(锁加在方法上和类上作用是一样的,没有区别)、它修饰的对象有以下几种:1.1 修饰一个代码块被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象;1.2 修饰一个方法被修饰的方法称为同步方法,其作...

2019-08-17 20:44:37 511

转载 绝对深度解析volatile关键字的实现原理

我们知道volatile关键字的作用是保证变量在多线程之间的可见性,它是java.util.concurrent包的核心,没有volatile就没有这么多的并发类给我们使用。本文详细解读一下volatile关键字如何保证变量在多线程之间的可见性,在此之前,有必要讲解一下CPU缓存的相关知识,掌握这部分知识一定会让我们更好地理解volatile的原理,从而更好、更正确地地使用volatile关键字。...

2019-08-17 20:16:21 348

原创 数据库优化

定位:查找、定位慢查询优化手段:创建索引:创建合适的索引,我们就可以现在索引中查询,查询到以后直接找对应的记录。 分表 :当一张表的数据比较多或者一张表的某些字段的值比较多并且很少使用时,采用水平分表和垂直分表来优化 读写分离:当一台服务器不能满足需求时,采用读写分离的方式进行集群。 缓存:使用redis来进行缓存查找慢查询并定位慢查询? 在项目自验项目转测试之前,...

2019-08-17 16:32:44 195

转载 分布式之消息队列复习精讲

为什么使用消息队列? 使用消息队列有什么缺点? 消息队列如何选型? 如何保证消息队列是高可用的? 如何保证消息不被重复消费? 如何保证消费的可靠性传输? 如何保证消息的顺序性? 1、为什么要使用消息队列?分析:一个用消息队列的人,不知道为啥用,这就有点尴尬。没有复习这点,很容易被问蒙,然后就开始胡扯了。回答:这个问题,咱只答三...

2019-08-17 12:11:41 128

转载 Redis面试题

Redis有什么优点?1. 速度快:数据存储在内存中,类似于HashMap,操作和查找的时间复杂度都是O(1); 2. 支持数据类型丰富:有字符串string,字典hash,列表list,集合set,有序集合zset 3. 支持持久化 2.Redis有什么缺点?1. 存储受内存大小限制; 2. 持久化时占用cpu较大 3.为什么redis单线程的效率这么高? ...

2019-08-17 11:27:21 223

转载 Redis实现主从复制(Master&Slave)

由于前段时间公司项目比较赶,一直抽不出时间写博客,今天偷空写一篇吧。前面给大家讲解了单机版redis的基本操作,现在继续给大家讲解一下Redis的进阶部分,主从复制和读写分离。一、Master&Slave是什么?也就是我们所说的主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为...

2019-08-15 16:25:33 158

转载 ReentrantLock——可重入锁的实现原理

一、概述本文首先介绍Lock接口、ReentrantLock的类层次结构以及锁功能模板类AbstractQueuedSynchronizer的简单原理,然后通过分析ReentrantLock的lock方法和unlock方法,来解释ReentrantLock的内部原理,最后做一个总结。本文不涉及ReentrantLock中的条件变量。1.1、Lock接口Lock接口,是对控制并发的工具...

2019-07-31 10:06:17 734

转载 微服务之密码加密与微服务鉴权JWT

学习目标: 能够使用BCrypt密码加密算法实现注册与登陆功能 能够说出常见的认证机制 能够说出JWT的组成部分,以及使用JWT的优点 能够使用JJWT 创建和解析token 能够使用JJWT完成微服务鉴权1 BCrypt密码加密1.1 准备工作任何应用考虑到安全,绝不能明文的方式保存密码。密码应该通过哈希算法进行加密。有很多标准的算法比如SHA或者MD5...

2019-07-30 10:30:26 1232

转载 使用dbutils完成curd操作

技术分析:    dbutilsdbutils:    是apache组织的一个工具类,jdbc的框架,更方便我们使用    使用步骤:        1.导入jar包(commons-dbutils-1.4.jar)        2.创建一个queryrunner类            queryrunner作用:操作sql语句                构造方法:  ...

2018-08-13 17:46:56 225

原创 通过连接池(数据源)优化数据库连接

需求:使用jdbc的时候,每操作一次都需要获取连接(创建)用完之后把连接释放掉了(销毁),通过连接池来优化curd操作.技术分析:    连接池连接池概述:     管理数据库的连接作用:        提高项目的性能.    就是在连接池初始化的时候存入一定数量的连接,用的时候通过方法获取,不用的时候归还连接即可.    所有的连接池必须实现一个接口 javax.sql.D...

2018-08-13 16:54:45 512

原创 通过jdbc完成单表的curd操作

需求:    对分类表完成操作.技术分析:    jdbc    java操作数据库.jdbc是oracle公司指定的一套规范(一套接口)多态    驱动:jdbc的实现类.由数据库厂商提供.    我们就可以通过一套规范操作不同的数据库了(多态)    jdbc作用:        连接数据库        发送sql语句        处理结果jdbc操作步骤:★...

2018-08-12 20:08:30 580

原创 可扩展的标签语言XML

xml:    可扩展的标签语言    标签自定义.    作用:存储数据.(配置文件)    书写规范:        1.区分大小写        2.应该有一个根标签        3.标签必须关闭            <xx></xx>            <xx/>        4.属性必须用引号引起来,          ...

2018-08-12 19:45:53 251

原创 Javaweb学习路线或大纲

Javaweb学习路线或大纲1.MySQL的学习与应用2.jdbc连接数据库的学习与应用3.xml与tomcat的学习4.HTTP协议与servlet5.request 与 response6.cookie与session 学习7.jsp&el&jstl8.事务&MVC&反射 ...

2018-08-11 21:06:40 595

空空如也

空空如也

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

TA关注的人

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