Archive: 2016/3

输出日志到web页面

发布工具中需要对应用的启动日志,输出到页面上,方便用户查看。于是写了一个简单的python应用,基于diango。 先看看效果: 定义一个django view来接收ajax请求:12345678910111213141516171819202122232425262728def index(request): return render(request, 'index.html')def pul

JVM性能调优实战

使用jstack来分析死锁问题123456789101112131415161718192021222324252627282930313233343536373839public class Application { public static void main(String[] args){ System.out.println(" start th

JVM性能调优工具

企业级Java应用中经常碰到的问题: OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Contention) Java进程消耗CPU过高 往往大多数人的处理办法只是重启服务,者调大内存,而不会深究问题根源。其实JVM自带了很多调优监控工具,例如jps、jstack、jmap、jhat、jstat、hprof等,下面我们对这些工具做一下详细的整理,以备不时之需。

Spring Boot 性能优化

Spring 框架给企业软件开发者提供了常见问题的通用解决方案,包括那些在未来开发中没有意识到的问题。但是,它构建的 J2EE 项目变得越来越臃肿,逐渐被 Spring Boot 所替代。Spring Boot 让我们创建和运行项目变得更为迅速,现在已经有越来越多的人使用它。我们已经在几个项目中使用了 Spring Boot ,今天我们就来一起讨论一下如何改进 Spring Boot 应用的性能。

HBase常用命令

进入Hbase Shell 1$HBASE_HOME/bin/hbase shell 查看表 1hbase(main)> list 查看表结构 123# 语法:describe <table># 例如:查看表t1的结构hbase(main)> describe 't1' 创建表结构 123# 语法:create <table>, {NAME =

ThreadLocal使用介绍

如何使用ThreadLocal在系统中任意一个适合的位置定义个ThreadLocal变量,可以定义为public static类型(直接new出来一个ThreadLocal对象),要向里面放入数据就使用set(Object),要获取数据就用get()操作,删除元素就用remove(),其余的方法是非public的方法,不推荐使用。 下面是一个简单例子(代码片段1):1234567891011121

volitile关键字

volatile关键字的两层语义一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义 保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。 禁止进行指令重排序。 先看一段代码,假如线程1先执行,线程2后执行:12345678//线程1boolean stop = false;while(!st

jenkins_rebuild_endless问题

问题描述: 当git的branch配置成”*/dev”的时候, 构建的时候会出现多个后续版本1215:03:54 Multiple candidate revisions15:03:54 Scheduling another build to catch up with Test_Git 然后就会无限的自动重复构建。问题分析:从构建日志中可以看到:12> /usr/local/bin/git

Java内存管理机制笔记

JVM内存区域 程序计数器: 线程私有,存放当前线程所执行的字节码的行号,通过改变这个计数器的值来选取下一条需要执行的字节码命令。线程挂起恢复也需要通过该计数器恢复执行位置。 JVM栈: 线程私有,与线程的生命周期相同。每个方法执行的同时都会创建一个栈帧,存放局部变量,对象引用,方法出口等。 Java堆: 所以线程共享,几乎所有的对象实例都存在这里(有些产量,例如String会放在方法区的常量池中

ES优化

内存和打开的文件数如果你的elasticsearch运行在专用服务器上,经验值是分配一半内存给elasticsearch。另一半用于系统缓存,这东西也很重要的。 你可以通过修改ES_HEAP_SIZE环境变量来改变这个设定。在启动elasticsearch之前把这个变量改到你的预期值。 另一个选择上球该elasticsearch的ES_JAVA_OPTS变量,这个变量是在启动脚本(elastics