自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Go for IT

great efforts on DB,little insight into ITIL process and Advanced programming

  • 博客(72)
  • 收藏
  • 关注

原创 JVM GC过程分析

上图是我截图的JVM GC监控;我理解的真实场景应该是这样的,多次CMS GC,等触发的真实full GC 次数到达参数值,才去压缩老年代。老年代经过压缩后,才释放了大量空间,也就是说之前老年代是在不断清理的,只不过是碎片化严重。...

2019-01-24 20:11:39 441

原创 TIDB介绍

TIDB是什么? TIDB 受谷歌Spanner和F1的论文启发的new sql数据库,这类数据库不仅具有NoSQL对海量数据的存储管理能力,还保持了传统数据库支持ACID和SQL等特性,同类数据库还包括巨杉数据库。TiDB的原理与实现 TiDB 架构是 SQL 层和 KV 存储层分离,相当于 innodb 插件存储引擎与 MySQL 的关系。有了 TiKV,TiDB 层只需要实现 SQL 层,

2018-03-30 20:46:39 20162

原创 MySQL架构设计及性能优化

mysql变量Variable_name Valueauto_increment_increment 1auto_increment_offset 1autocommit ONautomatic_sp_privileges ONavoid_temporal_upgrade OFFback_log 90basedir /usr/local/mysqlb

2017-12-20 22:46:48 1701 1

原创 MySQL数据库批量插入(Spring Boot+Mybatis)

1 项目需求从excel中读取几万条记录,存储到MySQL数据库中。因为内存中记录几万条,如果直接遍历所有记录,循环插入数据库,耗时太长,所以计划优化插入速度。目前可供选择的解决方案如下:mybatis的官方写法利用mysql特性,拼写insert sql利用spring的事务,直接执行插入操作耗时从小到大:mysql特性,mybatis,等 参考:http://blog.csdn.net

2017-12-11 16:43:15 22270 3

原创 远程客户端无法连接ubuntu下Mysql

我们有时会把数据库装在Ubuntu上面,然后使用远程客户端访问数据库,命令如下:mysql -h ip -u username -p password但是会收到如下报错 我们首先应该赋予远程客户机访问权限,命令如下:mysql>GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTI

2017-12-03 22:29:14 691

原创 Python操作主流数据库

操作MySQL1)Windows中安装python和pycharm 2)ubuntu中安装python和pycharm 安装步骤不做赘述,pycharm运行脚本#!/usr/bin/env pythonimport MySQLdb#get connectiontry: con = MySQLdb.connect( host='localhost', user='root

2017-12-02 14:08:23 3199 2

原创 MongoDB基础

1 SQL数据库对比NoSQL数据库实时一致性,事务,多表联合查询 简单便捷,方便扩展,更好性能2 MongoDB的优势1)无数据结构限制:无表结构,SQL数据库需要先 2)完全的索引支持:redis的key-value ;hbase的单索引 3)方便的冗余与扩展:复制集保证数据安全;分片扩展数据规模3 MongoDB的基础操作db.immoc_collection.insert({x:1})

2017-12-01 22:10:13 304

原创 使用Redis做MySQL的缓存

1 为什么使用缓存当网站的处理和访问量非常大的时候,我们的数据库的压力就变大了,数据库的连接池,数据库同时处理数据的能力就会受到很大的挑战,一旦数据库承受了其最大承受能力,网站的数据处理效率就会大打折扣。此时就要使用高并发处理、负载均衡和分布式数据库,而这些技术既花费人力,又花费资金。2 使用场景页面缓存经常用在CMS(content manage system)内存管理系统里面。 数据缓存经常会

2017-11-20 21:43:36 53995 1

转载 Mysql分库分表方案

1.为什么要分表当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。 mysql中有一种机制是表锁定和行锁定,是为了保证数据的完整性。表锁定表示你们都不能对这张表进行操作,必须等我对表操作完才行。行锁定也一样,别的sql必须等我对这条数据操作完了,才能对这条数据进行操作。2.mysql proxy:

