- 博客(15)
- 资源 (14)
- 收藏
- 关注
原创 MySQL Order By原理(学习笔记)
MySQL Order By原理1. 场景11.1 表结构+索引+SQL1.2 索引结构1.3 执行计划1.4 分析1.4.1 全字段排序1.4.2 rowid 排序2. 如何避免排序2.1 分析1. 场景11.1 表结构+索引+SQLCREATE TABLE `t` ( `id` INT (11) NOT NULL, `city` VARCHAR (16) NOT NULL, `name` VARCHAR (16) NOT NULL, `age` INT (11) N
2021-11-28 22:29:20
498
原创 jvm内存区域&工具&笔记
转摘 https://www.cnblogs.com/czwbig/p/11127124.htmlhttps://github.com/hollischuang/toBeTopJavaerjava8来自网络java8之前image.png1、程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。 为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各条线.
2020-10-12 10:33:26
126
原创 G1垃圾收集器笔记
参考:https://blog.youkuaiyun.com/CrankZ/article/details/86009279https://hllvm-group.iteye.com/group/topic/44381#post-272188https://hllvm-group.iteye.com/group/topic/44381?page=2https://hllvm-group.iteye.com/group/topic/21468#post-2720701、G1收集器G1(Garbage - F
2020-07-26 17:55:51
1533
原创 jvm垃圾收集器
参考: https://blog.youkuaiyun.com/CrankZ/article/details/860092791、Serial收集器JDK1.3.1前是HotSpot新生代收集的唯一选择;Serial收集器依然是虚拟机运行在Client模式下的默认新生代收集器。-XX:+UseSerialGC:串联收集器2、ParNew收集器ParNew收集器就是Serial收集器的多线程版本,它也是一个新生代收集器。除了Serial收集器外,目前只有它能和CMS收集器(Concurrent Ma
2020-07-19 21:05:28
189
原创 Java字节码解析
官网:https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html1. 字节码整体结构02.jpg03.jpg04.jpg1.0 class字节码数据类型字节数据直接量:这是基本的数据类型,细分为u1,u2,u4,u8四种,分别代表1个字节,2个字节,4个字节,8个字节组成的整体数据 表(数组):表是由多个基本数据或其他表,按照既定顺序组成的大的数据集合。表示有结构的,它的结构体:组成表的成分所在的位.
2020-05-24 21:37:57
1115
原创 ClassLoader类加载器
1. 类的加载、连接、初始化加载:查找并加载类的二进制数据 连接: -- 验证: 确保被加载类的正确性 -- 准备:为类的静态变量分配内存,并将其初始化为默认值 -- 解析:把类中的符号引用转换为直接引用 初始化:为类的静态变量赋予正确的初始化值 12.png 1.1 加载jvm规范允许类加载器在预料某个类将要被使用的时候就预先加载它,如果在预先加载的过程中遇到了.class文件缺失或者存在错误,类加载器必须在程序首次主动使用该类是,才报告错误(LinkkageError错误)
2020-05-14 22:41:47
185
原创 jdk10-ReentrantLock重入锁源码分析(下)
https://www.jianshu.com/p/d560c2d9ea8e上一篇对 ReentrantLock 的 lock 和 unlock 方法做了详细的讲解这篇将接着讲解 Condition,1. condition 生产者消费者列子condition 是依赖于 ReentrantLock 的,不管是调用 await 进入等待还是 signal 唤醒,都必须获取到锁才能进行操作。...
2018-08-06 17:32:29
230
原创 jdk10-ReentrantLock重入锁源码分析(上)
1. 线程安全多个线程对公共资源进行非原子操作,就会存在线程安全问题多线程环境 多个线程共享一个资源 对资源进行非原子性操作2. Lock 接口介绍Java中锁的实现可以由synchronized关键字来完成,jdk1.5之后出现了一种新的方式来实现——Lock接口。/** * 1.采用Lock,必须主动去释放锁,并且在发生异常时,不会自动释放锁。 <br&g...
2018-07-30 15:28:42
269
原创 centos(minimal)7.4 mysql8.0安装及主从复制搭建
官网教程:https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html1. 关闭防火墙systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动2. 下载MySQL Yum Rep...
2018-05-26 23:06:09
1596
原创 spring mvc4 hibernate validator 方法参数验证
maven依赖 org.hibernate hibernate-validator 5.4.1.Final 1.最简单配置 2.国际化 提示信息写到配置文件配置 3.简单注解 介绍
2017-05-04 17:57:45
686
转载 linux安装jdk8 tomcat8 APR协议
1.安装jdk1.81、检查系统中是否存在jdk或者openjdk# rpm -qa | grep javajava-1.8.0-openjdk-headless-1.8.0.101-3.b13.el7_2.x86_64javapackages-tools-3.4.1-11.el7.noarch2、如果有卸载 rpm -e --allm
2017-03-28 19:57:11
2003
1
原创 java8 jdk8 遍历某段时间
LocalDate dateBegin = LocalDate.parse("2017-03-01", DateTimeFormatter.ISO_LOCAL_DATE); LocalDate dateEnd = null; dateEnd = LocalDate.now(); String key = null; while (dateEnd.compareTo(dateBeg
2017-03-15 14:56:54
2498
原创 SSM整合,spring4.3.6.RELEASE,springmvc,mybatis3.4.2,maven聚合项目整合
自己在公司新建个项目,准备升级下,于是写个整合好的出来供大家学习,本项目是maven聚合项目,一个父级pom,几个子项目,讲解不是太详细,不过大家可以下载实列1、eclipse创建maven项目,<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apach
2017-03-05 11:04:52
3133
转载 线程池
Java并发编程:线程池的使用 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任
2016-06-12 20:34:30
362
转载 单列模式
单列模式[java] view plain copy print?public class A { // 私有静态内部类, 只有当有引用时, 该类才会被装载 private static class LazyA { public static A A = new A(); }
2016-02-26 13:44:54
359
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人