JAVA 内存泄露详解(原因、例子及解决)

Java的一个重要特性就是通过垃圾收集器(GC)自动管理内存的回收,而不需要程序员自己来释放内存。理论上Java中所有不会再被利用的对象所占用的内存,都可以被GC回收,但是Java也存在内存泄露,但它的表现与C++不同。 JAVA 中的内存管理     要了解Java中的内存泄露,首先就得知道Java中的内存是如何管理的。     在Java程序中,我们通常使用new...
阅读(855) 评论(0)

内存可见性和原子性:Synchronized和Volatile的比较

Java多线程之内存可见性和原子性:Synchronized和Volatile的比较     【尊重原创,转载请注明出处】http://blog.csdn.net/guyuealian/article/details/52015707      在说明Java多线程内存可见性之前,先来简单了解一下Java内存模型。      (1)Java所有变量都存储在主内存中      (...
阅读(3087) 评论(2)

Java中只有按值传递,没有按引用传递!

今天,我在一本面试书上看到了关于java的一个参数传递的问题: 原文地址:http://guhanjie.iteye.com/blog/1683637  写道 java中对象作为参数传递给一个方法,到底是值传递,还是引用传递?  我毫无疑问的回答:“引用传递!”,并且还觉得自己对java的这一特性很是熟悉! 结果发现,我错了! 答案是: 值传递!Java中...
阅读(415) 评论(0)

设计模式:回调模式

设计模式:回调模式         回调函数,第一次见是在Java编程思想中,以及后来的观察者模式也应用了回调函数的思想。但是一直都没有重视,终于在一次面试的时候吃亏了,越来越理解为什么很多人说Java编程思想这本书要一遍遍的看,吃透!         首先在网络上搜索很多文章介绍什么是回调函数,看的云里雾里的。后来自己一步步分解终于理解了,记录如下。         从维基百科...
阅读(889) 评论(0)

Java设计模式:代理模式

Java设计模式:代理模式     【尊重原创,转载请注明出处】http://blog.csdn.net/guyuealian/article/details/52015707      使用代理模式创建代理对象,让代理对象控制目标对象的访问(目标对象可以是远程的对象、创建开销大的对象或需要安全控制的对象),且可以在不改变目标对象的情况下添加一些额外的功能。代理模式给某一个对象提供...
阅读(396) 评论(0)

Java设计模式:工厂模式

Java设计模式:工厂模式     【尊重原创,转载请注明出处】http://blog.csdn.net/guyuealian/article/details/52015589      工厂模式的意图:定义一个接口来创建对象,但是让子类来决定哪些类需要被实例化。工厂方法把实例化的工作推迟到子类中去是实现。 工厂模式可以根据客户的需要,定义一个工厂类专门负责创建类的实例。 一、先...
阅读(380) 评论(0)

Java I/O流InputStream,OutputStream,Reader,Writer

Java流总结原文地址:http://blog.csdn.net/oypj2010/article/details/7660150 一、  流的分类 – 输入流:只能从中读取字节数据,而不能向其写出数据 – 输出流:只能向其写入字节数据,而不能从中读取数据 •   按照流所处理的数据类型 – 字节流:用于处理字节数据。 – 字符流:用于处理Unicode字符数据。 •   按照流所处...
阅读(399) 评论(0)

内部类和匿名内部类的用法

内部类可以调用外层类的方法,如果内部类有同名方法必须使用"OuterClass.this.MethodName()"格式调用(其中OuterClass与MethodName换成实际外部类名及其方法;this为关键字,表示对外部类的引用);若内部类无同名方法可以直接调用外围类的方法。 但外围类无法直接调用内部类的private方法,外部类同样无法直接调用其它类的private方法。注意:内部类直接使用外部类的方法与该方法的权限与是否static无关,它取决于内部类是否有同名方法。...
阅读(1373) 评论(0)

Map集合HashMap TreeMap的输出方法

Map集合HashMap TreeMap的输出方法     【尊重原创,转载请注明出处】http://blog.csdn.net/guyuealian/article/details/50990663 集合的输出方式:      Collection、Set集合中的内容可以通过toArray()方法转换为对象数组输出,而List的可以使用get方法输出。集合类有四种输...
阅读(2592) 评论(0)

Java求字符串中出现次数最多的字符

Java求字符串中出现次数最多的字符  【尊重原创,转载请注明出处】http://blog.csdn.net/guyuealian/article/details/51113133      Java求字符串中出现次数最多的字符,如String Str = "aaabbcddddee";那么输出:d 4 ;若String Str = "aaabbcddddeexxxxx...
阅读(5818) 评论(1)

ThreadLocal的理解

ThreadLocal的理解     【文章出处】http://blog.csdn.net/guyuealian/article/details/51345950  (五星推荐) ThreadLocal是什么   早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很...
阅读(317) 评论(0)

工厂方法模式与抽象工厂模式

本文是转的 一、引子        话说十年前,有一个暴发户,他家有三辆汽车——Benz奔驰、Bmw宝马、Audi奥迪,还雇了司机为他开车。不过,暴发户坐车时总是怪怪的:上Benz车后跟司机说“开奔驰车!”,坐上Bmw后他说“开宝马车!”,坐上Audi说“开奥迪车!”。你一定说:这人有病!直接说开车不就行了?!        而当把这个暴发户的行为放到我们程序设计中来时,会发现这是一个普遍存...
阅读(338) 评论(0)

UML类图几种关系的总结

原文链接:http://blog.csdn.net/tianhai110/article/details/6339565 在UML类图中,常见的有以下几种关系:泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1.泛化(Generalizatio...
阅读(570) 评论(0)

Java线程池newSingleThreadExecutor newFixedThreadPool newCachedThreadPool newScheduledThreadPool

Java线程池newSingleThreadExecutor newFixedThreadPool newCachedThreadPool newScheduledThreadPool 一、线程池的理解       线程池是预先创建线程的一种技术,线程池在还没有任务到来之前,事先创建一定数量的线程,放入空闲队列中,然后对这些资源进行复用,从而减少频繁的创建和销毁对象。       系统启...
阅读(1172) 评论(0)

常用数据结构及复杂度

来自:匠心十年 - 博客园 作者:Dennis Gao 链接:http://www.cnblogs.com/gaochundong/p/3813252.html 常用数据结构的时间复杂度 Data Structure Add Find Delete GetByIndex...
阅读(674) 评论(0)
25条 共2页1 2 下一页 尾页
    个人资料
    • 访问:354408次
    • 积分:4275
    • 等级:
    • 排名:第7423名
    • 原创:95篇
    • 转载:45篇
    • 译文:1篇
    • 评论:109条
    博客专栏