- 博客(123)
- 资源 (28)
- 收藏
- 关注
原创 Mysql查询优化
一个好的web应用,最重要的一点是有着优秀的访问性能。数据库MySQL是web应用的组成部分,也是决定其性能的重要部分。所以提升MySQL的性能至关重要。MySQL性能的提升可分为三部分,包括硬件、网络、软件。其中硬件、网络取决于公司的财力,需要白哗哗的银两,这里就不说啦。软件又细分为很多种,在这里我们通过MySQL的查询优化从而达到性能的提升。最近看了一些关于查询优化的书籍,同时也在网上看一些前辈们写的文章。
2024-04-26 20:17:31 451
原创 MySQL 高可用:mysql+mycat实现数据库分片(分库分表)
- 设置表的存储方式.schema name="TESTDB" 与 server.xml中的 TESTDB 设置一致 -->-- mycat 逻辑主机dataHost对应的物理主机.其中也设置对应的mysql登陆信息 -->-- 设置dataNode 对应的数据库,及 mycat 连接的地址dataHost -->#访问 mycat (凭据参考 /usr/local/mycat/conf/server.xml)-- 任意设置登陆 mycat 的用户名,密码,数据库 -->
2024-04-26 20:12:49 714
原创 MySQL下载与安装
4.配置完环境变量之后,在F:\mysql\mysql-5.7.24-winx64\mysql-5.7.24-winx64目录下新增加一个配置文件mysql.ini ,同时在bin的同级目录下创建一个data文件夹(用于存放数据库数据)修改密码(必须先启动mysql),执行如下命令回车,enter password也回车,密码一般设置为root123,方便记忆。启动服务,输入如下命令 net start mysql ,回车,启动成功后如下图。3.我的电脑->属性->高级->环境变量。
2024-04-26 20:02:09 126
原创 分布式ID大型互联网公司方案总结
ID是数据的唯一标识,传统的做法是利用UUID和数据库的自增ID,在互联网企业中,大部分公司使用的都是Mysql,并且因为需要事务支持,所以通常会使用Innodb存储引擎,UUID太长以及无序,所以并不适合在Innodb中来作为主键,自增ID比较合适,但是随着公司的业务发展,数据量将越来越大,需要对数据进行分表,而分表后,每个表中的数据都会按自己的节奏进行自增,很有可能出现ID冲突。这时就需要一个单独的机制来负责生成唯一ID,生成出来的ID也可以叫做分布式ID,或全局ID。下面来分析各个生成分布式ID的机制
2021-01-22 14:13:21 148
原创 Java中的锁原理、锁优化、CAS、AQS详解
一、为什么要用锁?锁-是为了解决并发操作引起的脏读、数据不一致的问题。二、锁实现的基本原理2.1、volatileJava编程语言允许线程访问共享变量, 为了确保共享变量能被准确和一致地更新,线程应该确保通过排他锁单独获得这个变量。Java语言提供了volatile,在某些情况下比锁要更加方便。volatile在多处理器开发中保证了共享变量的“ 可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。结论:如果volatile变量修饰符使用恰当的话,
2020-12-22 11:42:29 265
转载 JVM性能优化 (一) 初识JVM
一、我们为什么要对JVM做优化在本地开发环境中我们很少会遇到需要对JVM进行优化的需求,但是到了生产环境,我们可能会有下面的需求:运行的应用“卡住了”,日志不输出,程序没有反应 服务器的CPU负载突然升高 在多线程应用下,如何分配线程的数量?本次使用的JDK版本为1.8二、JVM的运行参数在jvm中有很多的参数可以进行设置,这样可以让jvm在各种环境中都能够高效的运行,绝大部分的参数保持默认即可。2.1 三种参数类型jvm的参数类型分为三类,分别是: 标准参数 -
2020-12-16 13:06:39 204
原创 MyBatis中#{}和${}的区别
一、在MyBatis 的映射配置文件中,动态传递参数有两种方式:#{}占位符${}拼接符二、#{}和${}的区别区别1、1)#{}为参数占位符?,即sql 预编译2)${}为字符串替换,即sql 拼接区别2、1)#{}:动态解析 ->预编译-> 执行2)${}:动态解析 ->编译-> 执行区别3、1)#{}的变量替换是在DBMS中2)${}的变量替换是在DBMS外区别4、1)变量替...
2020-10-29 12:19:38 208
原创 SpringMVC中使用redirect跳转后https变为http
方法一:配置文件修改ViewResolver的 redirectHttp10Compatible属性,这个属性是为了兼容 http1.0协议<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="...
2020-04-13 21:46:16 1050
原创 MySQL Explain执行过程
MySQL Explain执行过程-- 查看SQL执行过程,前面加上explain即可explain select * from table_name where 条件;expain查询出来的信息有12列,分别是id、select_type、table、partitions、type、possible_keys、key、key_len、ref、rows、filtered、Extra...
2019-12-06 16:09:25 434
原创 IDEA中SpringBoot与JSP整合路径正确找不到JSP页面
1、问题在IDEA中SpringBoot与JSP整合,项目启动后找不到jsp页面,但是在eclipse中是正常的,网上说的jar的作用域问题都不行,最后终于找到问题所在。2.、解决方法2.1、没有解决之前报4042)点击Edit Configurations > Environment > Working directory重启项目(依然是main方...
2019-11-26 10:47:49 914
原创 Memory Analyzer Tool MAT内存分析
1 安装MATMAT是有两种安装方式的,这一点与其他eclipse插件略有不同。一种安装方式是将MAT当做eclipse的插件进行安装:启动Eclipse --> Help --> Eclipse Marketplace,然后搜索Memory Analyzer,安装,重启eclipse即可。另外一种安装方式是将MAT作为一个独立的软件进行安装:去官网http://www.e...
2019-10-30 19:12:48 475
原创 Linux top命令的用法详解
一、top中一些字段的含义:VIRT:virtual memory usage 虚拟内存1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量RES:resident memory usage 常驻内存1、进程当前使用的内存大小,但不包括swap out2、包含其他进程的共享3、...
2019-10-29 15:30:12 311
原创 windows环境搭建Vue开发环境安装
windows环境搭建Vue开发环境安装一、安装node.js(http://nodejs.cn/download/)下载完毕后,可以安装node,建议不要安装在系统盘(如C:)。二、设置nodejs prefix(全局)和cache(缓存)路径(可以不设置)1、在nodejs安装路径下,新建node_global和node_cache两个文件夹2、设置缓存文件夹...
2019-04-15 15:52:59 306
原创 Docker使用
一、CentOS Docker 安装Docker支持以下的CentOS版本:CentOS 7 (64-bit)CentOS 6.5 (64-bit) 或更高的版本前提条件目前,CentOS 仅发行版本中的内核支持 Docker。Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。Docker 运行在 CentOS-6.5 或更高的版本的 Ce...
2019-01-22 16:56:58 122
原创 Linux下Rabbitmq安装及配置
rabbitMq是erlang编写的,安装mq前先安装erlang一、Erlang的安装yum:erlang下载wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm rpm -Uvh erlang-solutions-1.0-1.noarch.rpmerlang安装yum insta...
2019-01-18 20:49:51 4901
原创 Spring Cloud Sleuth+Zipkin
二、SpringBoot 2.X整合Sleuth+Zipkin在微服务系统中,各个服务之间的调用关系比较复杂。一个 HTTP 请求可能会调用多个不同的微服务来处理,在调用过程中可能因为某个服务异常(网络延迟过高或发送错误)导致请求失败,所有需要有服务追踪来监控,方便快速定位问题点。Spring Cloud Sleuth 提供了分布式服务链路监控的解决方案。1、简介Zipkin(是Twitt...
2019-01-18 18:30:47 2177
原创 Spring Cloud Gateway
1、Spring Cloud Gateway1.1、简介Spring Cloud Gateway是Spring Cloud官方推出的第二代网关框架,功能上比Zuul更加强大,性能也更好,随着Spring Cloud的版本迭代,官方有用Gateway取代Zuul网关的趋势。网关作为一个系统的流量的入口,有着举足轻重的作用,大致功能如下:路由转发、协议转换流量聚合,对流量进行监控,日志输出限...
2019-01-12 16:43:53 1158
原创 一、服务的注册与发现Eureka
一、Spring Cloud简介Spring Boot版本2.1.1.RELEASE,Spring Cloud版本为Greenwich.RC2。Greenwich版本的官方文档如下:http://cloud.spring.io/spring-cloud-static/Greenwich.RC2/single/spring-cloud.htmlSpring Cloud为开发人员提供了快速构建分...
2019-01-09 20:55:36 211
原创 SpringMVC(使用IE执行AJAX时返回JSON出现下载文件/@ResponseBody出现乱码解决方法)
一、避免IE执行AJAX时,返回JSON出现下载文件<!-- 避免IE执行AJAX时,返回JSON出现下载文件 --><bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"...
2018-12-06 11:08:05 583
原创 CentOS6-HAProxy安装与配置
1、Haproxy下载地址(下载1.7.9版本):http://www.haproxy.org/ 2、将haproxy-1.7.9.tar.gz上传至Centos下 3、安装<span style="color:#000000">yum install -y gcc #安装gcc(CentOS没有安装gcc则需要先安装gcc,安装过gcc则忽略)tar zxvf hapro...
2018-11-29 14:14:57 1098 1
原创 Kafka环境的搭建(Windows)
1、安装JDK2、安装Zookeeper Kafka的运行依赖于Zookeeper,所以在运行Kafka之前我们需要安装并运行Zookeeper 2.1、下载安装文件(zookeeper-3.4.9): http://mirror.bit.edu.cn/apache/zookeeper/ 2.2、解压zookeeper-3.4.9(解压到 E:\develop\Kafka\zookee...
2018-11-29 14:11:51 184
原创 Eclipse插件安装
eclipse的插件安装有3种方式。一、通过eclipse的SoftwareUpdates / Find and install... search for new features... 的二、下载插件文件,将其解压缩到eclpise对应的目录中。三、links文件方式。在eclipse目录中新建links目录。【推荐】第三种方式采用了无入侵的插件安装方式我们SVN为例采用第三种方...
2018-11-29 13:49:00 357
原创 HttpClient4.5 简单入门实例(一)
一、所需要的jar包 httpclient-4.5.jar httpcore-4.4.1.jar httpmime-4.5.jar二、实例package cn.tzz.apache.httpclient;import java.io.File;import java.io.IOException;import java.net.URL;import j...
2018-11-29 12:31:26 1410
原创 JSP自定义标签开发入门
一、自定义标签的作用 自定义标签主要用于移除Jsp页面中的java代码。二、自定义标签开发和使用2.1、自定义标签开发步骤1、编写一个实现TagSupport接口的Java类(标签处理器类)import javax.servlet.jsp.JspException;import javax.servlet.jsp.JspWriter;import javax.servl...
2018-11-28 23:17:31 421
原创 JavaWeb开发中防止表单重复提交
第一种方式:可以在客户端利用Javascript对表单重复提交作验证,主要实现手段是在这个表单触发表单提交事件的时候调用一个Javascript编写的函数,这个函数: <script> var isCommitted = false; function checkPost() { if(!isCommitted) { isCommitted = true; ...
2018-11-28 23:17:14 290
原创 设计 REST 风格的 MVC 框架
简介: 传统的 JavaEE MVC 框架如 Struts 等都是基于 Action 设计的后缀式映射,然而,流行的 Web 趋势是 REST 风格的架构。尽管使用 Filter 或者 Apache mod_rewrite 能够通过 URL 重写实现 REST 风格的 URL,为什么不直接设计一个全新的 REST 风格的 MVC 框架呢?本文将讲述如何从头设计一个基于 REST 风格的 Java ...
2018-11-28 23:16:57 116
原创 log4j日志配置
1、配置根Logger:log4j.rootLogger = [ level ] , appenderName, appenderName2level:日志的级别,指定这条日志信息的重要性。分为ALL < DEBUG < INFO < WARN 一般常用的为 DEBUG , INFO ,WARN ,ERROR四种,分别对应Logger类的四种方法debug(Object ...
2018-11-28 23:16:20 124
原创 CentOS 搭建JDK环境
1、下载JDK1.8 2、将下载好的jdk包通过ssh上传到centos操作系统 3、解压安装包tar -vxzf jdk-8u151-linux-x64.tar.gz4、编辑系统环境变量vi /etc/profile并在文件最后添加:export JAVA_HOME=/usr/java/jdk8/jdk1.8.0_151 export PATH=$...
2018-11-27 20:23:27 120
原创 Linux常用命令
系统信息arch 显示机器的处理器架构(1)uname -m 显示机器的处理器架构(2)uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sda 在磁盘上执行测试性读取操作cat /proc/cpuinfo 显示C...
2018-11-27 20:23:17 264
原创 Eclipse关联GitHub实现版本控制
1、检查Eclipse中是否已安装Git插件,菜单栏Help -> About Eclipse,查看是否有Git插件的图标。 2、现在的Eclipse下载后一般都提供Git插件了,若是没有Git插件,可使用菜单栏Help -> Install New Software...,在Work with中输入http://download.eclipse.org/egit/upda...
2018-11-26 20:59:14 295
原创 Eclipse下svn的创建分支/合并/切换使用
在svn主干上创建分支,用分支来进行程序的bug修改,而主干上进行新功能的开发。分支上的bug修改完,发布后,可以合并到主干上。项目程序可以在主干和分支之间进行切换,来实现主干和分支的同时维护。1.创建分支创建分支实际上就是将程序copy一份到指定的分支目录,如下图示:在项目名称上点击右键,弹出菜单,选择“Team”,再选择“Branch/Tag”,弹出下面的页面: 上图...
2018-11-26 20:58:27 602
原创 EhCache 整合Spring 使用页面缓存
Ehcache对质页面、对象、数据缓存,同时支持集群/分布式缓存。整合Spring、Hibernate也非常的简单,spring对Ehcache的支持也非常好。EHCache支持内存和磁盘的缓存,支持LRU、LFU和FIFO多种淘汰算法,支持分布式的Cache,可以作为Hibernate的缓存插件。同时它也能提供基于Filter的Cache,该Filter可以缓存响应的内容并采用Gzi...
2018-11-26 20:55:56 147
原创 Redis+Sentinel集群安装与配置
1、安装环境集群机器 redis服务 哨兵(sentinel) 描述虚拟机:10.202.107.207 redis服务端口6379 sentinel服务端口26379 主节点虚拟机:10...
2018-11-26 20:55:36 330
原创 Redis+Jedis简单应用
一、jedis的简单应用1、导入jar包(jedis-2.3.0.jar)2、实例package cn.tzz.redis.simple;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import org.junit.Before...
2018-11-26 20:55:27 104
原创 Redis安装
1、安装1.1、Window 安装下载地址:https://github.com/dmajkic/redis/downloads。下载到的Redis支持32bit和64bit。根据自己实际情况选择打开一个cmd窗口 使用cd命令切换目录到 E:\sf-work\JAR\redis\32bit 运行 redis-server.exe redis.conf 。运行之后,会显示如下界...
2018-11-23 12:22:40 218 1
原创 SQL中的CASE WHEN用法
SQL中Case的使用方法 Case具有两种格式。简单Case函数和Case搜索函数。一、简单Case函数CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END 二、Case搜索函数CASE WHEN sex = '1' THEN '男' WHEN sex = ...
2018-11-23 12:22:24 123
原创 SQL的JOIN、并集、差集、交集
1、Union形成并集 Union可以对两个或多个结果集进行连接,形成“并集”。子结果集所有的记录组合在一起形成新的结果集。 1.1、限定条件 要是用Union来连接结果集,有4个限定条件。 (1)、子结果集要具有相同的结构。 (2)、字结果集的列数必须相同。 (3)、子结果集对应的数据...
2018-11-23 12:22:12 13752
原创 mysql中event(定时触发)的使用
1、从MySQL5.1.6版本开始增加事件调度器(Event Scheduler),在使用这个功能之前必须确保event_scheduler已开启 1.1、开启event_scheduler,可使用以下方法 SET GLOBAL event_scheduler = 1; SET GLOBAL event_scheduler = ON; 在配置my.cnf文件 中加上 event_...
2018-11-23 12:22:01 3491
原创 linux下MySQL安装及常用操作
一、安装Mysql使用yum安装[root@yhy-gec local]# yum -y install mysql mysql-server这条命令同时安装了mysql客户端和mysql服务器端使用rpm安装centos7会自带一个mariadb,查看是否已安装rpm-qa|grep-imysqlrpm -qa |grep -i mariadb(centos7默认系统自...
2018-11-23 12:21:44 387
原创 Oracle job procedure 存储过程定时任务
oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务。 一、查询系统中的job,可以查询视图 --相关视图select * from dba_jobs;select * from all_jobs;select * from user_jobs;-- 查询字段描述字段(列) 类型 ...
2018-11-23 12:21:28 84
FusionCharts数据库实例
2012-12-07
java工厂系列设计模式源码与文档
2011-08-24
commons-fileupload-1.2.1
2011-03-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人