自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Apollo/Nacos配置动态刷新原理及优劣

Apollo、nacos配置动态刷新的原理及优劣对比

2023-02-10 17:40:32 3861 5

原创 Android核心知识简记

【代码】Android核心知识简记。

2022-09-23 16:53:35 911

原创 基于jmeter的activemq的测试教程

前言在进行新架构相关服务的开发测试过程中,为了测试应用 , 需要经常进行MQ消息的发送 , 目前采用的MQ消息的发送是在MQ官方提供的Web页面上面进行的,但是在该页面上测试存在诸多不方便的地方,比如每次都要找到对应的队列,再找到对应的消息复制过去 , 若需要测试多个队列 , 这样进行频繁的切换会非常麻烦 , 为便于MQ的测试 , 本来我想写个工具去处理这个问题 , 后来发现原来Jmeter就可以胜任 , 因此有了这篇教程 , 送给有缘人步骤从官网下载Jmeter , 推荐下载5.0版本 ,

2020-06-22 23:48:40 1095

原创 docker常用命令精简版

列出所有镜像 docker images列出所有正在运行的容器 docker ps列出所有的容器 docker ps -a删除所有容器 docker rm $(docker ps -aq)停用并删除所有的容器 docker stop $(docker ps -q) & docker rm(docker ps -aq)删除指定镜像 docker rmi 镜像ID开启一个容器 docker run -dit <imageID> /bin/bash进入容器docker&nbs.

2020-06-22 23:29:28 311

原创 虚拟机核心汇总

