自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(107)
  • 收藏
  • 关注

转载 序列化的一些思考

什么是Java序列化Java提供了两种对象持久化的方式,分别为序列化和反序列化。(1)序列化:在分布式环境下,当进行远程通信时,无论何种类型的数据,都会以二进制序列的形式在网络上传送。序列化是一种将对象一连串的字节描述的过程,用于解决在对对象流进行读写操作时所引发的问题。序列化可以...

2019-08-28 19:56:00 175

转载 抽象类实现接口有什么意义?接口和抽象类设计思考

1.抽象类肯定可以实现接口; 2.这不是有没有意义的事情,是一种思想,当你自己写的类想用接口中个别方法的时候(注意不是所有的方法),那么你就可以用一个抽象类先实现这个接口(方法体中为空),然后再用你的类继承这个抽象类,这样就可以达到你的目的了,如果你直接用类实现接口,那是所有方法都必须实现的...

2019-08-28 18:55:00 713

转载 es6的总结下var、let 和 const 的区别

var 和 let 的区别是老生常谈,看到网上一些文章的总结,有的不太全面,甚至有的描述不太准确,在这里尽量全面的总结下这三者的区别。 let 是 ES6新增的变量类型,用来代替 var 的一些缺陷,跟 var 相比主要有以下区别: 1. let 使用块级作用域 在 ES6之前,E...

2019-08-21 19:54:00 169

转载 mybatisPlus插件使用

环境idea+springboot+mybatisplus 数据库mysql5.7,这个5.5及其以上版本就可以了 MyBatis-Plus介绍 官网:http://mp.baomidou.com/ 参考教程:http://mp.baomidou.com/guide/ MyBatis...

2019-08-15 11:02:00 610

转载 hashmap的modCount

