自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

转载 JVM调优总结(四)分代垃圾回收

为什么要分代分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。在Java程序运行的过程中,会产生大量的对象,其中有些对象是与业务信息相关,比如Http请求中的Session对象、线程、Socket连接,这类对象跟业务直接挂钩,因此生命周期比较长。但是还有一些对象,主要是程序运行过程中生成的临时变量,这些对象生命...

2018-05-18 15:19:41 132

转载 JVM调优总结(三)垃圾回收面临的问题

如何区分垃圾上面说到的“引用计数”法,通过统计控制生成对象和删除对象时的引用数来判断。垃圾回收程序收集计数为0的对象即可。但是这种方法无法解决循环引用。所以,后来实现的垃圾判断算法中,都是从程序运行的根节点出发,遍历整个对象引用,查找存活的对象。那么在这种方式的实现中,垃圾回收从哪儿开始的呢?即,从哪儿开始查找哪些对象是正在被当前系统使用的。上面分析的堆和栈的区别,其中栈是真正进行程序执行地方,所...

2018-05-17 18:53:55 110

转载 JVM调优总结(二)基本垃圾回收算法

按照基本回收策略分引用计数(Reference Counting):比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。标记-清除(Mark-Sweep):此算法执行分两阶段。第一阶段从引用根节点开始标记所有被引用的对象,第二阶段遍历整个堆,把未标记的对象清除。此算法需要暂停整个应用,同...

2018-05-17 18:35:56 124

转载 JVM调优总结(一)基本概念

数据类型Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。基本类型包括:byte,short,int,long,char,float,double,Boolean,returnAddress引用类型包括:类类型,接口...

2018-05-17 18:21:24 226

原创 JVM的工作原理分析

1.JVM简析:     作为一名Java使用者,掌握JVM的体系结构也是很有必要的。     说起Java,我们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示:     Java平台由Java虚拟机和Java应用程序接口搭建,Java语言则是进入这个...

2018-05-17 16:08:05 130

原创 JVM之守护线程

在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) 用个比较通俗的比如,任何一个守护线程都是整个JVM中所有非守护线程的保姆:只要当前JVM实例中尚存在任何一个非守护线程没有结束,守护线程就全部工作;只有当最后一个非守护线程结束时,守护线程随着JVM一同结束工作。Daemon的作用是为其他线程的运行提供便利服务,守护线程最典型的应用就是 GC (垃圾...

2018-05-17 14:43:05 1486

原创 Spring框架的简单理解

软件框架       框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。框架就是制定一套规范或者规则(思想),程序员在该规范或者规则下工作。或者说就是使用别人搭好的舞台,你来做表演。       软件框架,通常指的是为了实现某个业界标准或完成特定基本任务...

2018-05-16 17:47:41 1344

原创 SpringMVC 框架的浅析

SpringMVC的工作原理图:SpringMVC流程1、  用户发送请求至前端控制器DispatcherServlet。2、  DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、  处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。4、  Dispa...

2018-05-16 11:02:00 312

原创 SSH框架工作原理浅析

Hibernate工作原理及为什么要用?原理:1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件2.由hibernate.cfg.xml中的<mapping resource="com/xx/User.hbm.xml"/>读取并解析映射信息3.通过config.buildSessionFactory();//创建Sess...

2018-05-15 18:40:09 547

原创 JAVA protected详解

很多介绍Java语言的书籍(包括《Java编程思想》)都对protected介绍的比较的简单,基本都是一句话,就是: 被 protected 修饰的成员对于本包和其子类可见。这种说法有点太过含糊,常常会对大家造成误解。实际上,protected的可见性在于两点:基类的 protected 成员是包内可见的,并且对子类可见;若子类与基类不在同一包中,那么在子类中,子类实例可以访问其从基类继承而来的p...

2018-05-10 15:46:11 530

原创 java 进阶书籍

 1.《深入理解Java虚拟机:JVM高级特性与最佳实践》  如果你不满足于做一个只会写if…else…的Java程序员,而是希望更进一步,那 么Java虚拟机是你必学的一门技术。《深入理解Java虚拟机:JVM高级特性与最佳实践》作者是周志明,这本书可以说是国内写得最好的有关Java虚拟机的书籍。      2.《Java并发编程实战》  这本书常常被列入Java程序员必读十大书籍排行榜前几位,...

2018-05-08 18:45:40 260

原创 java 连接消息队列

Java 消息对列 --ActiveMQ入门实例 1.下载ActiveMQ去官方网站下载:http://activemq.apache.org/2.运行ActiveMQ解压缩apache-activemq-5.5.1-bin.zip,然后双击apache-activemq-5.5.1\bin\activemq.bat运行ActiveMQ程序。启动ActiveMQ以后,登陆:http://local...

2018-05-08 17:53:07 433

原创 java小问题

考一下,下面这段代码会不会打印error?public class P1 {     private long b = 0;     public void set1() {        b = 0;    }     public void set2() {        b = -1;    }     public void check() {        System.out.prin...

2018-05-07 14:23:06 114

原创 java 原子操作深入浅出

Java中的原子操作包括:1)除long和double之外的基本类型的赋值操作2)所有引用reference的赋值操作3)java.concurrent.Atomic.* 包中所有类的一切操作count++不是原子操作,是3个原子操作组合1.读取主存中的count值,赋值给一个局部成员变量tmp2.tmp+13.将tmp赋值给count可能会出现线程1运行到第2步的时候,tmp值为...

2018-05-07 14:05:19 227

原创 java线程安全问题

多线程不安全,主要因为cpu分配机制,谁获得了cpu谁就能执行,因此造成了线程的不安全.现在总结一下判断线程安不安全的方法:1.明确哪些代码是多线程运行的代码, 2.明确共享数据 3.明确多线程运行代码中哪些语句是操作共享数据.通过以上三点,写一段代码,package com.niuli.develop;public class Test { public static void ma...

2018-05-07 13:16:34 154

空空如也

空空如也

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

TA关注的人

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