Java GC 知识点

发布于:2017-5-21 17:35 作者:losetowin 浏览:1007 分类:Java
GC算法
    
引用计数无法处理循环引用的问题
标记清除算法
1、从根节点开始标记所有被引用的对象
2、遍历整个堆,把未标记的对象清除。

会产生Stop-The-World,产生内存碎片。
复制算法
把内存空间划分为两个相等的区域,每次只使用一个区域。GC时,遍历当前使用区域,把正在使用中的对象复制到另外一个区域中。因为只复制正在使用中的,所以复制成本比较小。复制过去之后会做相应...

阅读全文>>

标签: java GC

0

Java中如何判断两个对象是否相等

发布于:2017-2-5 22:54 作者:losetowin 浏览:5450 分类:Java
如何判断两个对象相等,这个问题实际上可以看做是如何对equals方法和hashcode方法的理解。

从以下几个点来理解equals和hashCode方法:

1、equals的作用及与==的区别。
2、hashcode的作用及与equals的关系。

1、equals的作用及与==的区别。
equals被用来判断两个对象是否相等。
equals通常用来比较两...

阅读全文>>

标签: java

0

关于Java中Daemon线程

发布于:2016-6-22 23:18 作者:losetowin 浏览:1228 分类:Java
  1. 什么是daemon线程?
    也可以称为守护线程,是一种支持性线程,主要用于程序中的后台调度及支持性工作
  2. 主要用在什么地方? 
    比如垃圾回收就算一种守护线程
  3. 需要注意什么?
    1). 因为是守护线程,或者说是支持性线程,就意味着这个线程并不属于程序中不可或缺的一部分。所以当所有的非守护线程(即用户线程)结束之后,程序就会结束,JVM退出,同时也就会杀死所有的非守护线程(可以参见J...

阅读全文>>

标签: java daemon

0

【基础-积累】JAVA获取当前jar包目录

发布于:2016-6-5 22:39 作者:losetowin 浏览:1494 分类:Java

在java开发中,经常需要获取当前jar包所在目录,比如需要获取配置文件,具体代码如下:

代码如下:

 this.getClass().getProtectionDomain().getCodeSource().getLocation().getFile(); 

或者下面这种

 this.getClass().getProtectionDomain()...

阅读全文>>

标签: java jar

0

【小细节】Integer缓存机制(包装类型的缓存机制)

发布于:2015-11-21 21:28 作者:losetowin 浏览:2056 分类:Java
前几天推送过一篇关于Integer比较大小的文章,具体可以查看【细节】Integer细节比较》,有朋友提到说,Integer是有小数据缓存的机制的,那么第一个是否应该是true呢?
回归下第一个:

Integer num1 = new Integer(100);
Integer num2 = new Integer(100);
System.out.println(num1 ...

阅读全文>>

【小细节】Integer(包装类型)数据比较

发布于:2015-11-17 22:33 作者:losetowin 浏览:1745 分类:Java

直接上代码吧,先不要放到IDE里面去编译执行,先看下,会输出什么结果

public class CompareExample {

	public static void main(String[] args) {
		
		Integer num1 = new Integer(100);
		Integer num2 = new Integer(100);
		
		Sys...

阅读全文>>

标签: java Integer

5

神奇的instanceof

发布于:2015-11-15 22:15 作者:losetowin 浏览:1680 分类:Java
instanceof是java里面的一个二元操作符,主要来判断一个对象是否是一个类的实例。

但是,真的会用吗?
看下面的代码,看看你能答对几个?

package com.dutycode.blog.example.instanceexpamle;

import java.util.Date;

/**
 * instanceof的使用
 * @author d...

阅读全文>>

标签: java instanceof

5

Java获取当前访问url地址(SpringMVC)

发布于:2015-9-15 23:24 作者:losetowin 浏览:37540 分类:Java

情景:

    在做微信开发的时候,需要用到签名信息,签名信息是需要用到当前访问地址的。所以,如何获取当前页面的url呢?


解决:

    直接上代码吧(使用spring mvc的方式来做,简单例子)

    

@RestController
@RequestMapping(v...


阅读全文>>

标签: java 当前url

5

如何确定启动几个工作线程

发布于:2014-7-20 15:52 作者:losetowin 浏览:12739 分类:Java

问题:

    在java开发中,如何确定启动多少个工作线程呢?比如说,启动200个工作线程,那么依据是什么?


解决方法:

    1、查看CPU的计算时间和网络等待时间,计算其比例。

    2、查看CPU核心数


    eg: 单核, CPU计算时间10ms,网络等待时...

阅读全文>>

标签: 工作线程 java

0