IT全栈 华强工作室

No Silver Bullet 吾国泱泱 华夏栋梁 以梦为马 不负韶华

JVM进阶(八)——Stop The World

JVM进阶(八)——Stop The World  小伙伴还记得上一篇中我们留下的一个问题吗?什么是停顿类型!经过前几章的学习,我们知道垃圾回收首先是要经过标记的。对象被标记后就会根据不同的区域采用不同的收集方法。看上去很完美的一件事情,其实并不然。   大家有没有想过一件事情,当虚拟机完成两次...

2017-01-21 17:30:49

阅读数:44113

评论数:2

JVM进阶(七)——从GC日志分析堆内存

JVM进阶(七)——从GC日志分析堆内存  在前面的文章中,我们只设置了整个堆的内存大小。但是我们知道,堆又分为了新生代,年老代。他们之间的内存怎么分配呢?新生代又分为Eden和Survivor,他们的比例大小能改变吗?其实这些都是可控的,以前没有讲到是因为就算讲了也只是讲讲而已,看不到实质性的东...

2017-01-21 17:22:23

阅读数:42860

评论数:2

JVM进阶(六)——鲜为人知的二次标记

JVM进阶(六)——鲜为人知的二次标记  上一章我们讲到了标记,但是不是被标记了就肯定会被回收呢?不知道小伙伴们记不记得Object类有一个finalize()方法,所有类都继承了Object类,因此也默认实现了这个方法。   这个方法的用途就是:在该对象被回收之前,该对象的finalize()...

2017-01-21 17:00:17

阅读数:43824

评论数:3

漫谈程序员(二十)炉石传说罕见数据库事故!丢失30%数据,疑似误操作?

炉石传说罕见数据库事故!丢失30%数据,疑似误操作?引言  最近看到一篇关于“炉石传说数据库事故”的文章,分享给大家,并简要谈一下自己的心得体会。   看到我这标题,千万别以为我是故意为了吸引你的眼球,而是官方这么说的哦:   这里用到个词—“回档”,今天第一次听说,最开始不理解啥意思,接...

2017-01-20 09:17:04

阅读数:42861

评论数:0

JVM进阶(五)——JAVA GC之标记

JVM进阶(五)——GC之标记前言  堆分为年轻代和年老代。永久代是非堆内存,它又叫做方法区(一般的说法),主要存储已被加载的类信息、常量、静态变量。而该区域在java8已被删除,取而代之的是元空间,我会在后面的章节细讲。什么是标记?怎么标记?  第一个问题相信大家都知道,标记就是对一些已死的对象...

2017-01-15 09:28:21

阅读数:43661

评论数:2

JVM进阶(四)——利用MAT排查堆溢出

JVM进阶(四)——利用MAT排查堆溢出  堆已经讲得差不多啦,这章我们以一个例子来说说如何设置以及当发生堆溢出的时候怎么排查问题。先看一小段代码:   代码中使用了一个无限循环来为list添加对象,如果采用默认的堆大小的话可能要等待好久才能出现堆溢出的错误,因此我们要将其设置小一点:  ...

2017-01-15 09:11:35

阅读数:43668

评论数:5

狄更斯笔下的雾霾

狄更斯笔下的雾霾注:本文节选自《荒凉山庄》 作者:狄更斯   这十一月的天气实在太槽糕了。就像当年大洪水刚从地球表面退去那样,街道非常泥泞,如果你看到四十英尺或更庞大的斑龙像大型蜥蜴那样蹒跚爬上赫尔蓬山,那一点也不足为怪。从烟囱顶冒出来的烟低垂着,黑漆漆的,就像飘洒的漾漾细雨,煤烟末很大,就像飘...

2017-01-12 21:19:29

阅读数:42685

评论数:0

论文排版

毕业论文排版格式技巧  时光飞逝,研究生三年学业即将结束,工作已经安排妥当,最后的工作就是撰写毕业论文。下面主要讲解一下毕业论文排版中的技巧。不需要的同学可自行略过此博文,非诚勿扰~

2017-01-12 10:36:27

阅读数:42724

评论数:1

漫谈程序员(十九)天天写业务代码,如何成为技术大牛?

漫谈程序员(十九)天天写业务代码,如何成为技术大牛?  不管是开发、测试、运维,每个技术人员心理多多少少都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢”!正是对技术梦的追求,促使我们不断地努力和提升自己。   然而“梦想是美好的,现实却是残酷的”,很多同学在实际工作后就会发现,...

2017-01-10 16:50:46

阅读数:46656

评论数:2

mysql进阶(三十)MySQL Workbench出错KERNELBASE.dll停止工作 + MySQL服务消失 + 服务启动失败解决方法

