自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 垃圾收集算法

垃圾收集有很多算法:标记-清除算法、 复制算法、 标记-整理算法、分代收集算法。 标记-清除算法      分为标记和清除两个阶段,首先标记所有需要回收的对象,标记完成后统一回收被标记的对象。      效率不高,会产生碎片。 复制算法      内存按容量分成等大小的两块,每次只使用其中的一块,当这一块用完了就扫描一遍将还存活的对象复制到另一块,再把之前使用的那块一次清理掉。

2014-01-22 15:21:53 402

转载 Java垃圾收集器

Java内存管理中的程序计数器、虚拟机栈、本地方法栈都是随线程的建立而建立,随线程的结束而结束;栈中的栈帧随着方法的进入和退出执行入栈和出栈的工作。每一个栈帧分配多少内存是根据类结构来定的,因此这几个区域的内存分配与回收具备确定性,不是考虑垃圾回收的范围。       Java的垃圾回收主要是指Java堆和方法区的内存回收,只有在运行时才知道需要多少内存,需要创建哪些对象,这部分的内存分配和回收

2014-01-22 13:06:52 414

转载 深入理解Linux内核(一)

Linux与其他商用Unix内核竞争的优势: 1、单块结构的内核:它是一个庞大、复杂的自我完善(do-it-yourself)程序,由几个逻辑上独立的成分构成,在这一点上,它是相当传统的,大多数商用Unix变体也是单块结构。 2、编译并静态链接的传统Unix内核:大部分现代操作系统内核可以动态地装载和卸载部分内核代码,通常把这部分代码称作模块(module)。Linux对模块的支持很好,可以自

2014-01-21 16:13:27 1070

原创 Java网络Network

对于Java网络应用,不必大费周章地架设服务器,只需简短几行程序代码即可搞定。先在服务端创建服务器套接字,等待客户端发来连接请求;再在客户端发来连接请求;再在客户端寻找服务器端并要求网络连接;在完成网络连接后,服务器端再获取客户端的IP地址。 1、服务器端服务器套接字的设计: 需要选定端口号来驱动类ServerSocket ServerSocket SS = new ServerSocket

2014-01-20 18:15:41 520

转载 探讨虚拟机HotSpot中Java堆的对象分配、布局和访问

new: 1、当虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载、解析和初始化过(例如new MyThread();先查看MyThread这个符号引用是否已经被加载),如果没有则需要先进行相应类的加载过程。 2、在类加载检查通过后,接下来虚拟机将为新生对象分配内存,对象所需内存的大小在类加载后便可完全确定,

2014-01-15 21:24:09 512

转载 Java内存区域与内存溢出异常

Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,这些区域有各自的用途,以及创建和销毁的时间,这些区域有的是受虚拟机的线程支配,有些区域是依赖用户的线程的启动和结束而建立和销毁。 Java虚拟机运行时数据区分为方法区、堆、虚拟机栈、本地方法栈和程序计数器 程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通

2014-01-14 18:53:10 352

原创 Java线程编程

线程编程有两种方法,一种是继承Thread类并覆盖run()方法,一种是实现Runable接口。 举例: class MyThread extends Thread{ public void run(){//覆盖代码} } 使用自己创建的线程类时: Thread t = new MyThread(); t.start();//线程启动,向线程调度器说明当前线程已经准备好开始运行。

2014-01-14 12:10:15 503

原创 Java IO流

当java程序要读取数据的时候,是通过流来完成的,数据源可以是文件、内存或者网络连接。而java程序写入数据也是通过流来完成的。 流按数据方向来划分,分为输入流和输出流;而按数据类型划分分为字节流和字符流。 输入流:InputStream/Reader 输出流:OutputStream/Writer 字节流:InputStream/OutputStream 字符流:Reader/Writ

2014-01-14 11:46:45 376

原创 Java设计模式学习笔记(一)

最近在学习设计模式,觉得对于Java开发还是很有帮助,想整理一下学习的笔记,针对比较常用的设计模式做一个总结。 设计模式一共有23种,大致分为3类:创建型模式,结构型模式,行为模式。 具体的分类如下: 创建型模式: 抽象工厂Abstract Factory 、 生成器Builder  、工厂方法 Factory Method 、  原型Prototype 、 单例Singleton 结

2014-01-10 15:35:23 454

空空如也

空空如也

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

TA关注的人

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