自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线程池ThreadPoolExecutor底层原理源码分析

线程池ThreadPoolExecutor底层原理源码分析

2024-02-18 09:25:09 849

原创 阻塞队列BlockingQueue实战及其原理分析

队列,是限定在一端进行插入,另一端进行删除的特殊线性表。先进先出(FIFO)线性表。允许出队的一端称为队头,允许入队的一端称为队尾。

2024-02-06 15:03:34 1183

原创 并发容器(Map、List、Set)实战及其原理

java.util.concurrent包中提供了多种并发类容器

2024-02-06 10:16:18 2188

原创 读写锁ReentrantReadWriteLock&StampLock详解

读写锁ReadWriteLock,顾名思义一把锁分为读与写两部分,读锁允许多个线程同时获得,因为读操作本身是线程安全的。而写锁是互斥锁,不允许多个线程同时获得写锁

2024-02-05 14:31:47 1250

原创 深入理解AQS独占锁之ReentrantLock源码分析

上一章我们讲解了ReentrantLock、Semaphore、CountDownLatch、CyclicBarrier等同步工具类的应用场景及实现,本章我们重点讲解ReentrantLock源码分析。

2024-02-04 16:49:37 1230

原创 JUC并发工具类的应用场景详解

jdk提供了比synchronized更加高级的各种同步工具,包括ReentrantLock、Semaphore、CountDownLatch、CyclicBarrier等,可以实现更加丰富的多线程操作。

2024-02-04 11:00:42 1011 2

原创 并发编程之CAS&Atomic原子操作详解

并发编程之CAS&Atomic原子操作详解

2024-01-29 14:17:28 1075

原创 导致 JVM 内存泄露的 ThreadLocal详解

导致 JVM 内存泄露的 ThreadLocal详解

2024-01-29 09:54:34 1028

原创 JVM常量池详解

JVM常量池详解

2024-01-22 16:41:58 1069

原创 垃圾收集器G1&ZGC详解

我们在上一篇文章中详细讲了ParNew和CMS垃圾收集器,以及底层三色标记算法。本文讲解另外两个垃圾收集器G1和ZGC。

2024-01-19 15:25:28 1089

原创 垃圾收集器ParNew&CMS与底层三色标记算法详解

垃圾收集器ParNew&CMS与底层三色标记算法详解

2024-01-19 10:10:09 856

原创 JVM对象创建与内存分配机制剖析

JVM对象创建与内存分配机制剖析

2024-01-16 09:56:42 987

原创 JVM内存模型深度剖析与优化

JVM内存模型深度剖析与优化

2024-01-12 16:03:32 961

原创 JVM类加载器打破双亲委派机制

Tomcat 使用默认的双亲委派类加载机制是不行的,因此需要打破双亲委派

2024-01-11 16:51:41 1058

原创 从JDK源码级别剖析JVM类加载器

当我们用java命令运行某个类的main函数启动程序时,首先需要通过类加载器把主类加载到JVM。

2024-01-11 10:40:39 797

原创 Mysql 8.0新特性详解

建议使用8.0.17及之后的版本,更新的内容比较多。本文只讲解了一些常用到的新特性。

2024-01-08 10:24:59 1151

原创 Mysql隔离级别MVCC多版本并发控制机制

MVCC机制的实现就是通过read-view机制与undo log版本链比对机制,使得不同的事务会根据数据版本链对比规则读取同一条数据在版本链上的不同版本数据

2024-01-04 16:39:40 953

原创 Mysql锁机制与优化

如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。

2024-01-04 11:02:41 1012

原创 Mysql事务原理与优化

为了解决多事务并发问题,数据库设计了事务隔离机制、锁机制、MVCC多版本并发控制隔离机制、日志机制,用一整套机制来解决多事务并发问题

2024-01-03 15:38:20 488

原创 Explain分析-Mysql索引优化(三)

常见sql场景优化

2023-12-27 16:46:37 947

原创 Explain分析-Mysql索引优化(二)

常见sql深入优化及索引设计原则

2023-12-27 11:21:56 1072 1

原创 Explain分析——索引优化实践

