摘要: 数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。 基本类型包括:byte,short,int,long, 阅读全文
posted @ 2017-03-12 14:37 motivated_Dou 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 1. 垃圾回收的意义 在java中,当没有对象指向原先分配给某个对象的内存的时候,这片内存就变成了垃圾,JVM的一个系统级线程就会自动释放这个内存块,垃圾回收意味着程序不再需要的对象是“无用的信息”,这些信息会被丢弃。当一个对象不再被引用的时候,内存回收它所占用的空间,以便将空间用来存放后续的新对象 阅读全文
posted @ 2017-03-12 10:17 motivated_Dou 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 一、设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、 阅读全文
posted @ 2017-03-10 16:50 motivated_Dou 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 6.5 代理 利用代理可以在运行时创建一个实现了一组给定接口的新类,这种功能只有在编译时无法确定需要实现哪个接口时才有必要使用。 结社有一个表示接口的Class对象(有可能只包含一个接口),它的确切类型在编译时无法知道。要想构造一个实现这些接口的类,就需要使用newInstance方法或反射找出这个 阅读全文
posted @ 2017-03-10 14:11 motivated_Dou 阅读(155) 评论(0) 推荐(0) 编辑
摘要: spring框架(2)— 面相切面编程AOP AOP(Aspect Oriented Programming),即面向切面编程。 可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公共行 阅读全文
posted @ 2017-03-09 16:41 motivated_Dou 阅读(548) 评论(0) 推荐(0) 编辑
摘要: 依赖注入 spring核心容器就是一个超级大工厂,所以的对象(数据源、hibernate SessionFactory等基础性资源)都会被当做spring核心容器的管理对象——spring把容器中的一切对象统称为Bean。 Spring对Bean没有任何要求,只要是一个java类,spring就可以 阅读全文
posted @ 2017-03-08 20:26 motivated_Dou 阅读(349) 评论(0) 推荐(0) 编辑
摘要: java线程安全— synchronized和volatile 之所以用这个多的“zhangsan”,只用一个“lisi”,是为了防止如果只使用一个“zhangsan”,可能cpu的计算能力很强,会在执行完第一个线程之后,程序还没有 来得及进行到第二个线程,此时可能会造成一种错觉:先执行第一个线程, 阅读全文
posted @ 2017-03-07 21:08 motivated_Dou 阅读(534) 评论(0) 推荐(0) 编辑
摘要: TCP/IP三次握手与四次挥手 (1)TCP和UDP对比 1、TCP面向连接(如打电话要先拨号建立连接)。UDP是无连接的,即发送数据之前不需要建立连接; 2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达(进行丢包的重发控制,还可以对次序乱掉的分包进行 阅读全文
posted @ 2017-03-07 15:53 motivated_Dou 阅读(134) 评论(0) 推荐(0) 编辑
摘要: public class A { public void foo(String name) { System.out.println("Hello, " + name); }} 可以编写另外一个类来反射调用A上的方法: import java.lang.reflect.Method; public 阅读全文
posted @ 2017-03-07 14:27 motivated_Dou 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 由于i++和i--的使用会导致值的改变,所以在处理后置的++和--的时候,java的编译器会重新为变量分配一块新的内存空间,用来存放原来的值, 而完成赋值运算之后,这块内存会被释放。 (1)对于j = i++的情况 i的原始值存放在后开辟的内存中,最后将这个值赋给j,进行j = i++运算之后,j会 阅读全文
posted @ 2017-03-06 21:41 motivated_Dou 阅读(6707) 评论(0) 推荐(0) 编辑