2017-11-15 15:02:26 328

转载 三个流行MySQL分支的对比

MySQL是历史上最受欢迎的免费开源程序之一。它是成千上万个网站的数据库骨干,并且可以将它(和Linux)作为过去10年里Internet呈指数级增长的一个有力证明。那么,如果MySQL真的这么重要,为什么还会出现越来越多的核心MySQ产品的高端衍生产品?这是因为MySQL是免费的开源应用程序,所以开发人员总是可以获得其代码,并按照自己的想法修改代码,然后再自行分发代码。在很长的一段时间里,在开发人

2017-11-14 21:44:28 415

原创 mysql主从复制搭建(读写分离)

1.背景介绍大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢失的话,后果更是 不堪设想。这时候,我们会考虑如何减少数据库的联接,一方面采用优秀的代码框架,进行代码的优化,采用优秀的数据缓存技术如:memcached,如果资金丰厚的话,必然会想到假设服

2017-11-14 15:38:22 397

原创 性能优化之MySQL优化

1 性能优化方向硬件->系统配置->数据库表结构->SQL及索引2 实验数据集使用MySQL提供的sakila数据库3 使用慢查询日志监控开启慢查询日志```show variables like 'slow_query_log';set global slow_query_log_file='/mysql/sql_log/mysql-slow.log'set global log

2017-11-11 20:46:53 389

转载 abstract class和interface的区别

共同点A. 两者都是抽象类,都不能实例化。 B. interface实现类及abstrct class的子类都必须要实现已经声明的抽象方法。不同点A. interface需要实现,要用implements,而abstract class需要继承,要用extends。 B. 一个类可以实现多个interface,但一个类只能继承一个abstract class。 C. interfac

2017-08-17 20:28:55 220

转载 MySQL查询缓存的优缺点

与朋友或同事谈到mysql查询缓存功能的时候,个人喜欢把Query Cache比作荔枝, 是非常营养的东西,但是一次性吃太多了,就容易导致上火而流鼻血,虽然不是特别恰当的比喻,但是有很多相似的地方,另外Query Cache有其特殊的业务场景,也不像其他数据库产品,缓存查询语句的执行计划等信息,而是直接缓存查询语句的记录集和对应的SQL语句。本文就给大家介 绍下查询缓存的相关知识,希望可以引导大家正

2017-08-17 19:34:05 7303 1

原创 Java学习笔记

7月5日实现多线程的三种方法:class MyThread implements Runnable{public void run(){}//实现run}public clas test{public static void main(){MyThread myThread =new MyThread ();Thread thread=new Tread(myThread );thre

2017-07-06 15:55:50 140

原创 Spring开发日记

7月5日今天主要在慕课网上实现SSH框架的demo,SSH的配置主要使用四个文件,首先需要配置**web.xml:**<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org

2017-07-05 20:52:42 390

原创 MYSQL技术笔记

1.mysql max_allowed_packet 查询和修改mysql根据配置文件会限制server接受的数据包大小。有时候大的插入和更新会被max_allowed_packet 参数限制掉,导致失败。查看目前配置show VARIABLES like '%max_allowed_packet%';1)编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的s

2017-05-02 15:06:58 681

原创 MySQL操作实践

SELECT yyy as 年 FROM employee_tb WHERE name1 IN ('CHu','232');UPDATE employee_tb SET daily_typing_pages =0 WHERE name1 IN ('CHu','232')SELECT * FROM employee_tb WHERE id LIKE '%'SELECT * FROM employ

2017-04-09 20:20:25 336

原创 MySQL学习笔记

1.PHPPHP的标准文件是.php。PHP不能直接用浏览器打开,Apache服务器处理php后,返回HTML文件给客户端。 搭建PHP服务器,可以采用XAMPP,该软件继承了Apache,MySQL等软件。搭建时需要确认默认端口号没有占用。如果想来练习,建议在Vm上面的干净的windows里面搭建。 1)打开数据库connection mysql_connect(server,user,pas

2017-03-19 23:23:56 383

原创 struts2+hibernate学习笔记

struts概述POJO 表单和 POJO 动作标签支持AJAX MVC架构Model - 模式的最低层,负责维护数据Controller - 控制模型和视图之间的交互的软件代码 View - 负责显示全部或部分的数据给用户体系结构动作拦截器 值栈/OGNL 结果/结果类型 视图技术 控制器是由 Struts 2 调度 servlet 过滤器和拦截器实现的,模型是

2017-03-14 23:00:10 388

原创 Oracle 11g R2 64bit+PL/SQL+32bit客户端

1PL/SQL 仅支持32位oracle,所以为了使用PL/SQL,我们需要给PL/SQL安装一个32位Oracle客户端。 下载网址如下: http://download.csdn.net/download/itdebug/5348685 安装方法如: http://www.360doc.com/content/13/0608/13/11965070_291485051.shtml2但是按

2017-03-08 22:43:58 2269 1

原创 SQl Server数据库学习总结

微软学术

2017-03-08 16:14:25 687

原创 Linux常用命令

控制反转。 DI代替IoC:让调用类对某一接口实现类的依赖关系由第三方注入,以移除调用类对某一接口实现类的依赖。 构造函数注入。 属性注入:通过Setter方法完成调用类所需要依赖的注入 接口注入:将调用类所有依赖注入的方法抽取到一个接口中,调用类通过实现该接口提供相应的注入方法。 Spring作为一个容器,通过配置文件描述类与类的关系,完成解耦2 Java反射机制IoC与java反射机制

2017-02-28 14:53:51 251

原创 Java企业级开发:Spring学习笔记

Spring、Java EE

2017-02-26 08:49:53 548

原创 Clean Code学习总结

神在细节之中

2017-02-21 22:23:44 1211

转载 排序算法总结(一)

1 冒泡排序冒泡排序是最简单的排序之一了,其大体思想就是通过与相邻元素的比较和交换来把小的数交换到最前面。这个过程类似于水泡向上升一样,因此而得名。举个栗子,对5,3,8,6,4这个无序序列进行冒泡排序。首先从后向前冒泡,4和6比较,把4交换到前面,序列变成5,3,8,4,6。同理4和8交换,变成5,3,4,8,6,3和4无需交换。5和3交换,变成3,5,4,8,6,3.这样一次冒泡就完了,把最小的

2017-02-13 16:31:32 276

原创 .NET框架学习总结(四)

1)若通过.NET 启用对文件和文件夹的访问。其中安全问题是关键,我们应该调用(FileIOPermission)这个安全类处理。启动这个类,权限遭到拒绝,将抛出(VerificationException)这个类型的异常。2)WEB开发中,Web.config文件是经常用的配置文件,文件中的连接字符串(以明文存储,除非已经加密)3).NET中,使用(JIT,即时编译器)可以将通用中间语言

2016-12-18 22:53:20 303

原创 .NET框架学习总结(三)

1)internal关键字:内部成员,同一个包中可以访问,包外不可访问。2)this:C#中this为常量,不可以this++、this--3)当类中的方法加上了virtual修饰符,我们称之为虚方法。使用该关键字之后,不允许static,abstract或者override修饰。4)ALM:App lifecircle management5)MDI:MdiLayout.Casc

2016-12-15 00:10:43 622

原创 Java编程思想:数据存储

1)String : "abc"   new String("abc")。此时建立了两个字符串对象。每当用String操作字符串时,实际上是在不断的创建新的对象,而原来的对象就会变为垃圾被GC回收掉;String str = “This is only a” + “ simple” + “ test”;StringBuffer builder = new StringBuilder(

2016-12-13 21:17:36 231

原创 .NET框架学习总结(二)

1)面向对象编程:一种使用对象的编程技术。对象自身包含数据结构,属性方法和事件。Events提供对象间的通信。2)static:声明一个成员不属于单独的对象,属于class本身。3)封装:信息隐藏机制,从而令代码更加容易维护和理解4)internal:访问控制关键字,同一程序集可以访问。5)struct:值类型,不可以继承。6)C#不支持多继承,但是可以继承多个接口7)is

2016-12-12 22:07:29 284

原创 .NET框架学习总结(一)

1 byte型    0-2552 值类型   存储在栈中;引用值类型,存储在heap中;其中String为引用类型3 abstract关键字只能用在抽象类中修饰方法,并且没有具体的实现。抽象方法的实现必须在派生类中使用override关键字来实现。构造方法不会被子类继承.abstract类不能被实例化。4 interface:用来声明接口 。只提供一些方法规约,不提供方法主体。

2016-12-11 21:21:37 377

转载 算法分析:两个栈实现一个队列

两年前从网上看到一道面试题:用两个栈(Stack)实现一个队列(Queue)。觉得不错,就经常拿来面试,几年下来,做此题的应该有几十人了。通过对面试者的表现和反应,有一些统计和感受,在此做个小结。 用C++描述,题目大致是这样的: 已知下面Stack类及其3个方法Push、Pop和 Count,请用2个Stack实现Queue类的入队(Enqueue)出队(Dequeue)方法。

2016-12-09 15:10:07 261

转载 Hbase 建表基本命令总结

访问Hbase,以及操作hbase,命令不用使用分号hbase shell 进入hbaselist 查看表hbase shell -dhbase(main):024:0> scan '.META.'=============小例子===================================================1. 创建一个表member

2016-12-01 07:22:41 810

转载 .NET框架学习: 强命名的作用

我在PetShop4程序中加入了一个业务外观层,然后在业务逻辑层(PetShop.BLL)引用这个程序集,点“生成”,出现以下的错误:“程序集生成失败 -- 引用的程序集没有强名称”,原因是PetShop.BLL是强命名程序集,强命名程序集不能用普通程序集造成的。    那么什么叫强命名程序集呢?我们知道,以前在Windows下开发程序时常会遭遇著名的“DLL Hell”问题,即动态链

2016-11-29 10:23:59 597

转载 .NET框架学习:浅谈ASP.NET的Postback

浅谈ASP.NET的Postback说道ASP.NET的Postback,就得说Web Page的生命周期,但是Web Page的生命周期却不是三言两语就能够说得清楚的,所以在这里单纯站的编程的角度,撇开Web Page 的生命周期浅谈Postback。我们知道,无论是ASP.NET1.x,2.0,甚至是以后的版本,ASP.NET最终Render到Client端通过浏览

2016-11-28 15:35:50 2131

转载 .NET框架学习: 程序集的基本组成

写过了程序集的动态反射实现. 现在初步认识一下程序集... 程序集的基本组成:  1.程序集清单:在程序集中,只有程序集清单是必须的.每一个程序集,不论是静态的还是动态的,都包含一个描述程序集中各元素彼此如何关联的数据集合.程序集清单就包含这些程序集元数据.这就是程序集清单.构成多文件程序集的那些文件不是由操作系统来链接的,而是有程序集清单进行链接.而本身程序集是自描述的.程序集清单中包含以下

2016-11-28 15:21:58 3119

原创 算法分析:Product of Polynomials

This time, you are supposed to find A*B where A and B are two polynomials.Input Specification:Each input file contains one test case. Each case occupies 2 lines, and each line contains the inf

2016-11-12 14:56:09 258

原创 算法分析:Elevator

The highest building in our city has only one elevator. A request list is made up with N positive numbers. The numbers denote at which floors the elevator will stop, in specified order. It costs 6 sec

2016-11-11 22:04:44 423

原创 算法分析:害死人不偿命的(3n+1)猜想(Java)

对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在1950年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证(3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……我们今天的题目不是证明

2016-11-11 20:55:53 1790

原创 算法分析:Maximum Subsequence Sum

import java.io.*;import java.util.Scanner;class Main { int numOfIntegers; String sequenceStr; int []sequence; void init(){ try{ Scanner reader1=new Scanner(System.in); numOfI

2016-11-04 13:45:00 287

空空如也

空空如也

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

TA关注的人

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