Java命令学习系列4——jstat详解

jstat(JVM Statistics Monitoring Tool)是Oracle公司提供的用户监控虚拟机各种运行状态信息的命令行工具。相比于jmap -dump(上文介绍过:主要是用来监控堆使用情况)它更进一层,可以显示进程中的类装载,内存,垃圾收集,JIT编译等运行时的数据,从而可以对JVM的运行周期内的各个状态有一个宏观的把握。

阅读全文

Java命令学习系列3——Jmap详解

第一篇介绍 jps 工具的文章中已经介绍了如果找到我们所需要的Java进程,第二篇 jinfo 工具的文章中介绍了如何查看指定的Java进程的系统配置信息和用户参数信息,本文将更深入一步,介绍如何使用jmap工具在程序运行期间动态查看堆使用信息,以及Java对象信息。

阅读全文

Java命令学习系列2——jinfo详解

本话题的第一篇介绍了如何使用 jps命令,找到我们需要的Java进程。本文是承接上文的内容在找到我们需要的Java进程之后,如何使用jinfo查看该进程的详细信息。

阅读全文

Java命令学习系列1——Jps详解

jps命令的作用是显示当前用户的Java进程。相当于Linux系统下的ps aux | grep java命令。但是jps并不是使用应用程序名称来查找JVM实例,而是查找当前用户的所有Java进程。

阅读全文

Win/Mac/Linux免费翻墙详细教程

自从GFW问世以来,将整个天朝又慢慢地走向了改(bi)革(guan)开(suo)放(guo)的道路,作为一个有志青年,怎么可能不阅读外国的文献。所以就走上了翻墙之路,最近发现,亚马逊推出了一款云主机,可以免费用一年(换个账号和密码又可以用一年),所以就诞生了如下的免费翻墙教程。试用于所有的操作系统平台。

阅读全文

我为什么写博客

没有明显坏处。却有很多好处。

阅读全文

java并发编程之10——for/join框架

Fork/Join框架是Java7提供的用户执行并行任务的框架,主要的工作是将大任务分割成若干个小任务。然后并行执行子任务,汇总每个子任务的结果,得到最终结果。他的主要优点有如下两个:

  • 内部实现了工作窃取算法,当一个线程完成自己的任务之后,会从其他线程的任务队列的末尾,拿到任务去执行。
  • 有封装良好的API,用户只需要定义如何划分任务,不需要关心实现细节。

阅读全文

java并发编程之9——如何理解Condtion

在理解Condition之前首先要明白两个概念:

  • 等待队列:等待获取锁的线程构成的队列,称为等待队列
  • 条件队列:已经获取到锁的线程由于某种原因释放了锁,等待signal信号,而构成的队列称为条件队列

阅读全文

java并发编程之8——AQS如何实现Semaphore

Semaphore的实现和ReentrantLock的实现很相似,都有公平和非公平两种实现。本文的分析可以对比 LOCK源码分析CountDownLatch源码分析 对比看。这样可以看出AQS的几条关键执行路径。

阅读全文

java并发编程之7——AQS如何实现ReentrantLock

ReentrantLock是显示锁,Synchronized叫内置锁是JDK1.6中由道格李引入的。他们的关系就像 wait/notify 和 condition。RenentrantLock的实现和CountDownLatch的实现基本相同,唯一的区别是ReentrantLock有两种实现,分别对应公平锁和非公平锁。

阅读全文

软件破解过程详解(以Paw软件为例)

我们所使用的收费软件一般有两种形式:1 输入注册吗的软件,2 购买VIP的软件。学习过程序的人员都知道,这些实现的本质都是一些 if ... else 的判断。所以这些软件的破解思路都是一样的。本文将以 Paw 软件为例。详细介绍软件的破解过程。仅供学习交流。如果是商业用途请支持正版!!!

阅读全文

java并发编程之6——AQS如何实现CountDownLatch

前面写过一篇文章AQS源码分析的时候介绍过AQS是java并发编程的基础,Java并发包下面提供的同步工具类基本上都是以AQS构建的,一个同步类的实现主要分为三步…

阅读全文

Beyond-Compare-无限试用

      前面一篇文章介绍了 Beyond Comapre 和其他工具的结合试用教程: 使用Beyond Compare的几种Diff方式 Beyond Comapre 虽然比较好用,但是几个也比较贵。本文将介绍两种方法,在保证所有功能正常试用的情况下,实现无限期试用。注:本教程只提供学习交流使用,否则请支持官方正版。(本文教程对应的最新的 Beyond Compare 的版本是:4.1.6)

阅读全文

Mac 使用Beyond Compare的几种Diff方式

作为一个Coder不管是QA还是RD在很多时候都需要使用diff工具。目前来说业界做的最好的工具也就是 Beyond Compare 了,并且支持Windows和Mac,本文将介绍Mac系统下 Beyond CompareIntellij idea PyCharm SourceTree Git客户端 等工具结合,diff代码的方法。

阅读全文

screen管理远程会话不被kill

在我们的开发过程中经常需要 SSH 或者 telent 远程登录到 Linux 服务器。然后执行一些运行时间很长的任务。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为他们执行的时间太长了。必须等待它执行完毕,在此期间可不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。最近终于找到了解决这个问题的神器-screen。

阅读全文