自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

转载 继承父类的静态方法的加载顺序

public class GrandFather { static{ System.out.println("GrandFather在静态代码块"); }}public class Father extends GrandFather{ static{ System.out.println...

2019-03-21 10:46:00 227

转载 sql索引优化

1. 索引得分类普通索引:即一个索引只包含单个列,一个表可以有多个单列索引唯一索引:索引列的值必须唯一,但允许有空值复合索引:即一个索引包含多个列聚簇索引(聚集索引):并不是一种单独的索引类型,而是一种数据存储方式。具体细节取决于不同的实现,InnoDB的聚簇索引其实就是在同一个结构中保存了B-Tree索引(技术上来说是B+Tree)和数据行。非聚簇索引:不是聚...

2019-03-20 18:33:00 213

转载 EXPLAIN 执行计划详解

执行计划详解通过EXPLAIN关键分析的结果由以下列组成,接下来挨个分析每一个列1. ID列ID列:描述select查询的序列号,包含一组数字,表示查询中执行select子句或操作表的顺序根据ID的数值结果可以分成一下三种情况l id相同:执行顺序由上至下l id不同:如果是子查询,id的序号会递增,id值越大优先级越高,越先被执行2. sele...

2019-03-20 18:32:00 285

转载 JVM总括二-垃圾回收:GC Roots、回收算法、回收器

JVM总括二-垃圾回收:GC Roots、回收算法、回收器目录:JVM总括:目录一、判断对象是否存活  为了判断对象是否存活引入GC Roots,如果一个对象与GC Roots没有直接或间接的引用关系这些对象就可以被回收。  可作为GC Root的对象有:  1、方法区中静态属性引用的对象  2、方法区中常量引用的对象  3、虚拟机栈中引用的对象  4...

2019-03-07 11:26:00 163

转载 dubbo知识体系

Dubbo负载均衡Random随机/ RoundRobin轮询/ LeastActive最少Dubbo缓存Dubbo集群容错Dubbo回调服务分组: groupDubbo异步调用<dubbo:method name=“xxx" async="true" />Dubbo事件通知onreturn, onthrow= x.onreturnDubbo回...

2019-03-07 11:08:00 107

转载 Spring bean的生命流程

Spring 是一个轻量级的 J2EE 开源框架,其目标是降低企业级应用开发难度,提高企业级应用开发效率。在日程开发中,我们会经常使用 Spring 框架去构建应用。所以作为一个经常使用的框架,了解其原理还是很有必要的。接下来我们就从宏观层面上,来看看 Spring 中的 bean 由实例化到销毁的过程。在详细讨论 bean 生命周期前,先上一张图,后面也会围绕这张图展开讨论。图...

2019-03-07 10:45:00 68

转载 日志体系与异常处理

日志体系slf4j 替换jcl、jul集成方案 提问:假设Spring 框架要打印日志,应该选择中其中哪一个组件? 发现哪个都不能选,只能基于应用实际使用的日志组件来。不然就会日志打印会多份。怎么找到应用实际使用的日志组件 Apache Commons Loging 解决了这个问题Apache Commons Loging (JCL)...

2019-03-07 09:57:00 114

转载 MySQL索引原理及慢查询优化

建索引的几大原则1.最左前缀匹配原则,非常重要的原则,mysql会一直向右匹配直到遇到范围查询(>、<、between、like)就停止匹配,比如a = 1 and b = 2 and c > 3 and d = 4 如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引则都可以用到,a,b,d的顺序可以任意调整。 2.=和in可以...

2019-03-06 18:11:00 106

转载 ArrayList的ConcurrentModificationException异常和多线程下的异常

一、ConcurrentModificationExceptionArrayList源码看为什么出现异常:public class ArrayList<e> extends AbstractList<e> implements Cloneable, Serializable, RandomAccess { ...

2019-03-04 17:37:00 201

转载 线程池/任务未抓取异常处理

问题描述:使用 java.util.TimerTask 任务中断(遇到未抓取异常时后续任务不执行); 2. 使用 java.util.concurrent.Executors.xxx 线程池对于未抓取异常无异常输出,无法定位问题;定位方法:对比 TimerTask/Executors/Quartz 三者对抛出异常的反应问题解决:建议:对于定时任务,建...

2019-02-21 21:47:00 137

转载 Redis 命令

命令 描述Redis GEOADD 命令 将指定的地理空间位置(纬度、经度、名称)添加到指定的key中Redis GEODIST 命令 返回两个给定位置之间的距离Redis GEOHASH 命令 返回一个或多个位置元素的 Geohash 表示Redis GEOPOS 命令 从key里返回所有给定位置元素的位置(经度和纬度)...

2018-12-07 10:49:00 584

转载 mysq

https://blog.csdn.net/wwd0501/article/details/7117161447.105.144.1iptables -I INPUT -p tcp --dport 3306 -j ACCEPT把这个步骤改成#解压tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz#复制解压后的mys...

2018-12-06 10:59:00 117

转载 Spring源码-循环依赖源码解读

Spring源码-循环依赖源码解读  笔者最近无论是看书还是从网上找资料,都没发现对Spring源码是怎么解决循环依赖这一问题的详解,大家都是解释了Spring解决循环依赖的想法(有的解释也不准确,在《Spring源码深度解析》作者也是看别人的博客说明了一下),没有从源码的角度分析是怎么解决循环依赖的,笔者就把自己看源码的过程写一下。  写这一篇文章算是个引路的,Spring...

2018-11-27 21:44:00 245

转载 logback log4j log4j2 性能实测

logback log4j log4j2 性能实测转载:https://blog.souche.com/logback-log4j-log4j2shi-ce/日志已经成为系统开发中不可或缺的一部分. 但是针对logback, log4j和log4j2. 究竟改如何选择? 到底性能如何? 今天我们做一个实际的测评. 相信看完这篇文章, 对这三个日志框架会有很清楚的一个了解....

2018-11-27 15:24:00 102

转载 程序员的自我修养

一、基础篇JVMJVM内存结构堆、栈、方法区、直接内存、堆和栈区别Java内存模型内存可见性、重排序、顺序一致性、volatile、锁、final垃圾回收内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定JVM参数及调优Java对象模型oop-klass、对象头HotSpot即时编译器、编译优化类加载机制class...

2018-11-05 23:05:00 500

转载 JVM思考-ClassLoader.loadClasshe和Class.forName区别

JVM思考-ClassLoader.loadClasshe和Class.forName区别目录:JVM总括:目录见博客第四节:JVM总括四-类加载过程、双亲委派模型、对象实例化过程转载于:https://www.cnblogs.com/java-zzl/p/9905223.html...

2018-11-04 19:01:00 92

转载 JVM思考-init和clinit区别

JVM思考-init和clinit区别目录:JVM总括:目录clinit和init的区别其实也就是Class对象初始化对象初始化的区别,详情看我上一篇博客:JVM总括四-类加载过程、双亲委派模型、对象实例化过程一、init和clinit方法执行时机不同  init是对象构造器方法,也就是说在程序执行 new 一个对象调用该对象类的 constructor 方法时...

2018-11-04 19:00:00 114

转载 JVM总括四-类加载过程、双亲委派模型、对象实例化过程

JVM总括四-类加载过程、双亲委派模型、对象实例化过程目录:JVM总括:目录一、 类加载过程类加载过程就是将.class文件转化为Class对象,类实例化的过程,(User user = new User(); 这个过程是对象实例化的过程);一个.class文件只有一个Class对象(字节码对象),可以有无数个对象(例如:new User(););1、L...

2018-11-04 19:00:00 115

转载 JVM总括三-字节码、字节码指令、JIT编译执行

JVM总括三-字节码、字节码指令、JIT编译执行目录:JVM总括:目录  java文件编译后的class文件,java跨平台的中间层,JVM通过对字节码的解释执行(执行模式,还有JIT编译执行,下面讲解),屏蔽对操作系统的依赖。一个字节(8位)可以储存256中不同的指令,这样的指令就是字节码,java所有指令有200个左右,这些指令组成了字节码文件(.class)。...

2018-10-31 23:36:00 156

转载 JVM总括:目录

JVM总括:目录JVM总括一-JVM内存模型JVM总括二-垃圾回收:GC Roots、回收算法、回收器JVM总括三-字节码、字节码指令、JIT编译执行JVM总括四-类加载过程、双亲委派模型、对象实例化过程JVM思考-init和clinit区别JVM思考-ClassLoader.loadClasshe和Class.forName区别转载于:https://w...

2018-10-31 11:52:00 85

转载 Java并发集合(三)-ConcurrentHashMap分析和使用

1http://ifeve.com/hashmap-concurrenthashmap-%E7%9B%B8%E4%BF%A1%E7%9C%8B%E5%AE%8C%E8%BF%99%E7%AF%87%E6%B2%A1%E4%BA%BA%E8%83%BD%E9%9A%BE%E4%BD%8F%E4%BD%A0%EF%BC%81/https://blog.csdn.net/u011392...

2018-10-13 18:50:00 121

转载 Java并发集合(二)-ConcurrentSkipListMap分析和使用

一、ConcurrentSkipListMap介绍ConcurrentSkipListMap是线程安全的有序的哈希表,适用于高并发的场景。ConcurrentSkipListMap和TreeMap,它们虽然都是有序的哈希表。但是,第一,它们的线程安全机制不同,TreeMap是非线程安全的,而ConcurrentSkipListMap是线程安全的。第二,ConcurrentSkipLi...

2018-10-13 17:10:00 333

转载 Java并发集合(一)-CopyOnWriteArrayList分析与使用

CopyOnWriteArrayList分析与使用原文链接:  http://ifeve.com/java-copy-on-write/一、Copy-On-Write  Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改...

2018-10-13 17:01:00 69

转载 Java并发-ConcurrentModificationException原因源码分析与解决办法

一、异常原因与异常源码分析  对集合(List、Set、Map)迭代时对其进行修改就会出现java.util.ConcurrentModificationException异常。这里以ArrayList为例,例如下面的代码:ArrayList<String> list = new ArrayList<>();list.add("1");list...

2018-10-13 13:40:00 202

转载 Java并发-多线程面试(全面)

1. 什么是线程?2. 什么是线程安全和线程不安全?3. 什么是自旋锁?4. 什么是Java内存模型?5. 什么是CAS?6. 什么是乐观锁和悲观锁?7. 什么是AQS?8. 什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)?9. 什么是Executors框架?10. 什么是阻塞队列?如何使用阻塞队列来实现生产者-消费者模型?11....

2018-10-13 10:03:00 68

转载 零碎知识

名称特征作用配置异常栈区线程私有,使用一段连续的内存空间存放局部变量表、操作栈、动态链接、方法出口-XSsStackOverflowError OutOfMemoryError堆线程共享,生命周期与虚拟机相同保存对象实例-Xms -Xmx -XmnOutOfMemoryError程序计数器线程私有、占用内...

2018-10-08 08:50:00 67

转载 Java并发:线程间数据传递和交换

一、通过SynchronousQueue方式实现线程间数据传递:  线程A与线程B共同持有一个SynchronousQueue的引用,线程B调用take方法,阻塞以等待; 线程A运行后计算出结果,将结果put到queue中;public class SynchronousQueueTest { public static void main(String[] arg...

2018-10-04 22:40:00 103

转载 SQL

select t.id,t.code,t.title,t.shop_id shopId, t.type,t.start_time startTime,t.end_time endTime, shop.shop_name shopName, t.member_level memberLevel, t.require_Include ...

2018-10-03 16:15:00 63

转载 SQL查询有两门以上不及格的学生及查询出全部及格的学生

1、表结构:/*学生*/create table student(sno int not null primary key,sname varchar(10));/*课程*/create table center(cno int not null primary key,cname varchar(10));/*分数*/create t...

2018-10-03 16:07:00 11051

转载 SQL删除重复数据只保留一条数据

1、表结构与数据:CREATE TABLE tablezzl(id int,name VARCHAR(255));2、查询出重复的数据:SELECT name FROM tablezzl GROUP BY name HAVING COUNT(name)>13、查询出要保留的重复数据:SELECT MIN(id) ids F...

2018-10-03 14:24:00 99

转载 Java并发-UncaughtExceptionHandler捕获线程异常信息并重新启动线程

Java并发-UncaughtExceptionHandler捕获线程异常信息并重新启动线程一、捕获异常并重新启用线程 1 public class Testun { 2 3 public static void main(String[] args) throws InterruptedException { 4 5 Th...

2018-08-31 20:15:00 171

转载 Java并发-ThreadGroup获取所有线程

一:获取当前项目所有线程 1 public Thread[] findAllThread(){ 2 ThreadGroup currentGroup =Thread.currentThread().getThreadGroup(); 3 4 while (currentGroup.getParent()!=null){ 5 // 返回此...

2018-08-31 19:22:00 333

转载 Java并发-懒汉式单例设计模式加volatile的原因

懒汉式单例的double check、例一: 1 class SingletonClass{ 2 private static SingletonClass instance = null; 3 4 private SingletonClass() {} 5 6 public static SingletonClass ge...

2018-08-16 18:30:00 258

转载 Java并发-volatile的原理及用法

Java并发-volatile的原理及用法volatile属性:可见性、保证有序性、不保证原子性。一、volatile可见性  在Java的内存中所有的变量都存在主内存中,每个线程有单独CPU缓存内存,多个线程对同一个变量读取时,会从主内存中把变量拷贝到自己的CPU缓存中,线程之间也无法直接访问对方CPU缓存内存中的变量,只能通过主内存传递变量的值;  举个例子、例一;...

2018-08-16 14:22:00 80

空空如也

空空如也

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

TA关注的人

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