学习是件开心事


  • 首页

  • 归档

  • 标签
学习是件开心事

AQS相关

发表于 2017-06-28

多线程并发情况下需要考虑线程安全问题,一般用锁来确保核心代码只有单个线程能运行。长用的有synchronized、ReentrantLock、ReadWriteLock,这些内部实现都依赖于AbstractQueuedSynchronizer类。

大致流程

  1. 线程尝试获取锁,如果获取到,线程状态保持RUNNING,程序按照业务流程走下去
  2. 如果获取失败,说明已经有其他线程获取锁了,将此线程加入到等待队列中,并将该线程挂起
  3. 线程尝试释放锁,并将等待队列中的线程唤醒‘
阅读全文 »
学习是件开心事

jstack分析线程问题

发表于 2017-05-31

原文地址:http://www.jianshu.com/p/6690f7e92f27 感谢占小狼!!

如何查看测试或线上 占用cpu较高的线程?

step1 : top

查询所有的进程占用

阅读全文 »
学习是件开心事

多线程-ScheduledThreadPoolExecutor

发表于 2016-12-29

开门见山

public class ScheduledThreadPoolExecutor
        extends ThreadPoolExecutor
        implements ScheduledExecutorService {

        public ScheduledThreadPoolExecutor(int corePoolSize) {
        //super调用父类的构造方法 即调用ThreadPoolExecutor的构造方法 
        super(corePoolSize, Integer.MAX_VALUE, 0, NANOSECONDS,
              new DelayedWorkQueue());
    }
      }
阅读全文 »
学习是件开心事

多线程-Executors

发表于 2016-12-19

在https://busnoseat.github.io/2016/12/15/并发模式-多线程/ 这篇文章里,分析了线程池ThreadPoolExecutor的工作模式。这篇文章稍微分析下Executors.
Executors是ThreadPoolExecutor的执行器,可以使用java定义好的几种线程池,其实这几种线程池共用了一个构造方法,只是入参不一样就有了不一样的线程池。

newFixedThreadPool:可重用固定线程池


public static ExecutorService newFixedThreadPool(int nThreads) {
return new ThreadPoolExecutor(nThreads, nThreads,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue());
}


阅读全文 »
学习是件开心事

多线程-ThreadPoolExecutor(不定时更新)

发表于 2016-12-15

一直很想写一篇关于多线程的文章,于是搜了很多文章,自己琢磨了许久才敢下笔 ,那么开始吧。

ThreadPoolExecutor线程池初探


jdk8线程池类ThreadPoolExecutor的完整构造方法如下:
public ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue workQueue) {
this(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue,
Executors.defaultThreadFactory(), defaultHandler);

阅读全文 »
学习是件开心事

linux查询日志

发表于 2016-12-13

查询日志

如果日志不大

<code> $ vim filename </code>
<code> $ /关键字 </code>

(查询出来后 按键n n表示next)

根据关键字查询日志

<code> $ grep '关键字' filename| grep '关键字' </code>
阅读全文 »
学习是件开心事

tomcat关闭自身的日志

发表于 2016-12-02

问题: 项目日志一般用slf4j,logback等自定义日志文件,或者存到mongdb里。这样就没必要使用tomcat的打印的日志,尤其是catalina.out,虽然每天备份但是不清空自身会导致内存吃紧。

step1: 关闭日志文件


vim conf/logging.properties

将level级别设置成WARNING就可以大量减少日志的输出
一般日志的级别有: SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)
本人直接将有关打印的全部注视掉 这样tomcat的log下就再也不会有manage,localhost等日志文件
阅读全文 »
学习是件开心事

Redhat6.4 安装yum

发表于 2016-12-01

step1: 下载安装包


$ uanme -r (查看linux版本) 分i386和x86_64

x86 地址:http://mirrors.163.com/centos/6/os/i386/Packages/
x86_64 地址:http://mirrors.163.com/centos/6/os/x86_64/Packages/
主要下载四个rpm安装包(有的版本可能依赖其他包 这时要先下载并安装依赖包)
python-iniparse-0.3.1-2.1.el6.noarch.rpm
yum-metadata-parser-1.1.2-16.el6.i686.rpm
yum-3.2.29-73.el6.centos.noarch.rpm
yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm
版本可能有更新 注意在下载页面关键字查询

阅读全文 »
学习是件开心事

linux ping通ip不通域名

发表于 2016-12-01

step1:确定已经设置域名服务器


$ cat /etc/resolv.conf
-
nameserver 8.8.8.8
nameserver 8.8.4.4
阅读全文 »
学习是件开心事

Hexo 搭建博客

发表于 2016-11-30

#第一篇文章 当然是怎么搭建博客的

step1: 安装准备


git (这个不用说)
node (用这个来引入优秀的js框架 比如hexo)
github(自己创建的博客 最终是要挂在github上面的 )
阅读全文 »
1…567
Mr. Xu

Mr. Xu

记录自己平时的小槽点,
不扯天马行空的大道理。

61 日志
11 标签
© 2022 Mr. Xu
由 Hexo 强力驱动
主题 - NexT.Pisces