- 博客(188)
- 资源 (12)
- 收藏
- 关注
原创 js代码
var userList = (function(){ // 表单 var form=layui.form; // 日期 var laydate=layui.laydate; // 表格 var table=layui.table; // 部门树选中项 var selectedTreeId; var method={ ...
2018-07-31 13:41:26
587
原创 Spring boot 学习之路(一) 入门
简介Spring Boot可以轻松创建单独的,基于生产级的Spring应用程序,您需要做的可能“仅仅是去运行”。 我们提供了Spring Platform对Spring 框架和第三方库进行处理,尽可能的降低使用的复杂度。大多数情况下Spring Boot应用只需要非常少的配置。特点1,快速构建独立的Spring Application2,内嵌web容器,仅仅是运行她3,提供众多
2018-01-22 17:54:37
562
转载 JSR规范
JSR是Java Specification Requests的缩写,意思是Java 规范提案。是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。Web Service技术Java Date与Time API ( JSR 3
2017-12-14 11:10:23
955
原创 WebSocket简介和例子
WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。1,流程:在WebSocket API中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。浏览器通过 JavaScript 向服务器发出建立 WebSocket 连接的请求,连接建立以后,客户端和服务器端就可以通过 TCP 连接直接交换数据
2017-12-13 14:07:28
655
原创 ForkJoinTask任务框架简介
ForkJoinTask是jdk1.7整合Fork/Join,即拆分fork+合并join,性能上有大大提升。思想:充分利用多核CPU把计算拆分成多个子任务,并行计算,提高CPU利用率大大减少运算时间。有点像,MapReduce思路感觉大致一样。jdk7中已经提供了最简洁的接口,让你不需要太多时间关心并行时线程的通信,死锁问题,线程同步,下面是它提供的接口:RecursiveTask有
2017-12-11 17:34:24
1952
转载 Class.forName()用法详解
主要功能Class.forName(xxx.xx.xx)返回的是一个类Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段下面,通过解答以下三个问题的来详细讲解下Class.forName()的用法。一.什么时候用Class.forName()?先来个热身,给你一个字符串变量,它代表一个类的包名和类名,你怎么实
2017-10-18 09:23:18
1124
原创 缓存使用场景的理解
我们先来看一个互联网的应用场景,一个电子商务网站里面有N多的商品,而商品是不会频繁更改而读取频率又是很高的数据,如果按普通的业务架构的话,就是程序直连DB,但是DB的QPS和TPS因为ACID的限制,在虚拟容器下(例vmware,kvm)的吞吐量基本就是5000左右,在硬件环境下,根根据配置的高低,基本就是1W左右,而在一个每天有亿次pv的网站,切不说在限时促销、折扣的高并发场景下,就是普通时间段
2016-12-23 16:23:13
7184
转载 JVM简介
JVM是我们Javaer的最基本功底了,刚开始学Java的时候,一般都是从“Hello World”开始的,然后会写个复杂点class,然后再找一些开源框架,比如spring,hibernate等等,再然后就开发企业级的应用,比如网站、企业内部应用、实时交易系统等等,直到某一天突然发现做的系统咋就这么慢呢,而且时不时还来个内存溢出什么的,今天是交易系统报了StackOverflowError,明天
2016-12-15 21:12:43
463
转载 Java HashMap实现详解
1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 2. HashMap的数据结构: 在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,H
2016-12-15 20:42:32
460
转载 spring ioc原理(看完后大家可以自己写一个spring)
最近,买了本spring入门书:spring In Action 。大致浏览了下感觉还不错。就是入门了点。Manning的书还是不错的,我虽然不像哪些只看Manning书的人那样专注于Manning,但怀着崇敬的心情和激情通览了一遍。又一次接受了IOC 、DI、AOP等Spring核心概念。 先就IOC和DI谈一点我的看法。IOC(DI):其实这个Spring架构核心的概念没有这么复杂
2016-12-15 20:39:38
433
转载 JAVA数据库连接池实现
连接池的管理用了了享元模式,这里对连接池进行简单设计。一、设计思路 1.连接池配置属性DBbean:里面存放可以配置的一些属性 2.连接池接口IConnectionPool:里面定义一些基本的获取连接的一些方法 3.接口实现ConnectionPool:对上面操作进行实现,并加入一些其他方法 4.连接池管理Connection
2016-12-15 20:38:37
849
原创 mongodb分片+集群
目前在一个机器上部署,列表如下:路由服务1路由服务2路由服务3配置服务1配置服务2配置服务3副本集1副本集2副本集3副本集1副本集2副本集3副本集1副本集2副本集3一、配置副本集1、启动副本集的实例2,副本集配置文件db
2016-08-29 12:27:21
863
原创 MongoDB的分片
一,分片1,启动shard、config、mongos节点(1),启动需要分片的节点mongod --shardsvr --dbpath=/usr/local/mongodb/data1 --logpath=/usr/local/mongodb/log/data1.log --port=27081 --forkmongod --shardsvr --dbpath=/usr/local/
2016-08-25 17:14:01
640
1
原创 MongoDB的主从复制与复制集
MongoDB分为主从复制和复制集一,主从复制mongodb支持传统的master-slave架构。没有自动故障转移功能,需要指定master和slave端。不推荐。1,创建两个配置文件vi /etc/mongodb11.cnfdbpath=/usr/local/mongodb/data11logpath=/usr/local/mongodb/log/mongodb1
2016-05-27 16:52:07
1425
原创 MongoDB的安装、启动、关闭
一,安装1,官网下载系统对应的源码包 mongodb-linux-x86_64-rhel62-3.2.0.tgz2,解压 tar zxvf mongodb-linux-x86_64-rhel62-3.2.0.tgz -C 3,设置环境变量,/etc/profile中添加mongodb的bin路径 export PATH=$PATH:/
2016-05-27 11:05:01
4764
原创 CentOS修改主机名(hostname)
需要修改两处:一处是/etc/sysconfig/network,另一处是/etc/hosts,只修改任一处会导致系统启动异常。首先切换到root用户。/etc/sysconfig/network 里面有一行 HOSTNAME=localhost.localdomain (如果是默认的话),修改 localhost.localdomain为你的主机名。/etc/h
2016-05-23 11:11:24
679
转载 Mysql各版本区别
mysql-server-4.1 增加了子查询的支持,字符集增加UTF-8,GROUP BY语句增加了ROLLUP,mysql.user表采用了更好的加密算法,innodb开始支持单独的表空间。mysql-server-5.0 增加了Stored procedures、Views、Cursors、Triggers、XA transactions的支持,增加了
2016-05-17 16:16:31
1102
原创 Mysql多实例安装
目前并没有用到多实例,但是还是需要了解的,安装起来很简单, 单机多实例有两种方法,多配置文件和mysqld_multi命令,两者的基础都是需要先初始化多个数据库,多配置文件是启动实例带对应的配置文件;mysqld_multi是在配置文件里写多个mysqld的配置。多配置文件操作简单,互不影响;mysqld_multi易于管理。初始化多个数据库1,/usr/local/mysql
2016-05-17 14:22:25
632
原创 Redis多实例启动脚本
1,编写脚本vi /etc/init.d/redis#!/bin/sh#chkconfig: 2345 10 90#description: Startup and stop script for RedisPATH=/usr/local/bin:/sbin:/usr/bin:/binREDISPORT_1=6380REDISPORT_2=6381REDISPORT_3=6
2016-05-09 14:18:24
3320
1
转载 MySQL监控系统Lepus
现在流行的监控系统很多,选择一个合适自己的就可以了,例如Zabbix、Nagios;监控MySQL为主的有MySQLMTOP、Lepus。本文主要介绍快速部署lepus以及监控MySQL,因为作为DBA我们还是注重MySQL的监控,当然系统状态也非常重要,监控成为我们日常工作不可缺少,废话就不多说了,下面开始环境搭建。官方网站:http://www.lepus.cc/page/produc
2016-05-06 11:25:52
3103
原创 MySQL监控工具之innotop
MySQL监控管理工具--innotopyum install perl-DBI perl-DBD-MySQL perl-TermReadKeytar -zxvf innotop-1.9.0.tar.gzcd innotop-1.9.0perl Makefile.PLmake installinnptop --help
2016-04-29 15:27:39
745
原创 SysBench 0.5 安装
sysbench压力测试工具简介: sysbench是一个开源的、模块化的、跨平台的多线程性能测试工具,可以用来进行CPU、内存、磁盘I/O、线程、数据库的性能测试。目前支持的数据库有MySQL、Oracle和PostgreSQL。目前sysbench代码托管在launchpad上,项目地址:https://launchpad.net/sysbench (原来的官网http:/
2016-04-27 15:43:06
2647
原创 MySQL半同步复制
MySQL在5.5时引入了半同步插件,相比MySQL自带的异步复制,半同步复制能保证数据全部传输到从机再返回结果,一定程度上提高了数据的完整性,但因为不是异步操作,对性能有一定影响,如果对数据可靠和完整性有要求时,建议启用。一、查看插件1,查看是否加载半同步插件。sql> show plugins;2,查找mysql插件目录位置。mysql> show varia
2016-04-27 14:24:47
960
转载 Anemometer使用详解
使用pt-query-digest搜集慢查询日志,目前策略是每10分钟搜集分析一次。将数据存储在两张表中:global_query_review 和 global_query_review_history。该系统使用anemometer将pt-query-digest 搜集的数据以web形式展现出来,方便查询分析表结构1、global_query_review 表结构:
2016-04-26 18:26:00
3896
原创 Anemometer和pt-query-digest结合将MySQL慢查询可视化
pt-query-digest虽然功能强大, 但毕竟没有web界面显示的直观,我们可以借助Anemometer作为pt-query-digest执行结果的显示端,Anemometer是专门为mysql的慢查询开发的一款开源软件,地址在http://www.oschina.net/p/anemometer一、安装LAMP环境1,安装 yum install httpd php *b
2016-04-26 16:12:40
7681
原创 MySQL审计之init-connect + binlog
如果只需要统计修改操作,有一个办法,我们可以使用init-connect + binlog的方法进行mysql的操作审计。init-connect是配置文件的一个参数,作用是在每个客户端连接时执行,我们需要有一个表来保存连接客户端的ID,IP和登录时间,ID是连接的session的ID号,是递增的。那么,当我们在binlog查出操作的SQL,并找到该记录的thread_id,然后将thread_i
2016-04-22 15:50:10
1683
转载 MySQL常用工具之percona-toolkit
一、简介Percona Toolkit 是一组高级的命令行工具集,用来管理 MySQL 和系统任务,主要包括:1、主从状态检测及修复2、检测从库复制的延迟3、慢查询、日志分析4、检测MySQL 服务器状态5、从日志和 tcpdump 中检测二、使用1,服务器摘要pt-summary 2、服务器磁盘监测pt-diskstats 3、mysql
2016-04-22 15:14:05
1401
转载 MySQL分析工具之pt-query-digest
一、简介pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog、General log、slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdump抓取的MySQL协议数据来进行分析。可以把分析结果输出到文件中,分析过程是先对查询语句的条件进行参数化,然后对参数化以后的查询进行分组统计,统计出各查询的执行时间、次数、占比等,可以借助分析结果
2016-04-22 10:37:21
1702
转载 MySQL审计之插件
通过审计插件可以记录服务器活动,记录谁连接到服务器,运行了什么查询,访问了哪些表,能存储到日志文件或发送到本地syslogd守护进程。一、mariadbmariadb的审计插件能工作在mariadb、mysql和percona server。拷贝到server_audit.so到适当的目录,然后安装插件:root@[(none)] 21:52:32>INSTALL PLUGIN ser
2016-04-21 15:31:42
5748
1
原创 MySQL审计之General log
General log记录了MySQL所有执行过的命令,包括【客户端连接】,【从机器的复制】,【DDL】,【DML】等,因为记录的粒度最小,所以文件会增长很快,也会特别大。因为会实时写入文件,带来IO的额外负载,影响DB的工作效率,一般只用于开发和测试环境,生产环境一般不会开启。一,开启General log1,配置文件设置或者 2,全局配置(1)打开mysql>set
2016-04-21 14:04:06
1873
转载 避免代码冗余,使用接口和泛型重构Java代码
原始代码以下是这个类中的一些方法用于后续的阐述。为了使例子更简洁,我移除了些代码。public V get(final K key){ Session s; try { s = oGrid.getSession(); ObjectMap map = s.getMap(cacheName); return (V) map.get(key);
2016-04-20 14:49:48
761
原创 Redis测试分析(pipeline模式)
测试环境Redis测试版本:2.2.12使用Java Jedis客户端进行测试测试数据量:50万, 超过2亿速度1) mset函数插入效率最高,插入Redis的速度达到20万条数据/秒。但是该函数所耗内存较高,对于我们实际应用一表每天2.4亿的数据量来说,需要消耗近32G内存;2) mset函数中当m值达到200以上时,插入速度接近饱和,因此实际应用中,应设定该值 >=
2016-04-19 18:08:01
1180
1
原创 MySQL数据导入Redis
程序遍历MySQL然后插入Redis,效率极低。利用redis-cli命令行工具有一个批量插入模式,是专门为批量执行命令设计的。可以把Mysql查询的内容格式化成redis-cli可用数据格式。1, 根据表创建一个sql,将数据转换为redis可用的格式(1) 表结构(2) 参考Redis的hash命令结构 hmset hashname key name
2016-04-19 15:44:54
5217
1
原创 Mysql数据库设计总结
一、数据建模1、概念模型概念模型需要抽象出重点字段,关键是体现实体间的关系2、逻辑模型对概念模型进行具体化,关键是表与表的关联,以及具体的内容3、物理模型基于逻辑模型生成不同DB的数据结构,可生成脚本直接运行二、库、表、字段设计1、库名尽量使用简写,保证简短2、表名尽量不用简写,保证直观3、字段名尽量不用简写,保证直观注意点:1,提前
2016-04-13 15:40:42
873
转载 inception安装步骤
1. 下载:https://github.com/mysql-inception/inception 选择下载:Downloda ZIP注意安装包:yum -y install cmake libncurses5-dev libssl-dev g++ bison openssl-devel.x86_64 2. 下载后解压编译:# un
2016-04-01 16:08:12
2576
转载 关系模型、维度模型
关系模型1. 以遵循第三范式(3NF)为基础的关系模型,从ER图的“观感”上来说,较为松散、零碎,物理表数量多,而数据冗余程度低。由于数据分布于众多的表中,这些数据可以更为灵活地被应用,功能性较强2. 主要应用于事务型数据库3. 在数据仓库领域的倡导者:Inmon。4.在Inmon的理念中(可见“参考3”链接),DW并不直接用于DSS/BI等应用,而是作为一个平台,其模型为3N
2016-03-31 16:53:08
3389
转载 数据仓库分层
数据仓库的分层可以算是数据仓库架构的子话题。在前段时间参与的一次讨论中,笔者发现其中争论的焦点集中在每一层的作用、特点、是否有必要存在等问题。其中,大家虽然一致提到某些相关概念,但各方的理解却并非完全一致。例如对于ODS是什么、维度建模是什么等问题的解读,都是如此。不妨想想看:数据从分散而异构的数据源中长途跋涉,到最终的报表、仪表盘、OLAP应用等等,让用户看到一致的结果,这是一个过程。记得以
2016-03-31 16:52:40
2657
1
转载 维度建模的基本概念及过程
0 引言与流行的说法不同,RalphKimball本人并没有定义“维度”和“事实”这样的术语。术语“维度”与“事实”,最初是20世纪60年代在一个由GeneralMills与Dartmouth大学主持的联合研究计划中提出的。70年代,ACNielsen和IRI都一致地使用这些术语描述他们的数据发布应用,用现在更为准确的话来说,就是关于零售数据的维度数据集市(DataMart)。在简明性成为生活
2016-03-31 16:50:22
1857
转载 PowerDesigner建模经验
1.工具栏不见了PowerDesigner 快捷工具栏 palette不见了,怎么重新打开,找回来呢Tools(工具栏)customsize toolbars(自定义工具栏)palette(调色板)勾选2. 修改外键命名规则选择Database—>Edit Current DBMS选择Scripts-》Objects-》Reference-》ConstName可
2016-03-23 14:28:29
2415
powerdesigner导出word模板
2016-05-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人