qiezijiajia

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

08 2017 档案

摘要:Mysql优化主要通过执行计划,索引,sql语句,调整mysql内部配置 (http://blog.chinaunix.net/uid-11640640-id-3426908.html) 一、优化概述 二、查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 prof 阅读全文
posted @ 2017-08-23 16:43 qiezijiajia 阅读(134) 评论(0) 推荐(0)

摘要:定义 注解通过 @interface 关键字进行定义。 应用 创建一个类 Test,然后在类定义的地方加上 @TestAnnotation 就可以用 TestAnnotation 注解这个类了。 你可以简单理解为将 TestAnnotation 这张标签贴到 Test 这个类上面。 不过,要想注解能 阅读全文
posted @ 2017-08-23 16:40 qiezijiajia 阅读(272) 评论(0) 推荐(0)

摘要:先看一段代码的输出 结果为true。 为什么? 这里两个List均用到泛型,而泛型在编译的时候通过类型擦除已经没有了类型一说。所有两个class是相等的。 泛型是什么? 泛型一种较为准确的说法就是为了参数化类型,或者说可以将类型当做参数传递给一个类或者方法。 怎么理解参数化? 假设 Cache 能够 阅读全文
posted @ 2017-08-23 14:55 qiezijiajia 阅读(190) 评论(0) 推荐(0)

摘要:前面一篇文字讲了CAS的ABA问题,这篇文章讲下CAS,貌似反了,应该先讲CAS再讲ABA,哈哈。。 在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁 锁机制存在以下问题: (1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。 ( 阅读全文
posted @ 2017-08-17 14:51 qiezijiajia 阅读(165) 评论(0) 推荐(0)

摘要:接触并发编程少不了CAS,这里不讲CAS,在另一篇文章里面有写CAS,这里只关注CAS的ABA问题。 什么叫CAS的ABA问题? 因为CAS需要在操作值的时候检查下值有没有发生变化,如果没有发生变化则更新,但是如果一个值原来是A,变成了B,又变成了A,那么使用CAS进行检查时会发现它的值没有发生变化 阅读全文
posted @ 2017-08-16 18:58 qiezijiajia 阅读(298) 评论(0) 推荐(0)

摘要:在项目中经常会用到java线程池,但是别人问起线程池的原理,线程池的策略怎么实现的? 答得不太好,所以按照源码分析一番,首先看下最常用的线程池代码: 这个输出结果为,可以看到,没有线程池的超过10的,所以线程池执行只用了10个线程: pool-1-thread-1pool-1-thread-2poo 阅读全文
posted @ 2017-08-03 11:42 qiezijiajia 阅读(435) 评论(0) 推荐(0)

摘要:当将变量声明为volatile时,对这个变量的单个读/写相当于加了锁,但是多个读/写则不是,比如i++,下面看例子: 12345678910121213 . . . Volatile变量具有以下特性: 1.可见性,任何一个线程对该变量的读操作,总能看到任意线程对这个变量最后的写操作; 2.原子性:对 阅读全文
posted @ 2017-08-02 15:25 qiezijiajia 阅读(171) 评论(0) 推荐(0)