自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (2)
  • 收藏
  • 关注

原创 Java内存溢出与内存泄漏

内存溢出:内存溢出就是指在指定大小的内存空间,写入了超出大小的数据(越界).或者没有足够的内存,供程序分配。内存泄漏:程序在运行过程中动态申请的内存空间不再使用后没有及时释放,从而很可能导致应用程序内存无线增长。更广义的内存泄露包括未对系统的资源的及时释放,比如句柄等。结果: 1.内存溢出:程序将停止      2.内存泄漏:程序不会停止但是效率会降低,内存泄漏过多也可

2016-03-16 22:14:11 1044

原创 大话设计模式(程杰)笔记(二)

16.状态模式        当一个对象的内在状态改变时允许改变其行为,这个对象看起来是改不了其类                     主要解决的是当控制一个对象状态改变的条件表达过于复杂时的情况,把状态的判断逻辑转移到表示不同转态行为的一系列类当中,可以把复杂的判断逻辑简化  17.适配器模式      将一个类的接口转换为客户希望的另外一个接口。Adapter模式使得原本由于接

2016-03-10 22:55:35 586

原创 大话设计模式(程杰)笔记(一)

1.面向对象设计模式    通过封装、继承、多态降低程序耦合度,以提高程序的灵活性、可扩展性和可复用性       1.分离业务逻辑和界面逻辑        1.简单工厂模式: 1.通过继承提高程序的可修改性(修改时只需修改单独子类,不影响其它子类);               2.基类重载构造函数由入口参数,构造不同的子类对象(若所有子类和基类属性一致,此方法非常有效)

2016-03-10 22:54:59 1277

原创 深入理解Java 虚拟机(周志明)笔记(六)——Java内存分配

5.2.内存分配      可用参数   -Xmx 最大可用内存                 -Xms  初始内存                 -Xmn  新生代内存                 -XX:SurvivorRatio 设置年轻代中Eden区与一个Survivor区的大小比值                 -XX:PretenureSizeThread

2016-03-10 22:30:20 488

原创 深入理解Java 虚拟机(周志明)笔记(五)——垃圾收集器(四)

5.1.4.查看GC日志             1.虚拟机提供了 -XX:+PrintGCDetails 参数,告诉虚拟机在发生垃圾收集行为时打印内存回收日志,并且在进程退出的时候输出当前的内存各区域分配情况。             2.每个收集器的日志格式有所不同,但是虚拟机设计者为了方便用户阅读,将各个收集器的日志都维持一定的共性。例如                     

2016-03-10 22:29:06 399

原创 深入理解Java 虚拟机(周志明)笔记(五)——垃圾收集器(三)

5.1.3.垃圾回收的具体实现————垃圾收集器.              有一个垃圾收集器是最好的。不同垃圾收集器适合不同的环境。不同收集器可搭配使用,已达到整体最优。              概念:                 1.并发与并行                    并发(Concurrent):两件事情在同一时刻同时发生,如用户线程与垃圾收集器线程同时执

2016-03-10 22:28:30 369

原创 深入理解Java 虚拟机(周志明)笔记(五)——垃圾收集器(二)

5.1.2.HotSpot的算法实现               可达性分析算法                  1.枚举根节点(GC Roots)                        问题:1.应用中的引用太多,如果逐个检查,会消耗很多时间                             2.GC停顿消耗时间 GC停顿:可达性分析算法必须保证一致性,分析期间系

2016-03-10 22:27:51 429

原创 深入理解Java 虚拟机(周志明)笔记(五)——垃圾收集器(一)

内存回收对象:堆内存和方法区内存  (注:程序计数器、虚拟机栈和本地方法栈的内存随着方法或线程的结束时,自然被回收)              内存回收的问题:1.哪些内存需要回收?                                          2.什么时候回收?                                          3.如何回收? 

2016-03-10 22:26:09 452

原创 深入理解Java 虚拟机(周志明)笔记(四)——Java对象创建过程

Java对象(通过new关键字创建的普通对象,不包括数组和Class对象)创建过程      1.检查指令的参数是否在常量池中定位到一个类的符号引用,并检查该符号引用代表的类是否已被加载、解析和初始化过。若有则进入下一步,否则必须执行相应的类加载过程,      2.为对象分配内存空间:空间大小在类加载完成后便可确定。          内存分配策略

2016-03-08 00:01:31 533

原创 深入理解Java 虚拟机(周志明)笔记(三)——Java对象在内存中的存储与访问

Java对象在内存中的存储    1.对象存储布局    要求:对象起始地址必须是8字节的整数倍     1.对象头:1.存储对象自身的运行时数据(Mark Word):哈希码、GC分代年龄、锁状态标志……                           非固定的数据结构,总长度为32/64bit               2.类型指针:即对象指向它的元数据指针,虚拟机通

2016-03-08 00:00:14 409

原创 深入理解Java 虚拟机(周志明)笔记(二)——Java数据分区

JVM运行时(一个处理器(的一个核)执行一条线程)数据分区    1.线程共享的区(数据被处理器各线程共享,即各线程共有的区)         a.方法区(Method Area):存储已被虚拟机加载的类信息、常量、静态变量、即使编译器编译后的代码。(Class文件信息)                  常量池:存放编译时生成的各种字面量和引用。在类加载后数据进入运行时常量池。 例如

2016-03-07 23:58:10 293

原创 深入理解Java 虚拟机(周志明)笔记(一)——Java虚拟机发展史

1.Sun Classic/Exact VM

2016-03-07 23:56:02 1006

C/C++ 标准API 所有函数

涵盖 C/C++ 所以标准API C++标准模板库 ,新手必备工具.

2015-05-01

C语言工具 dev-cpp

Dev c++比VC 6.0更好的C语言工具

2014-09-24

空空如也

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

TA关注的人

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