本文通过Explain分析进行索引优化,需要对Explain工具有一定的了解。

2023-12-26 10:40:09 911 1

原创 Explain详解

使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈

2023-12-25 16:57:59 1156 1

原创 Mysql索引底层数据结构

索引是帮助MySQL高效获取数据的排好序的数据结构

2023-12-21 17:14:02 1083 1

原创 树轮基础:二叉树

欢迎大家关注我的微信公众号:树的定义:树是数据结构和算法分析与设计中的一种非常重要的结构,由N个结点组成的具有层次结构的模型。其主要有以下几个特点:1、有一个根结点,一般称为root结点2、每一个元素都被称为node3、除了root结点外,其余的结点都会被分为n个互不相交的集合(子树)树形结构的基本术语:结点:树形结构里面的元素子树:当结点大于1时,其余的结点分为互不相交的集合称为子树度:一个结点拥有的子树数量称为结点的度叶子:度为0的结点孩子:结点的子树的根称为孩子.

2020-06-06 16:33:58 355

原创 快速排序

欢迎大家关注我的微信公众号:上一篇我们聊了聊插入排序、希尔排序和冒泡排序。传送门:【算法】排序(一)今天我们重点讲一讲快速排序。快速排序的思路:1、基准数:根据基准数分成左右2组,左边的都比基准数小,右边的都比基准数大。2、分组以后,分别对组内进行排序。假设有这样一组数据,45 28 80 90 50 16 100 10同学们先思考,如何通过快速排序进行排序呢?好,我们一起来理一理快排的过程:一、选基准数45(基准数可以是任意一个,一般选第一个) 从序列后面往前找,找到比基准

2020-06-01 21:47:47 416 1

原创 插入排序、希尔排序、冒泡排序

欢迎大家关注我的微信公众号:什么是算法:很多人一听到算法,就感觉高深莫测。当然,算法需要不断的积累和练习,但是大家也不要害怕,其实算法,就是一种解决问题的思路,当你熟悉它,也许你会爱上它~话不多说,直接来干货。说到算法排序,有很多,我们慢慢讲。我们先来看看插入排序:插入排序:对一个有序的有序的序列插入,插入进去后保证还是有序的。看代码:package com.monkey.springdemo.utils.sort;/** * 插入排序 */public class Ins

2020-06-01 13:49:42 298

原创 同一张表中,通过传入的id来获取所有关联的父id