package com.liuyuan.test01;/* * modCount:记录当前集合被修改的次数 * (1)添加 * (2)删除 * 这两个操作都会影响元素的个数。 * * 当我们使用迭代器或foreach遍历时,如果你在foreach遍历时,自动调...

2019-08-13 11:58:00 1750

转载 hashmap底层实现

package com.liuyuan.test01;import java.util.HashMap;import org.junit.Test;/* * JDK1.8的HashMap的底层实现:数组+链表/红黑树 * * 几个常量和变量: * (1...

2019-08-13 11:56:00 58

转载 各个版本的hashmap的底层实现

package com.liuyuan.test07;import java.util.HashMap;import org.junit.Test;/* * 一、JDK1.6的HashMap:数组+链表 * (1)new HashMap() * tabl...

2019-08-13 11:52:00 188

转载 map的接口实现类们

package com.liuyuan.test06;import java.io.IOException;import java.util.HashMap;import java.util.LinkedHashMap;import java.util.Map;impo...

2019-08-13 11:49:00 54

转载 map集合底层分析

package com.liuyuan.test05;import java.util.ArrayList;import java.util.Collection;import java.util.HashMap;import java.util.Map;import ...

2019-08-13 09:01:00 153

转载 set集合底层分析

package com.liuyuan.test04;import java.util.Comparator;import java.util.HashSet;import java.util.LinkedHashSet;import java.util.TreeSet;...

2019-08-13 08:55:00 634

转载 stack源码和vector源码

package com.liuyuan.test03;import java.util.Stack;/* * Stack:栈 源码分析 * * (1)peek * 返回size-1位置的元素 * (2)pop * ①先peek()返回栈顶元素 ...

2019-08-13 00:17:00 54

转载 list的实现类们

package com.liuyuan.test03;import java.util.ArrayList;import java.util.LinkedList;import java.util.Stack;import org.junit.Test;/*...

2019-08-13 00:11:00 178

转载 ArrayList源码分析

package com.liuyuan.test03;import java.util.ArrayList;/* * ArrayList动态数组:源码跟踪 * (1)new ArrayList(): * JDK1.8版本:发现内部初始化为了一个长度为0的空数组 D...

2019-08-13 00:05:00 73

转载 LinkedList源码分析

package com.liuyuan.test03;import java.util.LinkedList;/* * LinkedList:源码分析 * (1)new LinkedList():什么也没干,没有创建结点 * (2)add(e) * vo...

2019-08-13 00:02:00 53

转载 手写arrayList底层实现

package com.liuyuan.test02;import java.util.Arrays;/* * MyArrayList我们自己设计的一种数据结构,一种逻辑结构,当别人用我这个MyArrayList的对象时,就是一个容器对象, * 可以用来装对象。...

2019-08-12 23:36:00 100

转载 手写单向链表底层实现

package com.liuyuan.test03;public class SingleLinkedList { //这里不需要数组,不需要其他的复杂的结构,我只要记录单向链表的“头”结点 private Node first;//first中记录的是第一个结点的地址...

2019-08-12 23:22:00 132

转载 面试题1

package com.liuyuan.test02;public class Test02 { public static void main(String[] args) { Father f = new Father(); Son s = new Son();...

2019-08-11 14:39:00 296

转载 system类的arrayCopy方法

package com.liuyuan.test06;import java.util.Arrays;/** Object:是所有引用数据类型的根父类** 那么根据多态,Object类型的变量,形参,就可以接收任意的引用数据类型的对象,包括数组*...

2019-08-11 13:48:00 142

转载 面试题

package com.liuyuan.test05.exer2;/* * (1)Fu类的类初始化 * ①类变量显式赋值: * i = getNum("(1)i"); * public static int getNum(String str){ pri...

2019-08-11 00:57:00 226

转载 final的使用

package com.liuyuan.test01;/* * 学习修饰符时,希望大家问自己问题? * (1)修饰符本身的意思 * (2)它可以修饰什么? * (3)它修饰后有什么不同? * * * final:修饰符的一种 * 1、意思:最终的...

2019-08-11 00:22:00 67

转载 eclipse快捷键

shift+alt+A,多行编辑,如 int age; String name; 我可以在shift+alt+A后,统一加上private ctrl +shift +f格式化代码 ctrl +alt + s ,然后点击s 生成toString方法 /* * 快捷键: ...

2019-08-10 18:53:00 99

转载 安装 ActiveMQ

安装 ActiveMQ 拷贝apache-activemq-5.14.4-bin.tar.gz到Linux服务器的/opt下 解压缩 tar -zxvf apache-activemq-5.14.4-bin.tar.gz 重命名 mv apache-activemq-5....

2019-08-10 14:08:00 86

转载 ElasticSearch部署,以及kibana安装

1.环境要求:centos 7 ,jdk ,安装elasticsearch之前必须要安装好jdk 2.安装完成后,通过rpm方式安装elasticsearch-5.6.4.rpm 3.rpm -ivhelasticsearch-5.6.4.rpm安装完成后,查看是否为自启动systemc...

2019-08-09 18:45:00 83

转载 转Redis五大数据类型应用场景

本博客转自java思维导图公众号,大家可以关注,里面有很多料,可以碎片化时间学习。这里主要为了记录归档,日后不断理解,因为看一遍吸收的难以应用自如。 Redis开创了一种新的数据存储思路,使用Redis,我们不用在面对功能单调的数据库时,把精力放在如何把大象放进冰箱这样的问题上,而是利用...

2019-08-08 15:55:00 90

转载 小表驱动大表(MySQL高级知识十六)

前言:本来小表驱动大表的知识应该在前面就讲解的,但是由于之前并没有学习数据批量插入,因此将其放在这里。在查询的优化中永远小表驱动大表。 1.为什么要小表驱动大表呢 类似循环嵌套 for(int i=5;.......){ for(int j=1000;......)...

2019-08-08 10:14:00 133

转载 主从复制(MySQL高级知识十五)

前言:本章主要讲解MySQL主从复制的操作步骤。由于环境限制,主机使用Windows环境,从机使用用Linux环境。另外MySQL的版本最好一致,笔者采用的MySQL5.7.22版本,具体安装过程请查询相关资料。 1.主从复制的基本原理 slave会从master读取binlog来进...

2019-08-08 10:10:00 84

转载 行锁(MySQL高级知识十四)

前言:前面学习了表锁的相关知识,本篇主要介绍行锁的相关知识。行锁偏向InnoDB存储引擎,开销大,加锁慢,会出现死锁,锁定粒度小,发生锁冲突的概率低,但并发度高。 0.准备 #1.创建相关测试表tb_innodb_lock,注意数据库引擎为InnoDB。 drop table...

2019-08-08 10:07:00 112

转载 表锁(MySQL高级知识十三)

前言:锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算机资源(如CPU、RAM、I/O等)的争用外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据并发访问性能的一个重要因素。从这个角度来说,锁...

2019-08-08 09:56:00 192

转载 全局查询日志(MySQL高级知识十二)

前言:全局查询日志用于保存所有的sql执行记录,该功能主要用于测试环境,在生产环境中永远不要开启该功能。 1.如何开启 #1.通过my.cnf配置开启该功能。 注:对my.cnf文件配置后,需重启mysql。 ①通过命令查看全局查询日志是否开启成功。 ②查看全log_g...

2019-08-08 09:55:00 62

转载 全局查询日志(MySQL高级知识十二)

前言:全局查询日志用于保存所有的sql执行记录,该功能主要用于测试环境,在生产环境中永远不要开启该功能。1.如何开启#1.通过my.cnf配置开启该功能。注:对my.cnf文件配置后,需重启mysql。①通过命令查看全局查询日志是否开启成功。②查看全log_globalquery.l...

2019-08-07 21:31:00 129

转载 Show Profile(MySQL高级知识十一)

前言:Show Profile是mysql提供的可以用来分析当前会话中sql语句执行的资源消耗情况的工具,可用于sql调优的测量。默认情况下处于关闭状态,并保存最近15次的运行结果。 1.分析步骤 #1.开启Show Profile功能,默认该功能是关闭的,使用前需开启。 #2...

2019-08-07 21:30:00 81

转载 Java多线程之死锁编码及定位分析

目录 死锁是什么 代码实现 死锁解决办法 1. 死锁是什么 死锁是指两个或两个以上的进程在执行过程中因争夺资而造成的一种互相等待的现象,若无外力干涉那它们都将无法推进下去, 如果系统资源允是,进程的资源请求都能够得到满是,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。2. 代码实...

2019-08-06 19:47:00 90

转载 Java多线程之线程池配置合理线程数

目录 代码查看公司服务器或阿里云是几核的 合理线程数配置之CPU密集型 合理线程数配置之IO密集型 1. 代码查看公司服务器或阿里云是几核的 要合理配置线程数首先要知道公司服务器或阿里云是几核的 代码查看服务器核数: System.out.println(Runtime.getRuntime...

2019-08-06 19:44:00 137

转载 Java多线程之线程池的手写改造和拒绝策略

目录 自定义线程池的使用 四种拒绝策略代码体现 1. 自定义线程池的使用 自定义线程池(拒绝策略默认AbortPolicy) public class MyThreadPoolDemo { public static void main(String[] args) { ...

2019-08-06 19:41:00 138

转载 Java多线程之线程池7大参数、底层工作原理、拒绝策略详解

Java多线程之线程池7大参数详解 目录 企业面试题 线程池7大参数源码 线程池7大参数详解 底层工作原理详解 线程池的4种拒绝策略理论简介 面试的坑:线程池实际中使用哪一个? 1. 企业面试题 线程池的工作原理,几个重要参数,然后给了具体几个参数分析线程池会怎么做,最 后问阻塞队列用是什么?...

2019-08-06 19:37:00 1204

转载 Java多线程之线程池详解

目录: 线程池使用及优势 线程池3个常用方式 线程池7大参数深入介绍 线程池底层工作原理 1. 线程池使用及优势 线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务, 如果线程数量超过了最大数量 超出数量的 线程排队等候,等其它线程执行完毕,再从队...

2019-08-06 19:30:00 60

转载 Java多线程之Callable、Future和FutureTask

我们学习java基础的时候,知道创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自...

2019-08-06 19:19:00 154

转载 Java多线程之线程虚假唤醒

本文目录提纲问题:两个线程对一个初始值为零的变量操作,实现一个线程加一,另一个线程减一,来十次。问题:四个线程对一个初始值为零的变量操作,实现两个线程加一,另外两个线程减一,来十次。1. 两个线程对一个初始值为零的变量操作,实现一个线程加一,另一个线程减一,来十次。 代码实现:...

2019-08-05 20:28:00 106

转载 Java多线程之volatile详解

目录:什么是volatile?JMM内存模型之可见性volatile三大特性之一:保证可见性volatile三大特性之二:不保证原子性volatile三大特性之三: 禁止指令重排小结1. 什么是volatile?答:volatile是java虚拟机提供的轻量级的...

2019-08-05 20:20:00 205

转载 Java多线程之Semaphore用法

本文目录:Semaphore基本概念Semaphore使用案例:3个停车位,6辆车去抢,走一辆,抢一个停车位。1. Semaphore基本概念在信号量上我们定义两种操作:1. 信号量主要用于两个目的,一个是用于多个共享资源的互斥使用,另一个用于并发线程数的控制。2. a...

2019-08-05 19:21:00 151

空空如也

空空如也

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

TA关注的人

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