参数含义-Xmx代表最大堆容量,-Xms代表最小堆容量-XX:PermSize , -XX:MaxPermSize表示最大方法区容量-Xss设置栈容量判断对象是否存活的算法引用计数算法给对象中添加一个引用计数器,每当有一个地方引用它是,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。缺点:无法解决对象之间相互循环引用的问题。可达性分析算法(Java,C#)通过一系列称为"GC Roots"的对象作为起始点,从这些节点开始向下搜索,搜

2020-06-22 23:26:33 573

原创 数据结构与Java

红黑树左旋右旋速记口令:父与左子为右旋,旋完子右变父左,其他都不变。父与右子为左旋,旋完子左变父右,其他都不变。红黑树之插入将新插入结点染为红色WHILE若新插入点不为null,不是根结点,并且其父结点颜色为红色IF若当前结点的父结点是当前结点的爷爷结点的左子结点IF若当前结点的叔叔结点为红将当前结点的父结点染为黑将叔叔结点染为黑将爷爷结点染为红将爷爷结点置为当前结点ELSE若当前结点的叔叔结点颜色为黑或NULL若当前结点为右子结点将父结点置为当前结点左旋当前结点

2020-06-22 23:24:28 155

原创 Linux服务器搭建之CentOS7(64位)常用命令总结及常用软件安装(java)

本文记录的命令都是在CentOS7 64位系统上执行的,其他系统不一定适用防火墙常用操作firewalld的基本使用启动: systemctl start firewalld查看状态: systemctl status firewalld停止: systemctl disable firewalld禁用: systemctl stop firewalld添加例外端口: firewall-cmd --zone=public --add-port=80/tcp --permanent(–per.

2020-06-22 23:22:27 451

原创 ActiveMQ集群消息同步机制

ActiveMQ集群为主从集群, 一个主结点服务器, 其他为从结点服务器, 在主结点服务器接收到消息后,会将消息同时同步到其他从结点服务器, 因此, 当主结点服务器异常挂掉时, 会在从结点中选举出一个新的主结点, 继续提供服务,而且未消费的消息不会异常丢失.证明:初始界面:初始状态下三个leveldb日志均为:现在利用web管理界面发送一条测试消息:此时, 三个leveldb中的日志均变为了:由上图可看出在此时集群中的MQ都有接收到消息,并且对该消息进行了存储..

2020-06-22 23:17:26 1158 1

原创 ActiveMQ消息消费流程及优化

ActiveMQ默认情况下是开启事务的吗?MQ默认情况下是没有开启事务的 , MQ将消息推送给消费者后, 消费者会立即向服务器确认该消息已被消费,之后才进行该条消息的处理逻辑为什么在应用中有事务开启?这是因为在vz-service-config 中activeMq.xml 中开启了事务,如下:<bean id="defaultMessageQueueListener" class="org.ice.jee.spring.mq.core.handler.JeeSpringQueu..

2020-06-22 23:08:44 1040

原创 六. 怎么减少行锁对性能的影响

InnDB 行锁添加和释放的时机(两阶段锁协议指的是什么?)在InnoDB事务中,行锁是在需要的时候才加上的,但并不是不需要了就立刻释放,而是要等到事务结束时才释放。这个就是两阶段锁协议。提示:如果一个事务需要锁多行,那么要把最可能造成锁冲突、最可能影响并发度的锁往后放。InnoDB进入死锁后的两种处理策略是什么?一种策略是直接进入等待,直到超时,超时时间可以通过参数:innodb_lock_wait_timeout 设置,该参数默认值为50s(推荐) 另一种策略是,发现死锁后,进.

2020-05-30 00:36:12 155

原创 五. 全局锁和表锁

全局锁全局锁就是对整个数据库加锁,MySQL提供的有一种加锁的方法,命令是 Flush tables with read lock (FTWRL),加锁后,DML,DDL操作都将被阻塞全局锁的使用场景?若是在进行数据库备份的时候没有加全局锁,会导致备份系统备份得到的库不是一个逻辑时间点,这个视图就是逻辑不一致的InnoDB更好的全局加锁的方式是怎样的?由于InnoDB支持可重复读,因此可以使用mysql的逻辑备份工具,加上参数 -single-transaction,达到导数据之前就先开

2020-05-29 00:02:41 136

原创 四. 深入浅出索引

索引的常见模型哈希表解释哈希表是一种键值存储数据的结构,用一个哈希函数把键key换算成数组的一个确定的位置,把值放在数组对应的位置里,不可避免的,若是多个key值经过哈希函数换算,会得到同样的值,这时候会将要存储的值以链表的方式进行存储适用场景适用于只有等值查询的场景,若是牵涉到范围查询,由于哈希表存储值的时候并不是顺序存储的,无法精确的定位要查找的值在某一个相对精确的范围内,查的时候甚至不得不遍历所有的元素,就会导致查询速度慢的问题有序数组适用场景适用于等值查询和范围查询,由于其是有

2020-05-28 16:10:08 127

原创 三.事务隔离

事务的隔离级别读未提交(read uncommited) 一个事务还没提交时,它做的变更就能被别的事务看到读提交(read commited) 一个事务提交之后,它做的变更才会被其他事务看到。可重复读(repeatable read) 一个事务执行过程中看到的数据,总是跟这个事务在启动时看到的数据是一致的。当然在可重复读隔离级别下,未提交变更对其他事务也是不可见的。串行化(serializable )顾名思义是对于同一行记录,“写”会加“写锁”,“读”会加“读锁”。当出现读写锁冲突的时候,后访问.

2020-05-28 00:57:04 107

原创 二.一条SQL更新语句是如何执行的

redo log 怎么理解?答:由于在 MySQL 里,如果每一次的更新操作都需要写进磁盘,然后磁盘也要找到对应的那条记录,然后再更新,整个过程 IO 成本、查找成本都很高。为了解决这个问题,InnoDB引入了redo log的设计,用的是WAL 技术,WAL 的全称是 Write-Ahead Logging,它的关键点就是先写日志,再写磁盘,先用redo log将数据写入内存,将本次操作写入物理日志(持久化到硬盘),然后再在空闲的时候将数据同步到磁盘中,注意,redo log是将更新的数据直接的先写入.

2020-05-28 00:44:50 164

原创 一. 一条SQL查询是如何执行的

MySQL的基本逻辑架构是怎样的?如下图所示,MySQL基本逻辑架构主要分为server层和存储引擎层,server层主要包括 连接器、分析器、优化器、执行器、查询缓存这些,存储引擎层负责数据的存储和提取。其架构模式是插件式的如何查看与当前数据库建立的所有的连接的状态?show processlist与客户端建立连接默认超时时间是?答:八个小时有时候MySQL占用的内存长的特别快,可能的原因是?答:MySQL在执行过程中临时使用的内存是管理在连接对象里面的,这些资源会在连接断开时才释.

2020-05-27 23:35:04 121

原创 RocketMQ本地安装教程

这两天在安装RocketMQ时,发现官网上给的安装方案太简略了。。。安装完毕后服务根本无法启动,特出本教程记录一下,以备日后使用安装及验证流程下载 rocketmq 安装包,目前最新为 4.4.0 ,点击下载:rocketmq-all-4.4.0-bin-release.zip解压压缩包: unzip rocketmq-all-4.4.0-bin.release.zip进入bin文...

2019-07-30 18:16:32 2096

原创 RestTemplate添加HTTPS证书全过程

证书的下载先通过浏览器将未签名验证的证书保存到本地, 点击 不安全–> 证书–> 详细信息 --> 复制到文件 然后默认选择 起一个文件名 , 保存即可, 比如我将证书保存在了桌面 , 命名为 xx.cer证书导入JDK若是想要在项目中用到证书 , 需要先将证书导入到JDK的证书管理里面, 导入命令如下:keytool -import -noprompt -trus...

2019-04-22 22:13:39 14748

原创 Centos 创建开机自启服务

编辑rc.local文件: vim /etc/rc.local写入需要开机自启的命令:/root/app/frp/frps -c /root/app/frp/frps.ini &gt; /root/app/frp/logs/frps_`date +%Y%m%d`.log 2&gt;&amp;1 &amp;完毕!

2018-12-12 16:33:52 223

原创 LeetCode 数据库模块刷题纪要

解答所选数据库均为MySQL,以下解答并非最佳解答,若有最佳解答,欢迎留言交流~难度:简单175.组合两个表select p.FirstName,p.LastName,a.City,a.State from Person pleft join Address a onp.PersonId=a.PersonId;176.第二高的薪水select IFNULL ...

2018-08-25 18:38:21 238

转载 Oracle快速创建百万数据

create table myTestTable as select rownum as id, to_char(sysdate + rownum/24/3600, 'yyyy-mm-dd hh24:mi:ss') as inc_datetime, trunc(dbms_random.value(0, 100)) as random_i...

2018-07-24 09:39:06 1922

原创 git同步项目至GitHub纯命令行步骤(Windows版)

在电脑上下载并安装git,下载地址在电脑中新建文件夹用于存放git仓库在该文件夹内按住Shift+鼠标右键,然后选择bash here在弹出的黑窗口中输入ssh-keygen -t rsa -C "yourmail@xxx.com"用于生成git秘钥,有任何提示统统回车,然后就会在电脑C盘的用户目录下面生成一个.ssh文件,里面包含两个文件id_rsa,id_rsa.pub,右键id_rsa.

2017-12-02 18:31:43 1898

原创 Failed to create the java virtual machine的最终解决办法

此问题一般出现在Windows 32位的系统上,网上好多的解决办法,但是,然并卵,什么设置内存大小,256改成128,没一点用,而且网上的博客老是复制抄袭,贼烦,浪费时间,各种尝试后确定了最终的解决方案如下:找到eclipse的安装目录,找到eclipse.ini文件,在–launcher.appendVmargs下添加一行:-vm(空格)javaw.exe的完整路径,javaw.exe在JDK的

2017-09-28 21:44:03 1544

原创 eclipse快捷键总结(绝对有用!)

前言网上虽然已经存在各种各样的eclipse快捷键的总结,但是大部分都是复制粘贴别人的,而且要么快捷键总结的太多有些根本没有记的必要,有的总结的又太少不够使。因此我才会发这个博文,全面但不邋遢,试过都知道~~快捷键总结单个文本内常用快捷键–编辑Ctrl+D 删除当前光标所在行Alt+↓ 当前行和下面一行交互位置Alt+↑ 当前行和上面一行交互位置Ctrl+Alt+↓ / ↑ 将当前行

2017-08-02 19:03:56 760 1

原创 HTML、CSS总结

前言怎么说HTML、CSS呢?对于我一个搞后端的来说,HTML、CSS这些东西因为用的很少,但是有时候领导脑门抽了非得让我写。。。虽然这些东西学起来简单,但是用的少的话真的很容易忘掉的啊。。。而且HTML、CSS还不像后台JavaEE一样有一大套的前后逻辑在里面,理解了逻辑基本上技术就不容易忘记了。但是HTML、CSS都是一堆各种标签、各种属性,没多大逻辑可言,我觉着要想学的好除非多用、多记、多背、

2017-04-06 18:34:20 462

原创 JavaScript简单综合总结

前言经过这些天对JavaScript各方面的了解,个人觉得JavaScript基础及核心(不包括其高级用法)大概可分为6类:原生内置对象、BOM、DOM、JSON、Ajax、事件。接下来就分别针对这6类做一个简单的总结,以供以后复习用。原生内置对象Array数组 创建数组的几种方式 var beat = Array();var beat = Array(4);//指定数组的长度var be

2017-04-02 12:29:54 638

原创 JavaScript中JSON的解析与序列化

stringify()把JavaScript对象序列化为JSON字符串var book = { title: "Professional JavaScript", authors: [ "Nicholas C. Zakas" ], edition: 3, year: 2011}var jsonText = JSON.stringify(bo

2017-04-02 10:58:50 958

原创 JavaScript对象字面量(即JavaScript用户自定义对象)与JSON字符串的区别:

JavaScript对象字面量: var user = { name:"张三", age:10, eat:function(){ alert("eat food"); } };JSON: { "name":"张三", "age":10, "s

2017-04-02 10:31:23 995

转载 jQuery函数attr()和prop()的区别

本文转载自:http://www.365mini.com/page/jquery-attr-vs-prop.htm在jQuery中,attr()函数和prop()函数都用于设置或获取指定的属性,它们的参数和用法也几乎完全相同。但不得不说的是,这两个函数的用处却并不相同。下面我们来详细介绍这两个函数之间的区别。1、操作对象不同很明显,attr和prop分别

2017-03-30 21:10:01 356

转载 解释型语言与编译型语言的区别

解释型语言在运行的时候将程序翻译成机器语言,然后执行。例如JavaScript、Python、C#、Java编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候就不用再进行翻译了。易混点Java不是也有一个编译过程吗?为什么还说Java为解释型语言呢? Java虽说是有一个编译的过程,但是并不是将程序编译成机器语言的,而是将它编译成字节码(cla

2017-03-30 16:38:13 750

原创 JavaScript之DOM对象与BOM对象的关系

BOM对象JavaScript向程序员提供了一种操作Web浏览器的手段,例如,Javascript语言可以用来调整Web浏览器窗口的高度,宽度和屏显位置等属性。(引用自JavaScript+DOM编程艺术)JavaScript是一门基于对象的脚本语言,因此它要做某些操作的话必须要有一些对象。基于以上两者之间的联系,可以这样进行理解:BOM对象是JavaScript为了操作WEB浏览器本身的一些

2017-03-29 17:04:31 4135

原创 硬刚Spring

面试官:谈谈你对Spring的理解。 maeeki:首先先从Spring起源说起,为什么会出现Spring这种技术呢? 一方面,因为随着Java流行,Java相关框架也越来越多,但是一个框架出现的时候通常不会过多的考虑与另一个框架之间的契合度,因此当多个框架结合开发时会变得复杂;另一方面,传统的开发方式中,普遍是用到什么对象时直接采用硬编码的方式new一个该对象,使得程序之间的耦合度较高,不利于进

2017-03-07 20:59:18 642 1

原创 Spring4+SpringMVC+Mybatis3框架整合

Spring4+SpringMVC+Mybatis3框架整合相较于SSH框架而言,个人更喜欢SSM的开发方式,因为SpringMVC框架相比于Struts2框架,一是与Spring的无缝整合,二是更简单明了的映射配置,三是对请求参数的获取,以及响应参数的回写的简便性(个人最恶心Struts2的属性驱动与模型驱动,好好地一个控制类有时候一大半代码都是写的属性驱动了,一大堆的setter,getter方

2017-02-23 13:19:58 421

原创 oracle客户端PL/SQL安装简易教程

前言:oracle客户端有很多,市面上最常用的是PL/SQL,另外还有navicat for oracle,toad for oracle,以上两个都收费,还有一个为oracle官方推出的免费oracle操作工具:sqldeveloper,用着也不错,而且自带中文,但是,为什么不用它呢?因为它太占内存。。。而我的电脑辣鸡。。。只好用破解版的PL/SQL了。支持正版,支持正版,支持正版~首先说下PL...

2017-01-06 23:25:49 5403

原创 struts2_hibernate5_spring4整合的一般步骤及其注意事项

整合逻辑:先整合spring,再整合hibernate,最后整合Struts2.spring整合:1.导入相关jar包:导入spring相关jar包:ioc,aop,tx,web,junit整合包2.在src目录下创建config.spring的包,在其中创建applicationContext.xml文件,引入约束文件。本项目IOC与DI均采用注解的方式实现<beans xml

2016-12-27 22:54:02 2904

原创 struts2基本配置文件

Struts2基本配置文件对应Struts2版本为2.3.24

2016-12-26 11:20:10 356

原创 hibernate配置文件hibernate

hibernate基本xml配置

2016-12-26 11:10:48 339

原创 第十七节:集合框架三 Set集合 (个人总结)

Set相关概述Set集合概述及特点概述:无序,无索引,不可重复特点:Set接口方法和Collection方法完全一致,没有任何特性方法.Set与List的区别与联系区别List接口有序,有索引,可存储重复值比Collection多了根据索引去add(),addAll(),get(),indexOf(Object o),lastIn

2016-10-10 23:33:52 639

转载 第十七节:集合框架三 Set集合 (讲师笔记)

17.01_集合框架(HashSet存储字符串并遍历)A:Set集合概述及特点通过API查看即可B:案例演示HashSet存储字符串并遍历HashSet hs = new HashSet<>();boolean b1 = hs.add("a");boolean b2 = hs.add("a"); //当存储不成功的时候,返回false

2016-10-10 23:31:51 787

转载 第十六节:集合框架二List与泛型(讲师笔记)

16.01_集合框架(去除ArrayList中重复字符串元素方式)(掌握)A:案例演示需求:ArrayList去除集合中字符串的重复值(字符串的内容相同)思路:创建新集合方式/** * A:案例演示 * 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同) * 思路:创建新集合方式 */public static void main(

2016-10-10 23:27:17 716

原创 第十五节:集合框架一(个人总结)

集合框架结构图:Collection(单列集合的根接口)List有序(存和取的顺序一致),有索引可以存储重复ArrayList数组实现LinkedList链表实现Vector数组实现Set无序(存和取得顺序不一致)不可以存储重复HashSet 哈希算法TreeSet 二叉树算法对于类ArrayList其底层数据结构为数组,但是数组的长度不

2016-10-08 19:54:51 492

空空如也

空空如也

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

TA关注的人

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