在很多数据库表的设计当中,在设计到树状结构数据时,并没有采用新建关联表,而是将所有的数据都放在的一张表中,即子id与父id共存于一条数据当中。本文就oracle举例而言:在这里,我们可以用递归查询的sql来处理:select a.*,level from 表名 a start with 条件1 connnect by prior 条件2 where 条件3例:(1...

2020-01-21 09:29:19 1545

原创 Ljava.lang.Object; cannot be cast to……异常

这是因为类型无法转换抛出的异常。在hibernate框架中,使用了select语句,没有指定返回数据类型,所以默认为Object类,它是所有类的父类。所以当我们遍历list的时候,Object无法转成实体类,便会抛出异常。**以下为返回值的四种情况:**1、没有select子句有from子句的HQL查询,查询表格的记录,返回的对象是查询类对象;即List<查询类名> list...

2019-10-17 14:33:16 5042

原创 springBoot+JPA调用存储过程

本文调用存储过程可能会因为情况不同,并不适用所有人。这里就本人遇到的情况,亲测有效,遇到的小伙伴们可以试试。1、先在实体类中建立与存储过程的联系。@Entity /** * @Procedure存储过程查询方法 * 存储过程使用了注解@NamedStoredProcedureQuery 并绑定到一个JPA表。 * procedureName是数据库中存储过程的名字 * na...

2019-10-15 16:44:18 2594

原创 在IE浏览器中,ajax无法访问后台问题

作为开发人员,我们要慎用IE,因为IE浏览器的兼容性没有其他浏览器好,比如谷歌,火狐。(本人不知道在IE中踩过多少坑,只能一步一步往外爬……)但是对于必须用IE的企业,我们就不得不作兼容性的考虑。最近我遇到ajax访问后台方法时,其他浏览器都好使,唯独IE让我头疼不已。话不多说,直接po码:function findNoticeById(id){ $.ajax({ url:"index/...

2019-05-27 11:16:54 1006

转载 Oracle+Mybatis的foreach insert批量插入这些坑的解决方案

作者:guobinhui来源:CSDN原文:https://blog.csdn.net/guobinhui/article/details/79728971版权声明:本文为博主原创文章,转载请附上博文链接!最近做一个批量上传附件的需求,将多个附件的信息批量插入数据库中。解决思路:在程序中封装一个List集合对象,然后把该集合中的实体插入到数据库中,因为项目使用了MyBatis...

2019-04-18 10:57:03 2886 2

转载 详谈再论JAVA获取本机IP地址

本文转载自:博客园-昕友软件开发,作者:王昕详谈再论JAVA获取本机IP地址首先,你如果搜索“JAVA获取本机IP地址”,基本上搜到的资料全是无用的。比如这篇:http://www.cnblogs.com/zrui-xyu/p/5039551.html实际上的代码在复杂环境下是不准的网上一个比较普遍的说法是InetAddress.getLocalHost().getHostAddress...

2019-04-10 16:44:35 193

原创 一条sql语句执行:有则更新,无则新增

一、Oracle、Sqlserver数据库:(merge into) 通过Merge into你能够在一个SQL语句中对一个表同时执行inserts和updates操作. 当然是update还是insert是依据于你的指定的条件判断的,Merge into可以实现用B表来更新A表数据,如果A表中没有,则把B表的数据插入A表。 1、Merge into的基本语法 1 MERGE INT...

2019-04-08 18:17:47 11406 1

原创 Nginx负载均衡与F5负载均衡的区别

一、nginx负载均衡算法:round robin(默认)轮询方式,依次将请求分配到各个后台服务器中,默认的负载均衡方式。适用于后台机器性能一致的情况。挂掉的机器可以自动从服务列表中剔除。weight根据权重来分发请求到不同的机器中,指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。upstream bakend { server 19...

2019-04-03 15:48:02 1788

原创 JQuery将时间戳转化为时间格式

JQuery将时间戳转化为时间格式var createDate = '156613022000';var data = getMyDate(1488850813000 );function getMyDate(str){ var oDate = new Date(str), oYear = oDate.getFullYear(), oMonth = oDat...

2018-10-17 21:24:41 9855

原创 从html路径中获取参数

jquery从html路径中获取参数、拼接参数例:路径:http://localhost:8080/orderDinner/meal.html?flag=0&amp;type=caijquery代码:var flag = GetQueryString("flag");var type= GetQueryString("type");function GetQueryString(na...

2018-10-16 20:49:57 5049

原创 Mybatis中进行添加(insert)、批量更新(update)

Mybatis中进行添加(insert)、批量更新(update)##一、添加insert:方法1:mapper.xml文件:&lt;insert id="savaApplyProg"&gt; insert into tb_applyprogram(hid,name,version) values &lt;foreach collection="list" item="info" se...

2018-10-15 11:39:17 1691

原创 JS函数传递字符串参数(符号转义)

JS函数传递字符串参数,如果没有转义处理,在接收的时候无法正确的接收字符串。(1)在双引号内&lt;a href="javascript:orderDetails(\''+orderId+'\')"&gt;查看详情&lt;/a&gt;&lt;a href="javascript:void(0)" onclick="orderDetails(\''+orderId+'\')"&gt;查看详情&am

2018-09-30 12:11:47 9343

原创 URL传值带加号“+”的问题的解决方法

当别人请求接口时,客户端向服务器传递参数时,参数中的“+”全部变成了空格,原因是URL中默认的将“+”号转义了。 解决方法: 方法一:前端传递参数时,将客户端带“+”的参数中的“+”全部替换为‍“2B%”,这样参数传到服务器端时就能得到“+”了。 方法二:修改后端,将空格替换为“+”,这种方式只适用于参数中有‍“+”没有空格的情况。 例:String a = reuqest.‍get...

2018-09-29 14:06:15 3202 1

空空如也

空空如也

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

TA关注的人

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