- 博客(21)
- 资源 (34)
- 收藏
- 关注
原创 一文搞懂数据库事务
一、MySQL事务事务就是一组原子性的SQL执行单元。如果数据库引擎能够成功地对数据库应 用该组査询的全部语句,那么就执行该组SQL。如果其中有任何一条语句因为崩溃或其 他原因无法执行,那么所有的语句都不会执行。要么全部执行成功(commit),要么全部执行失败(rollback)。二、并发场景下事务存在的数据问题下面我们介绍一下脏读(dirty read)、不可重复读(non-repeatable read)、幻读(phantom read)这三类并发问题,以及每种问题出现的原理及场.
2021-06-21 17:16:06 419
原创 不小心敲了 rm -rf / 后反应是怎样的?
某通信公司,HK某运营商项目,某中间件产品,实时系统,三期割接上线。因为一期二期已经上线,现网系统已经承载C网200w用户。连续两晚通宵,终于成功割接,系统运行正常。一觉醒来,下午四点,业务高峰,登录系统检查状态,运行正常,但发现系统后台目录下有11个昨晚操作留下临时文件,一共都不到1M的样子。完美主义者+强迫症患者。没经客户允许,打算直接删除。好了,事情来了。业务操作员,应用后台home目录下,rm -rf ./*XXXX* 不知道怎么敲成了rm -rf ./* XXXX* 。多了个空格。
2021-06-15 19:25:13 1084
转载 hash索引跟B树索引的区别
Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。 可能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大家不都用 Hash 索引而还要使用 B-Tree 索引呢?任何事物都是有两面性的,Hash 索引也一样,虽然 Hash 索引效率高,但是 Hash 索引本身由于其特殊性也带来了很多限制和弊端,主要...
2021-06-15 10:23:54 233
原创 平衡二叉树(AVL Tree)
平衡二叉树(AVL树)是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。也就是说在符合二叉查找树的条件下,它还满足任何节点的两个子树的高度最大差为1。下面的两张图片,左边是AVL树,它的任何节点的两个子树的高度差<=1;右边的不是AVL树,其根节点的左子树高度为3,而右子树高度为1;如果在AVL树中进行插入或删除节点,可能导致AVL树失去平衡,这种失去平衡的二叉树可以概括为四种姿态:LL(左左)、RR(右右)、LR(左右)、RL(右左)。它们的示意图如下:
2021-06-12 10:41:44 452
原创 一文弄懂索引数据结构 B+Tree
索引在 MySQL 数据库中分三类:B+ 树索引 Hash 索引 全文索引我们今天要介绍的是工作开发中最常接触到的 InnoDB 存储引擎中的 B+ 树索引。一、什么是索引?二、索引的优缺点三、B+树的演变过程1、二叉查找树2、平衡二叉树3、B-Tree(平衡多路查找树、B树)4、B+Tree四、聚集索引和非聚集索引区别五、B+比B树更适合实际应用中操作系统的文件索引和数据库索引六、索引相关知识点一、什么是索引? 在关系数据库中,索引是一种单
2021-06-12 10:14:23 1393
原创 浅谈JVM和.Class
Java 生态圈Java是目前应用最为广泛的软件开发平台之一。随着Java以及Java社区的不断壮大Java 也早已不再是简简单单的一门计算机语言了,它更是一个平台、一种文化、一个社区。作为一个平台,Java虚拟机扮演着举足轻重的作用,Groovy、Scala、JRuby、Kotlin等都是Java平台的一部分 作为一种文化,Java几乎成为了“开源”的代名词。第三方开源软件和框架,如Tomcat、Struts,MyBatis,Spring等;就连JDK和JVM自身也有不少开源的实现,如openJ
2021-03-30 19:44:52 201 1
原创 一文了解HashMap源码
一、HashMap 存储结构 HashMap是数组+链表+红黑树(JDK1.8增加了红黑树部分)实现的,如下图所示:先看下Node<K,V> 类用来实现数组及链表的数据结构,主要有以下成员变量,final int hash; //保存节点的 hash 值final K key; //保存节点的 key 值V value; //保存节点的 value 值Node<K,V> next; //指向链表结构下的当前节点的 next 节点还有
2021-03-16 16:06:47 186 2
原创 浅谈synchronized底层原理
如果某一个资源被多个线程共享,为了避免因为资源抢占导致资源数据错乱,我们需要对线程进行同步,那么synchronized就是实现线程同步的关键字一、synchronized的特性1.1 原子性所谓原子性就是指一个操作或者多个操作,要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。被synchronized修饰的类或对象的所有操作都是原子的,因为在执行操作之前必须先获得类或对象的锁,直到执行完才能释放,这中间的过程无法被中断(除了已经废弃的stop()方法),即保证了原子性。注
2021-03-10 17:24:54 635
转载 浅述JAVA内存区域和JAVA内存模型
Java内存区域介绍 方法区(Method Area) 又称Non-Heap(非堆),主要用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据,根据Java 虚拟机规范的规定,当方法区无法满足内存分配需求时,将抛出OutOfMemoryError 异常。值得注意的是在方法区中存在一个叫运行时常量池(Runtime Constant Pool)的区域,它主要用于存放编译器生成的各种字面量和符号引用,这些内容将在类加载后存放到运行时常量池中,以便后续使用。 堆(Jav
2021-03-10 14:13:17 113
原创 LTE Admin bootstrap后台模版(中文版)+bootstrap.addtabs.js页签
本文主要说明bootstrap后台模版Admin LTE(中文版)集成【bootstrap.addtabs.js】实现Tab页联动。实现的目标是:1、不改动Admin LTE的模板框架(Bootstrap v3.4.1);2、tab页的加载默认使用ajax的get方式,详见(bootstrap.addtabs.js);不用iframe;3、侧边菜单栏与tab页的联动; 4、右键菜单(关闭左侧、右侧、其他...
2021-03-04 19:55:20 2046 5
原创 springboot整合activeMq的使用,队列,主题,消息手动确认,重发机制
1.springboot项目搭建;可本地启动activemq项目,直接官网下载后,启动即可。springboot项目搭建两个模块(zj-producer,zj-consumer),分别模拟生产值和消费者;2.队列消息(点对点模式),主题订阅模式;队列消息是点对点模式,生产方生产一条消息只能给一个消费方消费。主题订阅模式,生产方的一条消息可同时下发给多个订阅该主题的消费方去使用和消费。3.消息手动确认;消息手动确认,主要用于消费方是否由于异常等原因,未处理完该消息;因此只有手动
2021-02-22 10:37:41 1125 1
原创 zookeeper集群+服务集群+nginx负载均衡
上一篇文章我们讲了springboot+zookeeper+dubbo(https://blog.csdn.net/zjcool2012/article/details/113188910),我们搭建了一个基础的dubbo项目;但是我们会想到,真实的生产环境,保证服务高可用肯定不是这样的架构,这就得提到分布式和集群了。单台服务器提供的能力有限,且一但宕机整个服务就不可用了。于是,分布式架构,集群部署应运而生。1.zookeeper集群dubbo的使用便使zookeeper注册中心的存在至关重
2021-01-29 14:52:18 648
原创 SpringBoot + zookeeper+ dubbo 项目搭建
1.使用springBoot框架;2.本地搭建zookeeper;3.本地搭建dubbo-admin查看服务内容;4.springBoot集成dubbo远程调用服务;现在开始完整的部署流程一、部署zookeeperZookeeper是一个分布式的服务框架,是树型的目录服务的数据存储,能做到集群管理数据 ,这里能很好的作为Dubbo服务的注册中心。Dubbo能与Zookeeper做到集群部署,当提供者出现断电等异常停机时,Zookeeper注册中心能自动删除提供者信息,当提...
2021-01-26 20:31:30 218 2
原创 JAVA开发过程问题记录
1.数据库主从同步延迟业务逻辑:投放前查询记录数,记录未超限制,可投放,并记录数据,否则结束;问题:可重复投放;排查:数据库主从同步出现延迟,而代码中的读写分离,故查询的从库中还未存在主库的数据;解决:特殊业务场景的,读写都走主库,dal修改数据源配置。2.超时异常场景处理远程调用rpc接口,出现超时异常时,可在异常处理代码中加入补偿机制,记录失败记录。通常需要服务提供方提供查询性的接口。3.mysqldecimal(x,y)数字格式,整数部分,最大可x-...
2021-01-20 15:22:24 77
原创 Windows10 64位系统上搭建Hadoop(2.7.7)伪分布式环境
本地安装jdk1.8,不赘叙。 下载hadoop2.7.7(https://download.csdn.net/download/zjcool2012/12132480),解压到文件目录,如D:\DMSPACE\hadoop-2.7.7。 下载winutil(https://download.csdn.net/download/zjcool2012/12132492),也可下载其他版本,win...
2020-02-03 12:24:15 975
原创 Tomcat 高版本下 报 TDLs错误;
基本都是扫描jar包时,出错。根据网上教程,查询需要跳过扫描的引入的包,logger.properties 文件中org.apache.jasper.compiler.TldLocationsCache.level = FINE 参数配置无效,需要添加 org.apache.jasper.servlet.TldScanner.level = FINE。...
2018-02-08 17:28:36 323
原创 阿里云证书配置失败
服务器模式:tomcatserver.xml 8443端口配置,访问时需添加端口号 如https://www.abc.com:8443; 443端口配置,不需要添加,直接https://www.abc.com 访问;启动时,443端口占用出错,最终查询端口号被占用,占用原因,SVN服务器默认开启,去svn管理器关闭即可。
2018-02-07 16:37:01 489
原创 Mybatis代码生产工具(MyEclipse10环境下)
一、插件的下载和安装 1、Mybatis Generator插件工具的下载地址:http://download.csdn.net/download/zjcool2012/10164630 2、解压压缩包后,复制插件包中的features和plugins放到myeclipse的安装目录下的 dropins 文件夹下面 3、重启
2017-12-19 16:11:51 261
原创 java开发微信公众号(SpringMVC)2-消息管理功能
微信移动端软件,可以向公众号发送消息,如文字,语音,图片等等,在这个过程中,微信端服务器首先要接受到你发送的消息,然后根据你发送的消息会产生不同的回应。这个回应要想自己设定内容(微信公众号管理界面可以设置简单的回复),就必须要在微信设置中打开服务器配置。 此处打开配置后需要自己的服务器地址,如下:(此处请忽略-->此处可以给大家推荐一个服务器购买点,方便开
2016-11-08 18:10:25 4389
原创 java开发微信公众号(SpringMVC)1-简述
很久之前就想了解并真正着手去做微信公众号的开发,在这一个多月终于有时间去看微信的开发文档,并利用自己的熟悉语言java去做这方面的一些东西。 要想真正去了解微信公众号的提供的接口的功能,开发文档虽然写的很多,但仔细看是必要的,网上的代码很多,但是一味去模仿,直接拿源码的效果只是现期的,到后期的复杂功能的实现,还是得回头看文档。 别的不多说了,我还是一名学生,只是
2016-11-08 16:11:39 2726
原创 ognl.MethodFailedException: Method "setEndtime" failed for object com.piptrade.action.tradetools.eCa
1.出现该问题的原因大都由于代码中String和date格式数据转化时出现问题,大多在同时使用json数据出现。2.也有可能web界面的控件没有使用datetime格式。
2015-12-10 20:58:04 437
asp.net 数据增删查改的简易项目网页demo(适合新手)
2015-08-10
数据结构课程设计——校园十大优秀青年评比
2013-02-13
dubbo应用集群+dubbo多消费方+zookeeper+springboot
2021-01-29
Hadoop2.7.7配合使用的windows工具winutil
2020-02-03
hadoop-2.7.7.zip(windows 用)
2020-02-03
代码生成工具(MyBatsis_Gengerator)
2017-12-19
svn for eclipse 插件
2017-09-21
javaweb-实时天气查询
2016-09-07
javaweb原生servlet增删改查demo项目
2016-09-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人