自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ninetyhe的博客

当你迷茫不知所措的时候,做好手上的事情,是最好的选择。

  • 博客(14)
  • 收藏
  • 关注

原创 关于JVM个人浅谈(三)

在上一篇中,大致讲述了GC回收的算法,接下来就在本篇文章里介绍一下如何去预估Java对象的大小,以便后续再优化JVM提供数据理论基础。一个普通对象的内存大小如下:1._mark对象头 占用8byte;2.oop指针,默认占用4byte;3.数据区 具体根据对象属性而定;4.padding,内存对齐(如果不懂,可以看看计算机组成原理 这本书 大学计算机系必修之一) Java以8的

2015-08-12 22:45:24 708

原创 Redis缓存应用之Java

想必Redis这个缓存已经无人不知了,在代理的配合下已经在分布式缓存中的得到了很好的肯定,现在我们一起通过一个Java的例子全面了解Redis缓存。首先需要安装redis,下载地址: https://github.com/MSOpenTech/redis安装完后,在自己的安装目录 下进入cmd输入 redis-server --maxmemroy 200m ;之所以需要加这个指令“--ma

2015-08-06 16:48:34 1311

原创 关于JVM个人浅谈(二)

在上一章,我们了解Java虚拟机的分布以及各个部分的主要存储内容,下面将介绍GC的长用回收算法。1.引用计数法:引用计数法是比较古老的一种垃圾回收算法。主要实现就是当任何一个对象引用A对象的时候,则在A对象的计数器上加1,如果引用失效的时候,则将A的计数器减1,如果对象A的引用计数器为0,则回收该对象的内存空间。这种方式虽然简单,但是存在不足,就是当A对象引用B对象,B对象又引用A对象,这

2015-08-05 10:45:54 663

原创 关于JVM个人浅谈(一)

Java虚拟机是Java程序运行的基础,也是深入理解java的必备知识。  首先JVM的内存分布主要有:程序计数器,虚拟机栈,本地方法栈,Java堆,方法区。其中标红的表示相对更重要。  1)程序计数器程序计数器是一块很小的内存,是每一块线程的私有空间,主要负责为每一个线程记录下一条需要运行的指令。如果当前线程正在执行一个Java方法,则程序计数器记录正在执行的Java字节码地址,如果

2015-08-05 10:15:33 788

原创 Java问题排查(运维篇)

每一位开发想必都会遇到线上服务告警,而导致这样原因的肯能有流量增加或是代码中bug异常没有抓住导致,而此刻我们就需要去排查问题。1:业务增加,导致FGC频繁发送,如果不知道如何查看FGC的话,可以参考之前写的:Jstat查看MinorGC和FGC使用详解,点击即可。这里不做重新复述。当发现FGC的次数频繁很高,这里说明了需要优化JVM来减少FGC的次数;而这种问题不是个人原因导致的线上问题,所

2015-08-20 10:15:55 2523

原创 Java IO深入浅出

1.What is stream?  流失一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或者是网络连接。类似的,当程序需要写入数据的时候,就会开启通向目的地的流。在Java中,IO的部分很庞大,基本包括两大部分:字节流和字符流。具体结构如下图(图源于网上):2:什么是字节流?以字节为单位传输的流。字节流的输入流祖

2015-08-19 22:30:44 891

原创 DNS原理及解析流程

1,what is DNS?DNS 是domain name system 的英文缩写,中文名是域名系统,作为IP地址与域名之间相互转化的一个分布式数据库。可以理解成一个在ip地址与域名之间的一个翻译员。2.DNS的工程流程是什么?当我们在浏览器输入网页的时候不可能记住每一个网站的ip地址,而是输入某个网页的网页地址(域名地址),然后通过DNS将我们入职的域名地址转换为对应的i

2015-08-17 20:48:48 783

原创 写出高性能的JQuery

一个糟糕的Jquery可能会影响到整个页面的渲染更或是请求耗时很长,这样的网页展示,我想是用户不愿意看到的。1.取消没必要的频繁的获取Jquery对象,这个在Java编程里我想一样:// 糟糕h = $('#element').height();$('#element').css('height',h-20);// 建议$element = $('#element');h = $

2015-08-14 17:26:49 717

原创 秒懂命令模式

在软件开发中,由于请求者与行为实现者之间存在过高的耦合,这样对于同一个接口存在多处调用的情况下,我们对其进行封装,这样供各处调用,而且大大的降低了请求者与行为执行者之间的耦合度。在实际运用中,例如在客户端发起的请求,可以通过不同的Cmd的命令字来调取相应的接口实现类,完成逻辑,而且这种设计模式已经广泛的运用。于是乎,命令模式成为了设计模式中的十分重要一部分,而且在开发中也是运用十分流行。

2015-08-11 17:35:28 806

原创 观察者模式

观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,让它们能够自动更新自己。首先定义一个接口,负责对被观察者对象的属性更新package com.test.observer;/** * 被观察的对象接口 * @author yuewen * */// 抽象观察者角色public

2015-08-11 15:59:11 798

原创 关于Session和cookie个人见解

背景:由于HTTP是无状态的协议,这样我们无法判断同一个用户多次请求时记录用户的信息从而需要频繁的身份校验,包括开启多个浏览器浏览同一个网站依旧需要不停的都身份验证。这样就产生了session机制,可以理解成Session基于保持状态的Web服务器的方法,那么cookie就是基于保持状态的客户端方法。由于一般的Session唯一标示SessionID又依赖于cookie的存储(这里只是相对,因为s

2015-08-10 21:38:40 798

原创 AJAX快速掌握

html> head> title>MyTesttitle> script language="javascript"> function onclickAjax(){ var xmlHttp; if(Windows.XMLHttpRequest){   xmlHttp=new XMLHttpRequest();

2015-08-05 22:04:14 739

原创 Jstat使用详解

1.jps可以理解成java进程的ps,也就是罗列出所有的正在运行的Java进程;2.jstat 一个极强的一个VM监控工具;jstat -gcutil pid 可以查看对应该id进程的gc所有状况,如下图:下面解释一下各个字母表示的意思:s0:如果了解JVM的童鞋,很清楚s0就是Java堆内存里的新生代的survivor space0的简称,所有该值指的是新生代s0的已使

2015-08-05 15:37:40 5535

原创 Maven实战之正式环境和测试环境配置分离

最近一直在研究前公司的架构,发现原公司的架构还是很不错的,对于生产环境以及测试环境这一点,虽然没有配置中心,但也是一定程度实现了正式环境以及测试环境的分离。闲话不多说,现在直接上代码:首先需要在pom文件中确定filter和要filter的资源,这是通过在build节点中添加filter和resource来实现的,示例如下: ${env}.properties

2015-08-04 10:05:51 3074

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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