博客园 - Jessica程序猿
uuid:6cbd1ba2-f883-4c34-aed1-30dde64a3a3e;id=683151
2020-01-27T16:18:50Z
Jessica程序猿
https://www.cnblogs.com/wuchanming/
feed.cnblogs.com
https://www.cnblogs.com/wuchanming/p/12237298.html
使序列递增的最小交换 - Jessica程序猿
我们有两个长度相等且不为空的整型数组 A 和 B 。 我们可以交换 A[i] 和 B[i] 的元素。注意这两个元素在各自的序列中应该处于相同的位置。 在交换过一些元素之后,数组 A 和 B 都应该是严格递增的(数组严格递增的条件仅为A[0] < A[1] < A[2] < … < A[A.lengt
2020-01-27T16:19:00Z
2020-01-27T16:19:00Z
Jessica程序猿
https://www.cnblogs.com/wuchanming/
【摘要】我们有两个长度相等且不为空的整型数组 A 和 B 。 我们可以交换 A[i] 和 B[i] 的元素。注意这两个元素在各自的序列中应该处于相同的位置。 在交换过一些元素之后,数组 A 和 B 都应该是严格递增的(数组严格递增的条件仅为A[0] < A[1] < A[2] < … < A[A.lengt <a href="https://www.cnblogs.com/wuchanming/p/12237298.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wuchanming/p/10426776.html
mybatis - Jessica程序猿
2019-02-24T08:55:00Z
2019-02-24T08:55:00Z
Jessica程序猿
https://www.cnblogs.com/wuchanming/
【摘要】 <a href="https://www.cnblogs.com/wuchanming/p/10426776.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wuchanming/p/10374000.html
线程池 - Jessica程序猿
2019-02-14T04:52:00Z
2019-02-14T04:52:00Z
Jessica程序猿
https://www.cnblogs.com/wuchanming/
【摘要】 <a href="https://www.cnblogs.com/wuchanming/p/10374000.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wuchanming/p/10274907.html
AQS实现原理分析——ReentrantLock - Jessica程序猿
在Java并发包java.util.concurrent中可以看到,不少源码是基于AbstractQueuedSynchronizer(以下简写AQS)这个抽象类,因为它是Java并发包的基础工具类,是实现ReentrantLock、CountDownLatch、Semaphore、FutureTa
2019-01-15T15:47:00Z
2019-01-15T15:47:00Z
Jessica程序猿
https://www.cnblogs.com/wuchanming/
【摘要】在Java并发包java.util.concurrent中可以看到,不少源码是基于AbstractQueuedSynchronizer(以下简写AQS)这个抽象类,因为它是Java并发包的基础工具类,是实现ReentrantLock、CountDownLatch、Semaphore、FutureTa <a href="https://www.cnblogs.com/wuchanming/p/10274907.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wuchanming/p/9457373.html
dubbo源码阅读 - Jessica程序猿
http://seekheap.com/posts/dubbo/dubbo-src-01-overview-and-debug-environment.html 先占坑
2018-08-10T12:58:00Z
2018-08-10T12:58:00Z
Jessica程序猿
https://www.cnblogs.com/wuchanming/
【摘要】http://seekheap.com/posts/dubbo/dubbo-src-01-overview-and-debug-environment.html 先占坑 <a href="https://www.cnblogs.com/wuchanming/p/9457373.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wuchanming/p/9294678.html
负载(Load)分析及问题排查 - Jessica程序猿
平常的工作中,在衡量服务器的性能时,经常会涉及到几个指标,load、cpu、mem、qps、rt等。每个指标都有其独特的意义,很多时候在线上出现问题时,往往会伴随着某些指标的异常。大部分情况下,在问题发生之前,某些指标就会提前有异常显示。 对于这些指标的理解和查看、异常解决等,是程序员们重要的必备技
2018-07-11T07:23:00Z
2018-07-11T07:23:00Z
Jessica程序猿
https://www.cnblogs.com/wuchanming/
【摘要】平常的工作中,在衡量服务器的性能时,经常会涉及到几个指标,load、cpu、mem、qps、rt等。每个指标都有其独特的意义,很多时候在线上出现问题时,往往会伴随着某些指标的异常。大部分情况下,在问题发生之前,某些指标就会提前有异常显示。 对于这些指标的理解和查看、异常解决等,是程序员们重要的必备技 <a href="https://www.cnblogs.com/wuchanming/p/9294678.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wuchanming/p/9248374.html
MySQL 数据库规范--调优篇(终结篇) - Jessica程序猿
前言 这篇是MySQL 数据库规范的最后一篇--调优篇,旨在提供我们发现系统性能变弱、MySQL系统参数调优,SQL脚本出现问题的精准定位与调优方法。 目录 1.MySQL 调优金字塔理论 2.MySQL 慢查询分析--mysqldumpslow、pt_query_digest工具的使用(SQL脚本
2018-06-30T10:54:00Z
2018-06-30T10:54:00Z
Jessica程序猿
https://www.cnblogs.com/wuchanming/
【摘要】前言 这篇是MySQL 数据库规范的最后一篇--调优篇,旨在提供我们发现系统性能变弱、MySQL系统参数调优,SQL脚本出现问题的精准定位与调优方法。 目录 1.MySQL 调优金字塔理论 2.MySQL 慢查询分析--mysqldumpslow、pt_query_digest工具的使用(SQL脚本 <a href="https://www.cnblogs.com/wuchanming/p/9248374.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wuchanming/p/9208496.html
AbstractQueuedSynchronizer - Jessica程序猿
1 简介 AbstractQueuedSynchronizer简称AQS是一个抽象同步框架,可以用来实现一个依赖状态的同步器。JDK1.5中提供的java.util.concurrent包中的大多数的同步器(Synchronizer)如Lock, Semaphore, Latch, Barrier等
2018-06-21T05:12:00Z
2018-06-21T05:12:00Z
Jessica程序猿
https://www.cnblogs.com/wuchanming/
【摘要】1 简介 AbstractQueuedSynchronizer简称AQS是一个抽象同步框架,可以用来实现一个依赖状态的同步器。JDK1.5中提供的java.util.concurrent包中的大多数的同步器(Synchronizer)如Lock, Semaphore, Latch, Barrier等 <a href="https://www.cnblogs.com/wuchanming/p/9208496.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wuchanming/p/9201103.html
为什么String被设计为不可变?是否真的不可变? - Jessica程序猿
1 对象不可变定义 不可变对象是指对象的状态在被初始化以后,在整个对象的生命周期内,不可改变。 2 如何不可变 通常情况下,在java中通过以下步骤实现不可变 注意:不用final关键字也可以实现对象不可变,使用final只是显示的声明,提示开发者和编译器为不可变。 3 Java中典型的不可变类为S
2018-06-19T13:07:00Z
2018-06-19T13:07:00Z
Jessica程序猿
https://www.cnblogs.com/wuchanming/
【摘要】1 对象不可变定义 不可变对象是指对象的状态在被初始化以后,在整个对象的生命周期内,不可改变。 2 如何不可变 通常情况下,在java中通过以下步骤实现不可变 注意:不用final关键字也可以实现对象不可变,使用final只是显示的声明,提示开发者和编译器为不可变。 3 Java中典型的不可变类为S <a href="https://www.cnblogs.com/wuchanming/p/9201103.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wuchanming/p/9190976.html
数据库 分库 分表 分区 - Jessica程序猿
我们知道,如果我们使用mysql,当数据库数据量达到一定数据量之后,会考虑对数据库进行分库分表等操作,但是在什么情况下做怎么的切分,下面分表介绍。 一、分库 1 分库原因 首先,在单台数据库服务器性能足够的情况下,分库对于数据库性能是没有影响的。在数据库存储上,database只起到一个namesp
2018-06-16T09:46:00Z
2018-06-16T09:46:00Z
Jessica程序猿
https://www.cnblogs.com/wuchanming/
【摘要】我们知道,如果我们使用mysql,当数据库数据量达到一定数据量之后,会考虑对数据库进行分库分表等操作,但是在什么情况下做怎么的切分,下面分表介绍。 一、分库 1 分库原因 首先,在单台数据库服务器性能足够的情况下,分库对于数据库性能是没有影响的。在数据库存储上,database只起到一个namesp <a href="https://www.cnblogs.com/wuchanming/p/9190976.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wuchanming/p/9185661.html
联合索引在B+树上的结构 - Jessica程序猿
一级索引 二级联合索引 假设这是一个多列索引(col1, col2,col3),对于叶子节点,是这样的: PS:该图改自《MySQL索引背后的数据结构及算法原理》一文的配图。 也就是说,联合索引(col1, col2,col3)也是一棵B+Tree,其非叶子节点存储的是第一个关键字的索引,而叶节点存
2018-06-14T17:14:00Z
2018-06-14T17:14:00Z
Jessica程序猿
https://www.cnblogs.com/wuchanming/
【摘要】一级索引 二级联合索引 假设这是一个多列索引(col1, col2,col3),对于叶子节点,是这样的: PS:该图改自《MySQL索引背后的数据结构及算法原理》一文的配图。 也就是说,联合索引(col1, col2,col3)也是一棵B+Tree,其非叶子节点存储的是第一个关键字的索引,而叶节点存 <a href="https://www.cnblogs.com/wuchanming/p/9185661.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wuchanming/p/9182460.html
序列化 - Jessica程序猿
一、什么是java序列化 首先谈一下什么是序列化, 序列化简单的来说,序列化会用在把一个对象、一个变量,以数据形式保留。比如把对象的二进制存在缓存、文件中。等需要的时候再次拿出来,反序列化为你想要的变量、对象。Java序列化即为,在现实应用中,就可能要求在JVM停止运行之后能够保存(持久化)指定的对
2018-06-14T04:12:00Z
2018-06-14T04:12:00Z
Jessica程序猿
https://www.cnblogs.com/wuchanming/
【摘要】一、什么是java序列化 首先谈一下什么是序列化, 序列化简单的来说,序列化会用在把一个对象、一个变量,以数据形式保留。比如把对象的二进制存在缓存、文件中。等需要的时候再次拿出来,反序列化为你想要的变量、对象。Java序列化即为,在现实应用中,就可能要求在JVM停止运行之后能够保存(持久化)指定的对 <a href="https://www.cnblogs.com/wuchanming/p/9182460.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wuchanming/p/9097259.html
内存溢出 - Jessica程序猿
1 内存溢出 1.1 堆内存溢出(outOfMemoryError:java heap space) 堆中的内存是用来生成对象实例和数组的,堆主要由新生代(eden区和两个survivor区组成)老年代、永久代。 a、由内存泄露导致,内存溢出 b、无法申请到足够的空间存放而导致的错误 1.2 方法区
2018-05-27T12:32:00Z
2018-05-27T12:32:00Z
Jessica程序猿
https://www.cnblogs.com/wuchanming/
【摘要】1 内存溢出 1.1 堆内存溢出(outOfMemoryError:java heap space) 堆中的内存是用来生成对象实例和数组的,堆主要由新生代(eden区和两个survivor区组成)老年代、永久代。 a、由内存泄露导致,内存溢出 b、无法申请到足够的空间存放而导致的错误 1.2 方法区 <a href="https://www.cnblogs.com/wuchanming/p/9097259.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wuchanming/p/9044798.html
Spring-bean的循环依赖以及解决方式 - Jessica程序猿
链接:https://blog.csdn.net/u010853261/article/details/77940767 https://www.jianshu.com/p/6c359768b1dc
2018-05-16T02:52:00Z
2018-05-16T02:52:00Z
Jessica程序猿
https://www.cnblogs.com/wuchanming/
【摘要】链接:https://blog.csdn.net/u010853261/article/details/77940767 https://www.jianshu.com/p/6c359768b1dc <a href="https://www.cnblogs.com/wuchanming/p/9044798.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wuchanming/p/9043672.html
JUC中Lock和ReentrantLock介绍及源码解析 - Jessica程序猿
Lock框架是jdk1.5新增的,作用和synchronized的作用一样,所以学习的时候可以和synchronized做对比。在这里先和synchronized做一下简单对比,然后分析下Lock接口以及ReentrantLock的源码和说明。具体的其他的Lock实现的分析在后面会慢慢介绍。 Loc
2018-05-15T15:16:00Z
2018-05-15T15:16:00Z
Jessica程序猿
https://www.cnblogs.com/wuchanming/
【摘要】Lock框架是jdk1.5新增的,作用和synchronized的作用一样,所以学习的时候可以和synchronized做对比。在这里先和synchronized做一下简单对比,然后分析下Lock接口以及ReentrantLock的源码和说明。具体的其他的Lock实现的分析在后面会慢慢介绍。 Loc <a href="https://www.cnblogs.com/wuchanming/p/9043672.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wuchanming/p/9025601.html
RocketMQ阅读注意 - Jessica程序猿
1 队列个数设置 producer发送消息时候设置,特别注意:同一个topic仅当第一次创建的时候设置有效,以后修改无效,除非修改broker服务器上的consume.json文件,
2018-05-11T09:03:00Z
2018-05-11T09:03:00Z
Jessica程序猿
https://www.cnblogs.com/wuchanming/
【摘要】1 队列个数设置 producer发送消息时候设置,特别注意:同一个topic仅当第一次创建的时候设置有效,以后修改无效,除非修改broker服务器上的consume.json文件, <a href="https://www.cnblogs.com/wuchanming/p/9025601.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wuchanming/p/9013365.html
RocketMQ环境搭建 - Jessica程序猿
1 源码下载 2 启动namesrv 结果出错: 修改runserver.sh 和 runbroker.sh 文件,将 [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/user/java 改为 [ ! -e "$JAVA_HOME/bin/java" ] &
2018-05-09T03:54:00Z
2018-05-09T03:54:00Z
Jessica程序猿
https://www.cnblogs.com/wuchanming/
【摘要】1 源码下载 2 启动namesrv 结果出错: 修改runserver.sh 和 runbroker.sh 文件,将 [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/user/java 改为 [ ! -e "$JAVA_HOME/bin/java" ] & <a href="https://www.cnblogs.com/wuchanming/p/9013365.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wuchanming/p/9013330.html
HSF源码阅读 - Jessica程序猿
HSF各组成之间的关系 1 服务提供者注册与发布 首先服务发布初始化bean,HSFSpringProviderBean实现了Spring的3个接口,将HSF的publish和Spring容器的生命周期绑定在一起。 1)InitializingBean,实现afterPropertiesSet接口,
2018-05-09T03:46:00Z
2018-05-09T03:46:00Z
Jessica程序猿
https://www.cnblogs.com/wuchanming/
【摘要】HSF各组成之间的关系 1 服务提供者注册与发布 首先服务发布初始化bean,HSFSpringProviderBean实现了Spring的3个接口,将HSF的publish和Spring容器的生命周期绑定在一起。 1)InitializingBean,实现afterPropertiesSet接口, <a href="https://www.cnblogs.com/wuchanming/p/9013330.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wuchanming/p/8977839.html
最近找工作,有招JAVA开发的可以联系我,如果不嫌弃我2年前用C,也可以联系我 - Jessica程序猿
java涉及到的技术工具:HSF、Pandora、Notify、Metaq、Diamond、Tddl、ScheduleX、精卫、Switch、BCP、Tair、Hbase、Mysql、Ads、Tlog、Eagleeye、 工作工具及环境:idea、maven、git、mybatis、ibatis 其
2018-05-01T14:27:00Z
2018-05-01T14:27:00Z
Jessica程序猿
https://www.cnblogs.com/wuchanming/
【摘要】java涉及到的技术工具:HSF、Pandora、Notify、Metaq、Diamond、Tddl、ScheduleX、精卫、Switch、BCP、Tair、Hbase、Mysql、Ads、Tlog、Eagleeye、 工作工具及环境:idea、maven、git、mybatis、ibatis 其 <a href="https://www.cnblogs.com/wuchanming/p/8977839.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wuchanming/p/8837792.html
Spring Extensible XML - Jessica程序猿
Spring框架从2.0版本开始,提供了基于Schema风格的Spring XML格式用来定义bean的扩展机制。引入Schema-based XML是为了对Traditional的XML配置形式进行简化。通过Schema的定义,把一些原本需要通过几个bean的定义或者复杂的bean的组合定义的配置
2018-04-14T16:20:00Z
2018-04-14T16:20:00Z
Jessica程序猿
https://www.cnblogs.com/wuchanming/
【摘要】Spring框架从2.0版本开始,提供了基于Schema风格的Spring XML格式用来定义bean的扩展机制。引入Schema-based XML是为了对Traditional的XML配置形式进行简化。通过Schema的定义,把一些原本需要通过几个bean的定义或者复杂的bean的组合定义的配置 <a href="https://www.cnblogs.com/wuchanming/p/8837792.html" target="_blank">阅读全文</a>