mysql进阶(三十)MySQL Workbench出错KERNELBASE.dll停止工作 + MySQL服务消失 + 服务启动失败解决方法前言  台式机由于系统被破坏重装系统后,发现原来装的很多软件都已经打不开了。例如MyEclipse、MySQL、MySQL-Workbench。主要还是由于...

2017-01-09 20:02:18

阅读数:44312

评论数:0

JVM进阶(三)——内存分配与回收策略

JVM进阶(三)——内存分配与回收策略  各位小伙伴大家好,还记得上一博文《JVM进阶(二)——初识JAVA堆》我们讲了什么吗?虚拟机中的堆,他是整个内存模型中占用最大的一部分,而且不是连续的。当有需要分配内存的时候,一般有两个方法分配,指针碰撞和空闲列表。该部分的内存回收是由虚拟机的垃圾收集器G...

2017-01-08 14:47:08

阅读数:44723

评论数:14

JVM进阶(二)——初识JAVA堆

JVM进阶(二)——初识JAVA堆  在博文《JVM进阶(一)——初识JAVA栈》中我们说到了栈,他在内存中是连续的空间;保存一个个的栈帧,对应一次次方法的调用;还讲到了他是保存对象的引用,那么对象存在哪里呢?我们来看看昨天的一张图:   对象就存在图中的内存区域,在JVM中,那片区域叫做堆...

2017-01-08 14:29:31

阅读数:44371

评论数:4

JVM进阶(一)——初识JAVA栈

JVM进阶(一)——初识JAVA栈  若想使自己编写的Java程序高效运行,以及进行正确、高效的异常诊断,JVM是不得不谈的一个话题。本”JVM进阶“专栏大部分内容均来源于经典书籍《深入理解Java虚拟机》。   下面言归正传,本文重点从虚拟机内存模型(运行时数据区域)入手。先看图: ...

2017-01-08 14:12:50

阅读数:46057

评论数:7

漫谈程序员(十八)浅谈谷歌用户体验设计准则

漫谈程序员(十八)浅谈谷歌用户体验设计准则谷歌的愿景  Google用户体验团队致力于创建有用的(useful)、快速的(fast)、简单的(simple)、有吸引力的(engaging)、创新的( innovative)、适合大众的(universal)、有用的(profitable)、漂亮的(...

2017-01-07 14:50:26

阅读数:42833

评论数:0

Java进阶(五十)根据一个给定经纬度的点,进行附近500米地点查询–合理利用算法

Java进阶(五十)根据一个给定经纬度的点,进行附近500米地点查询–合理利用算法前沿  最近做一个项目:需要查询一个站点(已知该站点经纬度)1km-10km范围内的其它站点。所以,我首先想到的是,对每条记录,去进行遍历,跟数据库中的每一个点进行距离计算,当距离小于10km时,认为匹配。这样做确实...

2017-01-06 15:48:48

阅读数:48087

评论数:3

漫谈程序员(十七)如今雾霾要比当年非典严重上百倍,只是用了温水煮青蛙

漫谈程序员(十七)如今雾霾要比当年非典严重上百倍,只是用了温水煮青蛙  “雾霾”,一个沉重的话题,一个令人联想起眼前全是灰蒙蒙景象的词汇。雾霾当前,中外有何不同? 摘要  中国人从来都是这样,当没有明显侵害到自己利益的时候,永远保持的是沉默状态,真正得癌,也没那个精神去折腾了。于是人们在雾霾当中...

2017-01-06 11:25:34

阅读数:48352

评论数:29

J2EE进阶(二十)MyEclipse无法启动--Runtime Environment (JRE) or Java Development Kit (JDK) must be available

J2EE进阶(二十)MyEclipse无法启动–Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to  重装了系统后打开MyEclipse发现打不开了。报错信息如下:   大...

2017-01-06 10:25:40

阅读数:42601

评论数:0

Java进阶(四十九)实现矩阵秩的求解-转置-行列式-逆矩阵操作

Java进阶(四十九)实现矩阵转置-行列式-逆矩阵操作  应论文需求,需要计算矩阵的逆矩阵。   相应的矩阵操作工具类如下:package cn.edu.ujn.paper.matrix;public class MatrixUtil { /** * 实现矩阵相乘 (AB) ...

2017-01-04 18:32:57

阅读数:43836

评论数:1

Java进阶(四十八)使用BigDecimal对浮点数进行精确运算

Java使用BigDecimal对浮点数进行精确运算  首先我们先来看如下代码示例:public class Test_1 { public static void main(String[] args) { System.out.println(0.06+0.01); ...

2017-01-04 16:55:10

阅读数:43267

评论数:0

提示
确定要删除当前文章?
取消 删除