摘要: 调试快捷键:1: resume(F8) 调试中用来直接跳到下一个断点2: 用来结束JVM3:step into (F5)跳入函数4: step over (F6)单步执行5:step return (F7) 返回到函数入口6:drop to frame 返回到当前方法的第一行breakepoints... 阅读全文
posted @ 2013-12-22 10:40 E_star 阅读(487) 评论(0) 推荐(0) 编辑
摘要: 不转不行,太有意思:来自:http://blog.csdn.net/nnnnyyyy/archive/2011/05/10/6410554.aspx最欣赏的是这个:以下是原文:偶是一个程序员。偶的生活很简单.确切地,用两个词,来说,就像偶写的代码一样,单调且无聊。早上七点被手机叫醒:睁开眼,刷牙,洗脸,吃早饭八点半到办公室是必须的,然后开始一天工作:那什么时候下班昵?偶不知道是会是几点钟:从日出到日落,从星期一到星期天,日子就像是写错了代码产生的一个死循环:每周双休?对偶来说只能是一种奢望:平时,他们都叫偶:X工。其实只有偶最清楚,X工不是说偶是一个姓X的工程师,而是一个姓X的民工:偶没有钱, 阅读全文
posted @ 2012-07-24 17:07 E_star 阅读(894) 评论(0) 推荐(2) 编辑
摘要: 在EHCache中,可以设置maxBytesLocalHeap、maxBytesLocalOffHeap、maxBytesLocalDisk值,以控制Cache占用的内存、磁盘的大小(注:这里Off Heap是指Element中的值已被序列化,但是还没写入磁盘的状态,貌似只有企业版的EHCache支 阅读全文
posted @ 2019-01-04 20:20 E_star 阅读(1196) 评论(0) 推荐(0) 编辑
摘要: 摘要 本文以如何计算Java对象占用内存大小为切入点,在讨论计算Java对象占用堆内存大小的方法的基础上,详细讨论了Java对象头格式并结合JDK源码对对象头中的协议字段做了介绍,涉及内存模型、锁原理、分代GC、OOP-Klass模型等内容。最后推荐JDK自带的Hotspot Debug工具——HS 阅读全文
posted @ 2019-01-04 20:18 E_star 阅读(6047) 评论(3) 推荐(2) 编辑
摘要: public V put(K key, V value) { // 1. 初始化 if (table == EMPTY_TABLE) { inflateTable(threshold); } // 2. 允许key为null的put if (key == null) r... 阅读全文
posted @ 2017-10-09 14:59 E_star 阅读(498) 评论(0) 推荐(0) 编辑
摘要: 之前有朋友反馈说发的内容希望有个梯度,逐步加深,前面发了几篇关于jvm源码分析的文章,可能我觉得我已经把内容写得浅显易懂了,但是对于某些没怎么接触的同学来说还是比较难理解,这个我以后慢慢改进吧,今天发篇轻松点的文章,可能大家在工作过程中也会可能碰到类似的问题,或许有经验的同学看到这个题目就知道我要说 阅读全文
posted @ 2017-07-19 20:23 E_star 阅读(687) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/column/details/14851.html 地址记录 阅读全文
posted @ 2017-07-18 21:24 E_star 阅读(477) 评论(0) 推荐(0) 编辑
摘要: 1. 引言当我们点击某个杀毒软件的取消按钮来停止查杀病毒时,当我们在控制台敲入quit命令以结束某个后台服务时……都需要通过一个线程去取消另一个线程正在执行的任务。Java没有提供一种安全直接的方法来停止某个线程,但是Java提供了中断机制。如果对Java中断没有一个全面的了解,可能会误以为被中断的 阅读全文
posted @ 2017-02-24 20:18 E_star 阅读(504) 评论(0) 推荐(0) 编辑
摘要: 2、关于Minor GC,Major GC与Full GC 1) Minor GC:即新生代的GC,指发生在新生代的垃圾收集动作。当新生代的Eden区内存不足时,就会触发Minor GC。由于对象创建时,都会在Eden区分配内存,因此通过日志可以看到Minor GC动作执行相当频繁;同时,由于新生代 阅读全文
posted @ 2017-02-15 10:15 E_star 阅读(676) 评论(0) 推荐(0) 编辑
摘要: 找到最耗CPU的java线程 ps命令 命令: 结果展示: 这个命令的作用,主要是可以获取到对应一个进程下的线程的一些信息。 比如你想分析一下一个java进程的一些运行瓶颈点,可以通过该命令找到所有当前Thread的占用CPU的时间,也就是这里的最后一列。 比如这里找到了一个TID : 30834 阅读全文
posted @ 2016-12-03 11:13 E_star 阅读(906) 评论(0) 推荐(0) 编辑
摘要: 了解log4j的源代码来源于项目中一次需求,我们想将系统所有的warn日志统一收集到common-warn.log的日志中去,以便于系统对其进行监控处理。于是模拟自动生成的error配置完成了warn的配置,但是测试发现common-warn.log中竟然有error日志,而且业务的正常日志中竟然也 阅读全文
posted @ 2016-11-20 16:08 E_star 阅读(3997) 评论(0) 推荐(1) 编辑
摘要: 了解学习pyhton web的简单demo 1. 安装Django, 安装pyhton 自行百度 2. 执行命令创建project django-admin.py startproject mysite 3. 执行命令创建app python manage.py startapp polls 目录结 阅读全文
posted @ 2016-10-08 23:05 E_star 阅读(3232) 评论(0) 推荐(1) 编辑
摘要: 原文地址: http://tech.meituan.com/mysql-index.html MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上 阅读全文
posted @ 2016-07-13 19:26 E_star 阅读(1214) 评论(0) 推荐(0) 编辑
摘要: TCP 是一个面向连接的协议,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。本节将详细讨论一个TCP 连接是如何建立的以及通信结束后是如何终止的。 建立一个 TCP 连接 TCP使用三次握手 ( three-way handshake ) 协议来建立连接,图 3-10 描述了三次握 阅读全文
posted @ 2016-06-09 10:19 E_star 阅读(1801) 评论(0) 推荐(0) 编辑
摘要: 1.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕死的,如果分代的话, 阅读全文
posted @ 2016-06-03 14:32 E_star 阅读(21619) 评论(6) 推荐(18) 编辑
摘要: 在长期排查线上问题的过程中,总结了一些工具的用法和排查问题的思路,这里跟大家分享一下,在遇到类似的问题时,希望能给予一些帮助。 首先讲讲工具, jvm 自带的一些工具是必须熟练掌握的,例如jstack, jmap, jstat等,它们可以帮我们去深入了解JVM正在做的事情,主要的适用领域有这些: 1 阅读全文
posted @ 2016-05-05 10:19 E_star 阅读(1712) 评论(1) 推荐(0) 编辑
摘要: 如何在原窗口打开文件 具体设置:Preferences -> Settings – Default -> 搜索open_files_in_new_window,将其true 改为 false 后,重启一下sublime text 2 就OK。但是博主不建议这么做,最好在Preferences -> 阅读全文
posted @ 2016-04-07 19:13 E_star 阅读(4324) 评论(0) 推荐(0) 编辑
摘要: 缓存穿透 什么是缓存穿透? 一般的缓存系统,都是按照key去缓存查询,如果不存在对应的value,就应该去后端系统查找(比如DB)。如果key对应的value是一定不存在的,并且对该key并发请求量很大,就会对后端系统造成很大的压力。这就叫做缓存穿透。 如何避免? 1:对查询结果为空的情况也进行缓存 阅读全文
posted @ 2016-03-26 23:07 E_star 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 搞Java开发的,经常会碰到下面两种异常: 1、java.lang.OutOfMemoryError: PermGen space 2、java.lang.OutOfMemoryError: Java heap space 要详细解释这两种异常,需要简单重提下Java内存模型。 (友情提示:本博文章 阅读全文
posted @ 2016-03-24 10:49 E_star 阅读(2745) 评论(0) 推荐(0) 编辑
摘要: 一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环。 (友情提示:本博文章欢迎转载,但请注明出处:hankchen,http://www.blogjava.net/hankchen) 以我们最近出现的一个实际故障为例,介绍怎么定位和解决这类问题。 根据top命令,发现PI 阅读全文
posted @ 2016-03-24 10:48 E_star 阅读(4734) 评论(0) 推荐(0) 编辑
摘要: Windows下的任务管理器虽然不好用(个人更喜欢Process Explorer些),但也算方便,可以方便的查看进程,CPU,内存...也可以很容易的结束进程 没有图形化界面下的Linux,也有命令可以实现Windows的任务管理器功能,这个命令就是"top",用户可以使用top来对进程排序,结束 阅读全文
posted @ 2016-03-24 10:30 E_star 阅读(1515) 评论(0) 推荐(0) 编辑
摘要: 相关理论: 在聊分布式环境下数据一致性问题之前我们先看一个理论(事务的ACID一定要知道的)CAP理论: CAP理论由加州大学伯克利分校的计算机教授Eric Brewer在2000年提出,其核心思想是任何基于网络的数据共享系统最多只能满足数据一致性(Consistency)、可用性(Availabi 阅读全文
posted @ 2016-02-26 14:05 E_star 阅读(2389) 评论(0) 推荐(1) 编辑