- 揭秘MySQL索引下推(ICP)的底层原理与高并发场景性能调优
Minxinbb
数据库mysql数据库dba
引言在千万级数据量的OLTP场景中,索引下推(IndexConditionPushdown,ICP)作为MySQL5.6引入的核心优化技术,可将特定场景的查询性能提升10倍以上。本文将从InnoDB存储引擎的索引结构出发,结合B+树遍历原理,深入解析ICP的工作机制,并通过压力测试对比验证优化效果。一、索引下推的核心原理剖析1.1传统索引查询的瓶颈未启用ICP时的查询流程(以复合索引(a,b,c)
- 三七互娱GO面经及参考答案
大模型大数据攻城狮
golangepollB树原理幻读go面试go面经mysql性能
MySQL有哪些存储引擎?MyISAM如何存储数字类型数据?MySQL拥有多种存储引擎,每种都有其独特的特性和适用场景。常见的存储引擎包括InnoDB、MyISAM、Memory、CSV、Archive、Federated等。InnoDB是MySQL5.5版本之后的默认存储引擎,它支持事务、外键、行级锁和崩溃恢复功能,适合处理高并发事务型应用。MyISAM是早期MySQL的默认存储引擎,不支持事务
- MySQL索引分类有哪些?
java1234_小锋
mysqlmysql
大家好,我是锋哥。今天分享关于【MySQL索引分类有哪些?】面试题。希望对大家有帮助;MySQL索引分类有哪些?超硬核AI学习资料,现在永久免费了!MySQL中的索引可以根据不同的分类标准分为以下几种类型:1.根据存储方式分类聚集索引(ClusteredIndex):表中的数据行会按照索引顺序存储,即数据的物理顺序和索引顺序一致。每个表最多只能有一个聚集索引。在InnoDB存储引擎中,主键就是聚集
- MySQL之锁机制详解:全局锁,表级锁,行级锁
AA-代码批发V哥
MySQLmysql数据库
MySQL之锁机制详解:全局锁,表级锁,行级锁一、锁机制基础:从并发问题到锁分类1.1并发访问的三大问题1.2锁的核心作用1.3锁粒度分类二、全局锁:掌控整个数据库的"超级锁"2.1全局锁原理2.2全局锁语法与使用2.2.1显式加锁2.2.2隐式加锁(备份场景)2.3全局锁的双刃剑三、表级锁:粗粒度的高效控制3.1表级锁核心特性锁兼容性矩阵:3.2MyISAM表级锁实战3.2.1加锁示例3.2.2
- InnoDB引擎 (上)
阿亮爱学代码
MYSQLmysqlInnoDB存储引擎sql
目录1.1逻辑存储结构1.2架构1.3磁盘结构1.4后台线程1.5事务原理1.1逻辑存储结构表空间(ibd文件):一个mysql实例可以对应多个表空间,用于存储记录,索引等数据。段:数据段,索引段,回滚段,InnoDB是索引组织表,数据段是B+树的叶子节点,索引段即为B+树的非叶子节点。区:表空间的单元结构,每个区的大小为1M。页:是InnoDB存储引擎磁盘管理的最小单元,每个页的大小默认为16K
- MySQL为什么默认引擎是InnoDB?
java1234_小锋
mysqlmysql数据库
大家好,我是锋哥。今天分享关于【MySQL为什么默认引擎是InnoDB?】面试题。希望对大家有帮助;MySQL为什么默认引擎是InnoDB?超硬核AI学习资料,现在永久免费了!MySQL默认使用InnoDB引擎主要是因为以下几个原因:事务支持:InnoDB支持事务处理,具备ACID(原子性、一致性、隔离性、持久性)特性,这对于大多数现代应用程序至关重要。事务支持使得数据操作更加可靠,特别是在多用户
- 终止分区表变更操作时误删数据字典缓存导致MySQL崩溃分析
数据库mysql
终止分区表变更操作时误删数据字典缓存导致MySQL崩溃分析1.问题简述在MySQL中,当终止一个处于committingaltertabletostorageengine阶段的分区表操作时,InnoDB会尝试进行回滚并清理数据字典缓存。不幸的是,过程中发生了误删表缓存对象的情况——InnoDB错误地移除了另一张非目标表的缓存条目,导致引用计数不为0,触发断言失败并导致MySQL崩溃。2.复现步骤环
- 《MySQL技术》学习笔记——MySQL的基本管理
十月翊安
MySQL技术内幕mysql数据库服务器
MySQL技术内幕——MySQL的基本管理MySQL的基本管理保护新安装的MySQL为初始的MySQL账户建立密码为附加服务器设置密码安排MySQL服务器的启动和关闭在Unix里运行MySQL服务器指定服务器启动选项控制服务的连接监听停止服务器当无法连接服务器时重新获得对它的控制使用系统变量和状态变量查看和设置系统变量值查看状态变量值插件接口存储引擎配置选择存储引擎选择默认存储引擎配置InnoDB
- 《MySQL 技术内幕(第5版)》逐章精华笔记第五章
喵桑..
MySQLmysql数据库sql
第5章:锁机制(完整版)本章目标弄懂MySQL的各种锁类型及作用理解InnoDB如何实现高并发控制掌握死锁场景、排查与解决方案弄清楚MVCC与锁的关系一、锁的分类总览1.粒度分类锁类型粒度说明表锁表级别一次锁整张表行锁行级别精细到某一行意向锁表级别元信息标识是否打算加行锁2.模式分类锁模式含义共享锁(S)多个事务可读排它锁(X)只有一个事务可写InnoDB默认使用行级锁+意向锁组合来实现高并发。二
- 《MySQL 技术内幕(第5版)》逐章精华笔记(Markdown版)
喵桑..
MySQLmysql笔记数据库
第1章:MySQL架构总览精华总结MySQL架构分为三层:连接层、SQL层、存储引擎层。存储引擎是插件式的,InnoDB是默认引擎。大白话MySQL就像餐厅:前厅服务(连接处理),厨师做菜(SQL执行),后厨食材(存储引擎)。你换厨师不影响大厅。第2章:存储引擎架构精华总结InnoDB使用页(默认16KB)来管理数据。主键默认建聚簇索引,数据就按主键存。辅助索引只存主键值。大白话想象数据是一本字典
- 《MySQL 技术内幕(第5版)》逐章精华笔记第三章
喵桑..
MySQLmysql笔记数据库
第3章:表与索引结构(完整版)本章目标理解MySQL索引的物理结构(B+树)掌握最左前缀原则、覆盖索引、回表机制学会索引设计优化常见查询避免典型的“索引失效”写法一、B+树索引结构详解InnoDB中所有索引,包括聚簇索引和辅助索引,底层都是B+树结构。B+树vsB树对比项目B树B+树(MySQL用)叶子节点存数据存数据非叶子节点也存数据只存键,不存值查找效率较慢较快(更适合范围查找)查询方式可能终
- MySQL(96)如何解决主从复制延迟问题?
辞暮尔尔-烟火年年
MySQLmysql数据库
MySQL主从复制延迟问题会影响数据一致性和实时性。为了减小或消除这种延迟,可以采取以下几种方法:1.优化主服务器的性能确保主服务器能够高效地处理写操作,以减少发送二进制日志到从服务器的时间。1.1调整InnoDB缓冲池大小SETGLOBALinnodb_buffer_pool_size=8G;#根据服务器内存调整大小1.2启用异步I/O[mysqld]innodb_use_native_aio=
- mysql innodb和ndb的区别_InnoDB和NDB,MySQL群集和InnoDB群集之间有什么区别?
addytan
mysqlinnodb和ndb的区别
像任何不断发展的成熟技术一样,MySQL积累了自己的术语。某些术语有时会引起混淆,尤其是当两个术语相似但实际上是指两个完全不同的事物时。对于两个存储引擎InnoDB和NDB(读音听起来很相似),以及两个“群集”技术:InnoDBCluster和MySQLCluster尤其如此。让我们看看是否可以消除这种混乱。InnoDB是一种存储引擎-数据库用来读取,写入,更新和删除数据以及执行其他基本操作的软件
- mysql引擎innodb与ndb比较_mysql存储引擎memory,ndb,innodb之选择
甜品专家
mysql的innodb和cluster的NDB引擎都支持事务,在有共同的特性外,也有不同之处:以mysqlclusterNDB7.3和MySQL5.6之InnoDB为例:ndb7.3基于mysql5.6,包括支持innodb1.1,因此可以在cluster里使用innodb表,但这些表不是集群的。MySQLClusterNDB存储引擎用分布式,shared-nothing的架构实现,这使其和in
- InnoDB Cluster 与 NDB Cluster 对比及部署指南
中国lanwp
mysql
InnoDBCluster与NDBCluster对比及部署指南一、核心区别对比特性InnoDBClusterNDBCluster存储引擎InnoDBNDB(内存优先)架构设计基于GroupReplication分布式架构(数据节点+管理节点+SQL节点)一致性模型最终一致性/强一致性强一致性数据持久化磁盘存储为主内存存储为主,定期快照适用场景通用OLTP高吞吐实时处理扩展性垂直扩展为主水平线性扩展
- 你了解B+树吗?它有哪些使用场景呢?
心丑姑娘
算法java
MySQLInnoDB索引(B+树)详解及源码分析MySQLInnoDB使用B+树(B+Tree)作为其主要的索引结构,用于主键索引(聚簇索引)和辅助索引(二级索引)。B+树相比AVL树、红黑树等数据结构,更适合数据库的大规模数据存储和磁盘存取优化。一、B+树的基本概念1.什么是B+树?B+树是一种平衡树,它具有以下特点:多路平衡搜索树:不是二叉树,而是多路(m阶),每个节点可以有m个子节点。数据
- mysql innodb cluster集群部署教程
火烧风
mysqladb数据库
shell相关视频讲解:Linuxshell脚本编程入门详细讲解MySQLInnoDBCluster集群部署教程整体流程下面是部署MySQLInnoDBCluster集群的整个流程:步骤描述1.安装MySQLShell安装MySQLShell是连接MySQL数据库的客户端工具,可以用于执行各种管理任务。2.创建InnoDBCluster使用MySQLShell创建InnoDBCluster,将多个
- MySQL 复制(Replication)、组复制(MGR)、InnoDB ReplicaSet、InnoDB Cluster与NDB Cluster的区别与联系
HD243608836
HAmysqltomcatmysql高可用clusterinnodb组复制
复制(Replication)是本文中所有MySQL技术的基础。包括:异步复制、半同步复制,增强半同步复制。InnoDB副本集(MySQLInnoDBReplicaSet)无缝衔接其他MySQL官方提供的应用程序(MySQLShell、MySQLRouter),提供了另一种易于使用的编程方式来处理复制,属于复制(Replication)的简易增强版。组复制(MySQLGroupReplicatio
- 你是一个有10年工作经验的后端开发,当面试官让你描述一下MySQL数据库索引,你怎么回答?
亲爱的非洲野猪
数据库mysql
MySQL数据库索引详解MySQL索引核心理解“MySQL索引是提高查询性能的关键机制,它通过额外的数据结构帮助数据库引擎快速定位数据,避免全表扫描。在实际项目中,合理的索引设计往往能带来数量级的性能提升。”MySQL常用索引类型B+Tree索引:InnoDB默认索引类型,支持等值查询和范围查询主键索引(聚簇索引):数据按主键值物理排序存储二级索引(非聚簇索引):存储主键值,需要回表查询哈希索引:
- MySQL面试篇章—MySQL锁机制
itzzan
MySQL面试篇章mysql面试
文章目录MySQL的锁机制表级锁&行级锁排它锁和共享锁InnoDB行级锁行级锁间隙锁意向共享锁和意向排它锁InnoDB表级锁死锁锁的优化建议MVCC多版本并发控制MyISAM表级锁表级锁并发插入优化锁调度优化MySQL的锁机制表级锁&行级锁表级锁:对整张表加锁,开销小,加锁快,不会出现死锁;但是锁粒度大,发生锁冲突的概率高,并发度低行级锁:对某行记录加锁,开销大,加锁慢,会出现死锁;但是锁粒度小,
- MySQL 事务实现机制详解
亲爱的非洲野猪
mysql数据库
MySQL事务实现机制详解MySQL通过多种技术协同工作来实现事务的ACID特性(原子性、一致性、隔离性和持久性),以下是其核心实现机制:一、事务基础架构1.事务支持引擎InnoDB:MySQL默认支持事务的存储引擎NDBCluster:集群环境的事务支持其他引擎:如MyISAM不支持事务2.事务基本操作STARTTRANSACTION;--或BEGIN--执行SQL语句INSERTINTOacc
- 详解MySQL重做日志redolog
shark-chili
#MySQL数据库Java核心技术精讲mysql
写在文章开头redolog也就是所谓的重做日志,是innoDb存储引擎独有的日志,它使得MySQL在宕机情况下依旧可以redolog完成数据具备恢复能力,从而保证数据完整性,本文将针对该日志进行分析讲解,希望对你有帮助。我是SharkChili,Java开发者,JavaGuide开源项目维护者。欢迎关注我的公众号:写代码的SharkChili,也欢迎您了解我的开源项目mini-redis:http
- MySQL之InnoDB存储引擎深度解析
AA-代码批发V哥
MySQLmysql数据库
MySQL之InnoDB存储引擎深度解析一、InnoDB存储引擎概述1.1发展历程与地位1.2核心特性二、InnoDB架构剖析2.1内存结构2.1.1缓冲池(BufferPool)2.1.2重做日志缓冲(RedoLogBuffer)2.1.3自适应哈希索引(AdaptiveHashIndex)2.2磁盘结构2.2.1数据文件2.2.2重做日志文件(RedoLogFile)2.2.3回滚日志文件(U
- mysql源码-innodb mvcc原理与源码解析
qhgxinxing
mysql源码分析mysql数据库mvcc原理mvcc源码解析
原理图解说1在innodb中,保存了一个全局事务链表,记录了活跃事务,即还未完成的事务2t2时刻活跃的事务id为104~111,其中107已经完成3在t2时刻,读事务A查询数据,在查询范围内的事务id为100~114,需要判断事务id100~114那些是否可见的首先,先把当前活跃事务复制到自己空间,创建自己的readview,活跃的事务id有104~111,不包含107,107已经完成。最后,读取
- Mysql八股文
程序员Realeo
数据库mysql数据库sql
Mysql八股文数据库的三范式是什么第一范式:列不可再分第二范式:行可以唯一区分,主键约束第三范式:表的非主属性不能依赖与其他表的非主属性外键约束且三大范式是一级一级依赖的,第二范式建立在第一范式上,第三范式建立第一第二范式上。MySQL数据库引擎有哪些mysql常用引擎包括:MYISAM、Innodb、Memory、MERGEMYISAM:全表锁,拥有较高的执行速度,不支持事务,不支持外键,并发
- MySQL基础架构
尘土哥
mysql数据库
MySQL基础架构MySQL的逻辑架构可以分为两大部分:Server层和存储引擎层。Server层:包括连接器、查询缓存、分析器、优化器、执行器等。涵盖MySQL的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等)。所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。存储引擎层:负责数据的存储和提取。架构模式是插件式的,支持InnoDB、MyISAM、Memor
- MySQL与oracle报错显示_MySQL与Oracle的区别
叫我洋葱精
一、并发性并发性是oltp数据库最重要的特性,但并发涉及到资源的获取、共享与锁定。mysql:mysql以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过长,会让其他session无法更新此表中的数据。虽然InnoDB引擎的表可以用行级锁,但这个行级锁的机制依赖于表的索引,如果表没有索引,或者sql语句没有使用索引,那么仍然使用表级锁。oracle:oracle使用行级锁
- mysql与Oracle的区别
心雨先生
历程OracleMySQLOracle与MySQL区别
一、并发性并发性是oltp数据库最重要的特性,但并发涉及到资源的获取、共享与锁定。mysql:mysql以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过长,会让其他session无法更新此表中的数据。虽然InnoDB引擎的表可以用行级锁,但这个行级锁的机制依赖于表的索引,如果表没有索引,或者sql语句没有使用索引,那么仍然使用表级锁。oracle:oracle使用行级锁
- MySQL学习-01-InnoDB与ACID
InnoDB与ACID[2]A原子性MySQL针对原子性的设计主要涉及InnoDB的事务功能,通过COMMIT与ROLLBACK将原本多个原子性操作变成一个原子性操作,COMMIT将事务提交后事务内的所有操作统一生效,若出现错误则ROLLBACK撤销未提交的所有操作,这样通过事务的提交和撤销可以使事务中的所有操作生效与失效都保持统一,保证所有操作的原子性C一致性一致性指事务必须使数据库的状态转变必
- 数据库学习(七)——MySQL执行引擎
奕天者
数据库学习数据库学习mysql
一、MySQL执行引擎在MySQL中,执行引擎(存储引擎,StorageEngine)是数据库的核心组件之一,负责数据的存储、检索、更新、删除等底层实现。MySQL中几种常见的执行引擎:引擎名称是否支持事务是否支持行级锁是否支持外键索引类型特点简述适用场景InnoDB✅✅✅B+树、全文索引等默认引擎,支持事务、崩溃恢复、行锁,多版本控制(MVCC)高并发写、事务场景MyISAM❌❌(表锁)❌B+树
- 安装数据库首次应用
Array_06
javaoraclesql
可是为什么再一次失败之后就变成直接跳过那个要求
enter full pathname of java.exe的界面
这个java.exe是你的Oracle 11g安装目录中例如:【F:\app\chen\product\11.2.0\dbhome_1\jdk\jre\bin】下的java.exe 。不是你的电脑安装的java jdk下的java.exe!
注意第一次,使用SQL D
- Weblogic Server Console密码修改和遗忘解决方法
bijian1013
Welogic
在工作中一同事将Weblogic的console的密码忘记了,通过网上查询资料解决,实践整理了一下。
一.修改Console密码
打开weblogic控制台,安全领域 --> myrealm -->&n
- IllegalStateException: Cannot forward a response that is already committed
Cwind
javaServlets
对于初学者来说,一个常见的误解是:当调用 forward() 或者 sendRedirect() 时控制流将会自动跳出原函数。标题所示错误通常是基于此误解而引起的。 示例代码:
protected void doPost() {
if (someCondition) {
sendRedirect();
}
forward(); // Thi
- 基于流的装饰设计模式
木zi_鸣
设计模式
当想要对已有类的对象进行功能增强时,可以定义一个类,将已有对象传入,基于已有的功能,并提供加强功能。
自定义的类成为装饰类
模仿BufferedReader,对Reader进行包装,体现装饰设计模式
装饰类通常会通过构造方法接受被装饰的对象,并基于被装饰的对象功能,提供更强的功能。
装饰模式比继承灵活,避免继承臃肿,降低了类与类之间的关系
装饰类因为增强已有对象,具备的功能该
- Linux中的uniq命令
被触发
linux
Linux命令uniq的作用是过滤重复部分显示文件内容,这个命令读取输入文件,并比较相邻的行。在正常情 况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如 果输入文件用“- ”表示,则从标准输入读取。
AD:
uniq [选项] 文件
说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个
- 正则表达式Pattern
肆无忌惮_
Pattern
正则表达式是符合一定规则的表达式,用来专门操作字符串,对字符创进行匹配,切割,替换,获取。
例如,我们需要对QQ号码格式进行检验
规则是长度6~12位 不能0开头 只能是数字,我们可以一位一位进行比较,利用parseLong进行判断,或者是用正则表达式来匹配[1-9][0-9]{4,14} 或者 [1-9]\d{4,14}
&nbs
- Oracle高级查询之OVER (PARTITION BY ..)
知了ing
oraclesql
一、rank()/dense_rank() over(partition by ...order by ...)
现在客户有这样一个需求,查询每个部门工资最高的雇员的信息,相信有一定oracle应用知识的同学都能写出下面的SQL语句:
select e.ename, e.job, e.sal, e.deptno
from scott.emp e,
(se
- Python调试
矮蛋蛋
pythonpdb
原文地址:
http://blog.csdn.net/xuyuefei1988/article/details/19399137
1、下面网上收罗的资料初学者应该够用了,但对比IBM的Python 代码调试技巧:
IBM:包括 pdb 模块、利用 PyDev 和 Eclipse 集成进行调试、PyCharm 以及 Debug 日志进行调试:
http://www.ibm.com/d
- webservice传递自定义对象时函数为空,以及boolean不对应的问题
alleni123
webservice
今天在客户端调用方法
NodeStatus status=iservice.getNodeStatus().
结果NodeStatus的属性都是null。
进行debug之后,发现服务器端返回的确实是有值的对象。
后来发现原来是因为在客户端,NodeStatus的setter全部被我删除了。
本来是因为逻辑上不需要在客户端使用setter, 结果改了之后竟然不能获取带属性值的
- java如何干掉指针,又如何巧妙的通过引用来操作指针————>说的就是java指针
百合不是茶
C语言的强大在于可以直接操作指针的地址,通过改变指针的地址指向来达到更改地址的目的,又是由于c语言的指针过于强大,初学者很难掌握, java的出现解决了c,c++中指针的问题 java将指针封装在底层,开发人员是不能够去操作指针的地址,但是可以通过引用来间接的操作:
定义一个指针p来指向a的地址(&是地址符号):
- Eclipse打不开,提示“An error has occurred.See the log file ***/.log”
bijian1013
eclipse
打开eclipse工作目录的\.metadata\.log文件,发现如下错误:
!ENTRY org.eclipse.osgi 4 0 2012-09-10 09:28:57.139
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContai
- spring aop实例annotation方法实现
bijian1013
javaspringAOPannotation
在spring aop实例中我们通过配置xml文件来实现AOP,这里学习使用annotation来实现,使用annotation其实就是指明具体的aspect,pointcut和advice。1.申明一个切面(用一个类来实现)在这个切面里,包括了advice和pointcut
AdviceMethods.jav
- [Velocity一]Velocity语法基础入门
bit1129
velocity
用户和开发人员参考文档
http://velocity.apache.org/engine/releases/velocity-1.7/developer-guide.html
注释
1.行级注释##
2.多行注释#* *#
变量定义
使用$开头的字符串是变量定义,例如$var1, $var2,
赋值
使用#set为变量赋值,例
- 【Kafka十一】关于Kafka的副本管理
bit1129
kafka
1. 关于request.required.acks
request.required.acks控制者Producer写请求的什么时候可以确认写成功,默认是0,
0表示即不进行确认即返回。
1表示Leader写成功即返回,此时还没有进行写数据同步到其它Follower Partition中
-1表示根据指定的最少Partition确认后才返回,这个在
Th
- lua统计nginx内部变量数据
ronin47
lua nginx 统计
server {
listen 80;
server_name photo.domain.com;
location /{set $str $uri;
content_by_lua '
local url = ngx.var.uri
local res = ngx.location.capture(
- java-11.二叉树中节点的最大距离
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class MaxLenInBinTree {
/*
a. 1
/ \
2 3
/ \ / \
4 5 6 7
max=4 pass "root"
- Netty源码学习-ReadTimeoutHandler
bylijinnan
javanetty
ReadTimeoutHandler的实现思路:
开启一个定时任务,如果在指定时间内没有接收到消息,则抛出ReadTimeoutException
这个异常的捕获,在开发中,交给跟在ReadTimeoutHandler后面的ChannelHandler,例如
private final ChannelHandler timeoutHandler =
new ReadTim
- jquery验证上传文件样式及大小(好用)
cngolon
文件上传jquery验证
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="jquery1.8/jquery-1.8.0.
- 浏览器兼容【转】
cuishikuan
css浏览器IE
浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同
问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。
碰到频率:100%
解决方案:CSS里 *{margin:0;padding:0;}
备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
daizj
shell$#$?特殊变量
前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。例如,$ 表示当前Shell进程的ID,即pid,看下面的代码:
$echo $$
运行结果
29949
特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个
- 程序设计KISS 原则-------KEEP IT SIMPLE, STUPID!
dcj3sjt126com
unix
翻到一本书,讲到编程一般原则是kiss:Keep It Simple, Stupid.对这个原则深有体会,其实不仅编程如此,而且系统架构也是如此。
KEEP IT SIMPLE, STUPID! 编写只做一件事情,并且要做好的程序;编写可以在一起工作的程序,编写处理文本流的程序,因为这是通用的接口。这就是UNIX哲学.所有的哲学真 正的浓缩为一个铁一样的定律,高明的工程师的神圣的“KISS 原
- android Activity间List传值
dcj3sjt126com
Activity
第一个Activity:
import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import a
- tomcat 设置java虚拟机内存
eksliang
tomcat 内存设置
转载请出自出处:http://eksliang.iteye.com/blog/2117772
http://eksliang.iteye.com/
常见的内存溢出有以下两种:
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: Java heap space
------------
- Android 数据库事务处理
gqdy365
android
使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果程序执行到endTransaction()之前调用了setTransactionSuccessful() 方法设置事务的标志为成功则提交事务,如果没有调用setTransactionSuccessful() 方法则回滚事务。事
- Java 打开浏览器
hw1287789687
打开网址open浏览器open browser打开url打开浏览器
使用java 语言如何打开浏览器呢?
我们先研究下在cmd窗口中,如何打开网址
使用IE 打开
D:\software\bin>cmd /c start iexplore http://hw1287789687.iteye.com/blog/2153709
使用火狐打开
D:\software\bin>cmd /c start firefox http://hw1287789
- ReplaceGoogleCDN:将 Google CDN 替换为国内的 Chrome 插件
justjavac
chromeGooglegoogle apichrome插件
Chrome Web Store 安装地址: https://chrome.google.com/webstore/detail/replace-google-cdn/kpampjmfiopfpkkepbllemkibefkiice
由于众所周知的原因,只需替换一个域名就可以继续使用Google提供的前端公共库了。 同样,通过script标记引用这些资源,让网站访问速度瞬间提速吧
- 进程VS.线程
m635674608
线程
资料来源:
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001397567993007df355a3394da48f0bf14960f0c78753f000 1、Apache最早就是采用多进程模式 2、IIS服务器默认采用多线程模式 3、多进程优缺点 优点:
多进程模式最大
- Linux下安装MemCached
字符串
memcached
前提准备:1. MemCached目前最新版本为:1.4.22,可以从官网下载到。2. MemCached依赖libevent,因此在安装MemCached之前需要先安装libevent。2.1 运行下面命令,查看系统是否已安装libevent。[root@SecurityCheck ~]# rpm -qa|grep libevent libevent-headers-1.4.13-4.el6.n
- java设计模式之--jdk动态代理(实现aop编程)
Supanccy2013
javaDAO设计模式AOP
与静态代理类对照的是动态代理类,动态代理类的字节码在程序运行时由Java反射机制动态生成,无需程序员手工编写它的源代码。动态代理类不仅简化了编程工作,而且提高了软件系统的可扩展性,因为Java 反射机制可以生成任意类型的动态代理类。java.lang.reflect 包中的Proxy类和InvocationHandler 接口提供了生成动态代理类的能力。
&
- Spring 4.2新特性-对java8默认方法(default method)定义Bean的支持
wiselyman
spring 4
2.1 默认方法(default method)
java8引入了一个default medthod;
用来扩展已有的接口,在对已有接口的使用不产生任何影响的情况下,添加扩展
使用default关键字
Spring 4.2支持加载在默认方法里声明的bean
2.2
将要被声明成bean的类
public class DemoService {