- 博客(78)
- 收藏
- 关注
MySQL性能调优的10个方法
1. 选择合适的存储引擎: InnoDB除非你的数据表使用来做只读或者全文检索 (相信现在提到全文检索,没人会用 MYSQL 了),你应该默认选择 InnoDB 。你自己在测试的时候可能会发现 MyISAM 比 InnoDB 速度快,这是因为: MyISAM 只缓存索引,而 InnoDB 缓存数据和索引,MyISAM 不支持事务。但是 如果你使用 innodb_flush_log_at_...
2016-05-22 08:32:17
175
10个惊艳的Ruby单行代码
1.数组中的每个元素乘以2(1..10).map { |n| n * 2 }2.数组中的元素求和(1..1000).inject { |sum, n| sum + n }或使用(内置的)Symbol#to_proc语法,自Ruby 1.8.7之后可用:(1..1000).inject(&:+)甚至就直接传递一个符号:(1..1000).inject(:+)...
2016-05-21 08:09:57
245
大话程序猿眼里的高并发
简单理解下高并发:高并发是指在同一个时间点,有很多用户同时的访问URL地址,比如:淘宝的双11,双12,就会产生高并发,如贴吧的爆吧,就是恶意的高并发请 求,也就是DDOS攻击,再屌丝点的说法就像玩撸啊撸被ADC暴击了一样,那伤害你懂得(如果你看懂了,这个说法说明是正在奔向人生巅峰的屌丝。高并发会来带的后果服务端:导致站点服务器/DB服务器资源被占满崩...
2016-05-20 11:28:56
194
Oracle 11g的7个服务详解
成功安装Oracle 11g后,共有7个服务, 这七个服务的含义分别为: 1. Oracle ORCL VSS Writer Service: Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如磁盘,阵列等)创建高保真的时间点映像,即映射拷贝(shadow copy)。它可以在多卷或者单个卷上创建映射拷贝,同时...
2016-05-19 11:12:44
232
解决被挂起的数据库问题
1、检查报警日志 2、看看是否能得到一份AWR报告或者ASH 3、单独一条特别的查询也可能可以将整个数据库搞垮 4、检查数据库中是否存在阻塞锁以及锁存器争夺 5、检查服务器的内存使用率和CPU使用率 6、归档日志的空间是否被占满 7、FRA,当一个数据库无法写入闪回数据库日志到恢复区域时,也会被挂起,可以增大db_recovery_file_dest_siz...
2015-11-23 12:43:23
1503
Java大量线程注意点
-Xms64M -Xmx512M -Xss200K -Xms64M:设置JVM初始内存为64M。 -Xmx512M:设置JVM最大可用内存512M。 -Xss200K:设置单个线程的大小为200K。 在程序中-Xss设置太小,可能程序会报错。默认设置是512K。但如果需要大量的线程,就可以将-Xss调小来获得更多的线程。package com.competition....
2015-11-20 12:29:36
155
提升网站性能开发的10个技巧
1. 采用反向代理服务器(Reverse Proxy Server)来对应用进行加速和保护其作用主要在以下三方面:负载平衡 – 运行在反向代理服务器上的负载平衡器会在不同的不服务器 间进行传输平衡。透过它,你可以进行无差别的服务器增添。存静态文件 – 对于直接的文件请求,例如图片文件或代码文件,可以直接存储在反向代理服务器然后直接发送给用户,从而可以进行快速访问并为应用服...
2015-11-18 09:28:12
110
HTTP长连接和短连接
1. HTTP协议与TCP/IP协议的关系HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠的传递数据包,使在网络上的另一端收到发端发出的所有包,并且顺序与发出顺序一致。TCP有可靠,面向连接的特点。 2. 如何理解HTTP协议是无状态的...
2015-11-08 21:35:28
185
我5年总结出的14条编程经验
1.如果性能不佳,就在应用层处理,别放在数据库层。排序和分组就是一个例子。在应用层操作性能提升总是比在数据层操作容易。在这点上,无论是服务器端的MySQL数据库还是移动设备端的sqlite 数据库都是如此。让我来给大家解释下:大家会对一些特定的查询应用方法虽然不能减少客户端的响应时间,不过还是可以减缓数据库服务器的压力,这样可以避免 数据库成为所有客户端的瓶颈。2.避免并发运算有时可...
2015-10-26 21:41:15
129
Linux下hosts文件详解
1、主机名: 无论在局域网还是INTERNET上,每台主机都有一个IP地址,是为了区分此台主机和彼台主机,也就是说IP地址就是主机的门牌号。 公网:IP地址不方便记忆,所以又有了域名。域名只是在公网(INtERNET)中存在,每个域名都对应一个IP地址,但一个IP地址可有对应多个域名。 局域网:每台机器都有一个主机名,用于主机与主机之间的便于区分,就可以为每台机器设置主机名,...
2015-07-07 10:51:33
151
在Python中使用MYSQL
缘由 近期在折腾一个小东西须要抓取网上的页面。然后进行解析。将结果放到数据库中。 了解到Python在这方面有优势,便选用之。 由于我有台server上面安装有mysql,自然使用之。在进行数据库的这个操作过程中遇到了不少问题,这里记录一下,大家共勉。 python中mysql的调用 百度之后能够通过MySQLdb进行数据库操作。查看文档,了解到python中提供...
2015-07-04 09:29:41
125
Linux Shell脚本之自动修改IP
作为一名Linux SA,日常运维中很多地方都会用到脚本,而服务器的ip一般采用静态ip或者MAC绑定,当然后者比较操作起来相对繁琐,而前者我们可以设置主机名、ip信息、网关等配置。修改成特定的主机名在维护和管理方面也比较方便。如下脚本用途为:修改ip和主机名等相关信息,可以根据实际需求修改,举一反三!#!/bin/sh#auto Change ip netmask gateway ...
2015-06-27 21:26:18
760
Linux各个目录的作用及内容
1)根目录“/” 根目录位于目录结构的最顶层,用斜线(/)表示,类似于Windows操作系统的“C:\“,包含Fedora操作系统中所有的目录和文件。 2)/bin /bin 目录又称为二进制目录,包含了那些供系统管理员和普通用户使用的重要linux命令的二进制映像。该目录存放的内容包括各种可执行文件,还有某些可执行文件的符号连接。常用的命令有:cp、dmesg、kill...
2015-04-17 20:53:37
85
Linux shell数组建立和使用技巧
1.数组定义 [chengmo@centos5 ~]$ a=(1 2 3 4 5) [chengmo@centos5 ~]$ echo $a 1 一对括号表示是数组,数组元素用“空格”符号分割开。 2.数组读取与赋值 得到长度: [chengmo@centos5 ~]$ echo ${#a[@]} 5 用${#数组名[@或*]} 可以得到数...
2015-03-29 16:38:43
112
修改phpMyAdmin导入SQL文件的大小限制
用phpMyAdmin导入mysql数据库时,我的10M的数据库不能导入,提示mysql数据库最大只能导入2M。 phpMyAdmin数据库导入出错: You probably tried to upload too large file. Please refer to documentation for ways to workaround this limit. 可以...
2015-03-22 09:38:54
138
10招让你成为杰出的Java程序员
如果你是一个热衷于技术的 Java 程序员, 那么下面的 10 个要点可以让你在众多 Java 开发人员中脱颖而出。 1. 拥有扎实的基础和深刻理解 OO 原则 对于 Java 程序员,深刻理解 Object Oriented Programming(面向对象编程)这一概念是必须的。没有 OOPS 的坚实基础,就领会不了像 Java 这些面向对象编程语言的美。光学习 OO 原则的定...
2015-03-08 10:53:52
314
Linux下df与du两个命令的差别?
一、df显示文件系统的使用情况,与du比較,就是更全盘化。 最经常使用的就是 df -T,显示文件系统的使用情况并显示文件系统的类型。 举比例如以下: [root@localhost ~]# df -T Filesystem Type 1K-blocks Used Available Use% Mounted on /de...
2015-03-01 16:22:47
140
在Mysql 众多表中查找一个表名或者字段名的 SQL 语句
在Mysql 众多表中查找一个表名或者字段名的 SQL 语句: 方法一:SELECT table_name, column_name from information_schema.columns WHERE column_name LIKE 'Name'; 方法二:SELECT column_name from information_schema.columns WHERE ...
2015-02-28 09:18:33
243
Java中getResourceAsStream的用法
1.Java中的getResourceAsStream有以下几种: 1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。 2. Class.getClassLoader.get...
2015-02-22 16:22:23
95
程序员解决问题的60个策略
根本的指导方针1. 首先写代码的时候最好不要有缺陷。最好的修复方法就是让 bug 胎死腹中。良好的单元测试强制数据库约束使用输入验证框架避免未实现的“else”条件在应用到主程序之前知道如何在孤立的情况下使用 日志2. print 语句。往往额外输出个一两行将有助于隔离问题。3. 切换至详细的日志记录。详细的日志...
2015-02-03 09:13:57
103
Linux下通过源码编译安装程序
一、程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在linux下用man命令查看的命令的文档 二、linux下程序的存放目录 linux程序的存放目录大致有三个地方: /etc, /bin, /sbi...
2015-02-01 12:17:32
147
Java线程的5个使用技巧
Java线程有哪些不太为人所知的技巧与用法? 萝卜白菜各有所爱。像我就喜欢Java。学无止境,这也是我喜欢它的一个原因。日常工作中你所用到的工具,通常都有些你从来没有了解过的东西,比方说某个方法或者是一些有趣的用法。比如说线程。没错,就是线程。或者确切说是Thread这个类。当我们在构建高可扩展性系统的时候,通常会面临各种各样的并发编程的问题,不过我们现在所要讲的可能会略有不同。 从...
2015-01-24 17:31:04
93
改良程序的11技巧
有很多理由都能说明为什么我们应该写出清晰、可读性好的程序。最重要的一点,程序你只写一次,但以后会无数次的阅读。当你第二天回头来看你的代码 时,你就要开始阅读它了。当你把代码拿给其他人看时,他必须阅读你的代码。因此,在编写时多花一点时间,你会在阅读它时节省大量的时间。 让我们看一些基本的编程技巧: 尽量保持方法简短永远永远不要把同一个变量用于多个不同的目的使用自描述的变量...
2015-01-22 10:18:54
79
一个备份MySQL数据库的简单Shell脚本
主脚本(用于备份mysql数据库): 该Shell脚本可以自动备份数据库。只要复制粘贴本脚本到文本编辑器中,输入数据库用户名、密码以及数据库名即可。我备份数据库使用的是mysqlump 命令。后面会对每行脚本命令进行说明。 1. 分别建立目录“backup”和“oldbackup” #mkdir /backup #mkdir /oldbackup 2. 现在使...
2015-01-20 06:25:20
113
写好Java代码的30条经验总结
成为一个优秀的Java程序员,有着良好的代码编写习惯是必不可少的。下面就让我们来看看代码编写的30条建议吧。 (1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如:ThisIsAClassNamethisIsMethodOrFieldName若在定义中出现了常数初始化字符,则大写...
2015-01-19 14:42:06
76
Java为什么会引入及如何使用Unsafe
sun.misc.Unsafe至少从2004年Java1.4开始就存在于Java中了。在Java9中,为了提高JVM的可维护性,Unsafe和许多其他的东西一起都被作为内部使用类隐藏起来了。但是究竟是什么取代Unsafe不得而知,个人推测会有不止一样来取代它,那么问题来了,到底为什么要使用Unsafe? 做一些Java语言不允许但是又十分有用的事情 很多低级语言中可用的技巧在Jav...
2015-01-18 10:56:21
245
关于Linux路由表的route命令
查看 Linux 内核路由表 使用下面的 route 命令可以查看 Linux 内核路由表。 # route Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 * 255.255.255.0 U 0 ...
2015-01-06 15:32:07
128
使用ssh远程执行命令批量导出数据库到本地
前天正在跟前端的同事调试功能。服务器开好,模拟的玩家登录好,就在倒计时。这时突然运营的同事跑过来说要统计几个服务器玩家的一些情况,也就是需要从几个服的数据库导出部分玩家的数据。好吧,我看了一下时间,11:47。心想,跟前端调试完,去吃个饭再午休一下那就下午再给吧。没想对方来一句"就导个数据库而已,要这么久么?",而且还是直接跟我上司说的。我嚓,好吧,我导。可问题来了,平时的统计是由php做的,批...
2015-01-04 13:35:54
453
log4j将记录日志保存到数据库
一、前提条件 系统必须是使用LOG4J进行日志管理,否则方法无效。 系统必须包含commons-logging-xxx.jar,log4j-xxx.jar这两个JAR包,XXX为版本号。 二、操作步骤 1、创建日志表 要把日志持久化,必须在数据库中创建一张用来存储日志信息的表,表内字段为日志 的一个主要属性包括:操作类,执行方法,打印时间,日志级别,日志内容。 CREAT...
2014-12-26 09:06:17
830
5步避免Java堆空间错误
牢记以下五个步骤可以为你减少很多头痛的问题并且避免Java堆空间错误。 通过计算预期的内存消耗。 检查JVM是否有足够的可用空间。 检查JVM的设置是否正确。 限制节点使用交换空间和内存分页。 设置实例slot数量小于JobTracker web GUI计算的数值。 译者注:slot :slot不是CPU的Core,也不是memory chip,它是一个逻辑...
2014-12-20 10:30:04
398
Oracle闪回删除表原理分析
首先你应该明白闪回删除操作的对象仅仅是表,它允许你将之前删除的表恢复到删除它之前的状态,同时还会恢复所有索引以及任何权限和触发器,唯一的主键和非空约束也会被恢复(注意不包括外键)。 Oracle 10g开始,drop table 命令的实现方式为:它实际上根本没有删除表,而只是重命名表,并把重命名的表放进回收站(每个用户都有一个回收站)可以在user_recyclebin数据字典中查看当前...
2014-12-18 14:32:00
236
远程linux服务器mysql数据库定期备份和删除
网上已经有部分关于Linux下定期备份mysql的方法,但是很多步骤不够详细,不适合新手,自己琢磨了很久,终于搞定了。 1.Linux服务器一般是ssh协议,如果本地也是Linux环境,可以直接通过shell连接,命令: ssh -l root -p 8080 202.***.***.*** 其中root为用户名,一般为root,8080为端口,202.***.**...
2014-12-13 10:11:39
155
SQL语句中的嵌套SELECT语句
SELECT 语句是SQL语句中最重要的语句,下面就将为大家介绍SQL中的嵌套SELECT 语句,如果您对此有兴趣,不妨一看,相信会对您有所帮助。 嵌套SELECT 语句也叫子查询,形如: SELECT name FROM bbc WHERE region = (SELECT region FROM bbc WHERE name = 'Brazil') 一个 SELECT 语句...
2014-12-10 21:20:21
807
Extjs分页使用Java实现数据库数据查询
关于Ext分 页功能的实现。项目用的是js、Ext、servlet。下面贴下代码:var obj = this;var pageSize = 20; //统计结果分页每一页显示数据条数//在这里使用Store来创建一个类似于数据表的结构,因为需要远程获取数据,所以应该使用//HttpProxy类,我是从后台读取的是json数据格式的数据,所以使用JsonReader来解析;...
2014-12-07 21:29:18
135
如何使用Java读写系统属性?
如何使用Java读写系统属性? 读:Properties props = System.getProperties();Enumeration prop_names = props.propertyNames();while (prop_names.hasMoreElements()) {String prop_name = (String) prop_names.next...
2014-11-25 17:27:47
117
Java list三种遍历方法性能比较
从c/c++语言转向java开发,学习java语言list遍历的三种方法,顺便测试各种遍历方法的性能,测试方法为在ArrayList中插入1千万条记录,然后遍历ArrayList,发现了一个奇怪的现象,测试代码例如以下:package com.hisense.tiger.list;import java.util.ArrayList;import java.util.Iterator...
2014-11-21 14:59:04
216
看开源编程高手的11个技巧
如今,非常多的人都想涉足开源的,但不知道从什么地方入手。这里有几种方法可以帮帮忙,即使你缺乏信心,你但仍然能够让你挑起技术大梁。 开源软件改变了计算乃至整个世界,也许你也想为这样一件事做出贡献。但不幸的是,很多人认为参与这样的项目具有很高的门槛。我经常听到人们说,他们很乐意贡献但不能的原因有三个: “我不是一个很优秀的程序员。”“我没有太多的时间投入进去。”“我不知道什么...
2014-11-10 09:23:25
117
开发中遇到的java小知识
今天在优化一个功能的时候遇到了instr与substr函数,之前没有接触过这两个函数,但是今天无意中用到,一查才发现,真是实用的一对兄弟啊。 先来说说substr函数,这个函数返回的是字符串的一部分。 substr(string,start,length) 其中string参数为必须参数,要截取的字符串内容。 start为必须参数,为起始的位置,可以为正数也可以为负数,正...
2014-10-30 14:44:22
117
避免Java应用中NullPointerException的技巧和最佳实践
1) 从已知的String对象中调用equals()和equalsIgnoreCase()方法,而非未知对象。 总是从已知的非空String对象中调用equals()方法。因为equals()方法是对称的,调用a.equals(b)和调用b.equals(a)是完全相同的,这也是为什么程序员对于对象a和b这么不上心。如果调用者是空指针,这种调用可能导致一个空指针异常Object unk...
2014-10-22 22:39:25
139
一些实用但不为人知的Unix命令
浮现在脑海的很多 Linux命令,其中一些不为人知,另一些则很常见,如下: xargs or parallel: 并行运行一些程序,命令有很多的选项 sed and awk: 广为人知并且非常有用的处理文本文件的命令,比Python和Ruby还快 m4: 简单的宏处理命令 screen: 功能强大的终端复用和会话持久工具,详见http://www.ibm.com/de...
2014-10-21 14:12:44
81
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人