- 博客(24)
- 收藏
- 关注
原创 MySQL知识点整理
该全局row_id在代码实现上使用的是bigint unsigned类型,但实际上只给row_id留了6字节,这种设计就会存在一个问题:如果全局row_id一直涨,一直涨,直到2的48幂次-1时,这个时候再+1,row_id的低48位都为0,结果在插入新一行数据时,拿到的row_id就为0,存在主键冲突的可能性。参考上边的执行步骤,在子查询中还是会使用age索引树的叶子组成的链表进行遍历,时间复杂度只有O(N),而且这些二级索引一般来说都是在内存中的,没有读盘操作。报主键冲突,是插入失败,影响的是可用性。
2023-07-04 22:27:11
336
原创 spring boot启动原理分析
步骤7中的refreshContext,会调用context的refresh方法,然后refresh方法中的invokeBeanFactoryPostProcessors会将注册到容器中的BeanFactoryPostProcessor类型的bean(如ConfigurationClassPostProcessor类),执行对应的postProcess方法去处理bean。是启动自动配置的注解,配合springboot中的starter模块进行自动注册功能。扫描bean,并注册到spring ioc容器中。
2023-06-27 22:55:45
2065
原创 mybatis防注入
预先编译好,也就是SQL引擎会预先进行语法分析,产生语法树,生成执行计划,也就是说,后面你输入的参数,无论你输入的是什么,都不会影响该SQL语句的语法结构了,因为语法分析已经完成了,而语法分析主要是分析sql命令,比如select,from,where,and,or,order by等等。数据库在执行该语句时,直接使用预编译的语句,然后用传入的userId替换占位符?$ {}是未经过预编译的,仅仅是取变量的值,是非安全的,存在SQL注入。# {}是经过预编译的,是安全的;$ {}:是输出变量的值。
2023-06-10 21:53:36
2173
原创 String的理解
intern 方法是一个native方法,intern方法会从字符串常量池中查询当前字符串是否存在,如果存在,就直接返回当前字符串;1.2.2 对于final修饰的变量,它在编译时被解析为常量值的一个本地拷贝存储到自己的常量池中或嵌入到它的字节码流中 (如果是final修饰的方法,那么只能运行期间确定,则跟此处的result不一致)2)String对象的intern方法会得到字符串对象在常量池中对应的引用,如果常量池中没有对应的字符串,则该字符串将被添加到常量池中,然后返回常量池中字符串的引用;
2023-06-10 21:29:46
587
原创 (一)JAVA CPU占用过高问题排查(linux)
JAVA CPU占用过高问题排查(linux)最近发现有一个服务在服务器上无响应,到服务器上一看,好家伙,java进程CPU一直100%以上简单记录下我对这个问题的跟踪首先当然要看下具体是java中哪个线程一直在占用cpu时间哈(说明下,我的java进程号是 26178)1.根据java进程ID进行CPU占用排查 ps -mp 26178 -o THR
2016-06-12 23:47:48
17036
原创 jvisualvm连接远程jvm实例
远程监控服务端及本地jvm均为jdk 1.8版本1.启动jstatd服务(RMI服务)(在需要监控的远程服务端启动jstatd)jstatd位于jdk的bin目录下竟如下内容写到jstatd.all.policy文件中,并且把该文件放在jdk的bin目录中grant codebase "file:${java.home}/../lib/tools.jar" { per
2016-06-10 00:47:31
5938
原创 python 多继承(新式类) 三
深入super以下内容引用自:http://www.cnblogs.com/lovemo1314/archive/2011/05/03/2035005.html,写的挺好的。代码段3class A(object): # A must be new-style class def __init__(self): print "enter A" print "le
2016-03-31 23:29:33
471
原创 python 多继承(新式类) 二
在python中,要调用父类的某个方法,python2.2之前需要如下代码:class A:def __init__(self): print "enter A" print "leave A"class B(A):def __init__(self): print "enter B" A.__init__(self) print "leave B"
2016-03-18 13:06:32
505
原创 python多继承(新式类)一
最近在学习python的多重继承。先来了解下多重继承的概念,所谓多重继承,是指python的类可以有两个以上父类,也即有类A,类B,类C,C同时继承类A与类B,此时C中可以使用A与B中的属性与方法。那么问题来了,如果A与B中具有相同名字的方法,这个时候python怎么调用的会是哪个方法呢? 举个例子:class A(object): def __init__(s
2016-03-14 23:15:43
585
原创 shell与aw的简单交互示例
先来看一段shell代码word=“a test name”selectword=“test"lineitem=`echo "$word" | awk 'match($2,"'$selectword'"){print $0}'`echo lineitem解析:字符串word中第二个字段匹配selectword则输出该行1.awk中通过"''"访问shel
2016-03-14 23:09:50
555
原创 awk一些简单命令
最简单地说, AWK 是一种用于处理文本的编程语言工具。AWK 在很多方面类似于 shell 编程语言,尽管 AWK 具有完全属于其本身的语法。尽管操作可能会很复杂,但命令的语法始终是:awk '{pattern + action}' 或者 awk 'pattern {action}'其中 pattern 表示 AWK 在数据中查找的内容,而 action 是在找到匹配内容
2016-03-14 23:07:55
529
原创 zookeeper集群安装示例
最近刚好重新安装了zookeeper集群,记个笔记,供参考。安装步骤记录如下:环境zookeeper版本:3.4.6,集群 节点个数 31.准备工作下载linux版本 zookeeper3.4.6(官网:http://zookeeper.apache.org/),复制到所有机器上,tar命令解压2.修改配置zoo.cfg配置定位到zookeeper的
2016-02-02 15:44:52
444
原创 ActiveMQ 安装配置
ActiveMQ版本5.10.0,3个节点 failover配置1.从官网下载MQ,传送到三台服务器,并解压2.修改配置文件1).brokerId根据服务器进行编号2).消息挂起的数目设置,此处设置为1000条 3).消息持久化策略设置此处以leveldb为例
2016-02-02 15:43:25
1187
原创 windows 下Apache2.4与PHP5.6安装
1.安装软件 Apache 2.4.16 PHP 5.6.11Apache下载地址:http://www.apachelounge.com/download/VC11/ (后面再解释为什么不直接从apache.org下载)PHP下载地址:http://windows.php.net/download#php-5.52.Apache 安装解压Apache,进入Apa
2015-07-21 23:26:34
919
原创 windows7 64bit下使用service方式mongodb2.6
在anz安装mongodb2.6为windows service服务的时候碰到的问题如下:
2014-04-19 01:54:27
1360
原创 快速排序的一种实现
百度百科中关于快速排序的介绍是这样的:快速排序即快速排序算法。快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数
2014-04-10 22:12:41
726
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人