前言 最近在看锁相关的东西,顺便梳理了一下Java领域的锁。Java里面按锁的轻重,可以分为轻量级锁和重量级锁。这些锁的整理,对理解GC日志也有帮助 锁的状态 锁的状态总共有四种:无锁状态、偏向锁、轻量级锁和重量级锁。 重量级锁 上篇文章中向大家介绍了Synchronized的用法及其实现的原理。现在我们应该知道,Synchronized是通过对象内部的一个叫做监视器锁(monitor)来实现的。 … 继续阅读
分类目录归档:编程
内核态和用户态
虽然以前学操作系统的时候,经常听到内核态和用户态,但是其实因为并不熟悉,这两个概念,于是花了点时间了解和整理了这部分东西。 系统调用将Linux整个体系分为用户态和内核态(或者说内核空间和用户空间)。 用户态和内核态 内核态 那内核态到底是什么呢?其实从本质上说就是我们所说的内核,它是一种特殊的软件程序,特殊在哪儿呢?控制计算机的硬件资源,例如协调CPU资源,分配内存资源,并且提供稳定的环境供应用 … 继续阅读
SQL优化
SQL优化在日常开始比较常见,又非常重要,网上很多的教程,抽空整理了一下。 SQL 优化 1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 最好不要给数据库 … 继续阅读
MySQL慢查询与索引优化
MySQL慢查询 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10S以上的语句。 默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动 … 继续阅读
tomcat性能参数优化
Tomcat性能优化 最近看了线上的一些配置,需要优化tomcat的性能,还做了一个实例demo用来调试优化,于是整理和记录tomcat的性能相关的东西。tomcat优化的东西,其实还不少的 一、内存优化 默认情况下Tomcat的相关内存配置较低,这对于一些大型项目显然是不够用的,这些项目运行就已经耗费了大部分内存空间,何况大规模访问的情况。即使是本文中的这个只有一个页面的超小项目,在并发达到一定 … 继续阅读
MySQL索引
索引 在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 索引是为了加速对表中数据行的检索而创建的一种分散的存储结构。索引是针对表而建立的,它是由数据页面以外的索引页面组成的,每个索引页面中的行都会含有逻辑指针,以便加速检索物理数据。 索引类型 数据库设计器中创建四种索引: … 继续阅读