- 博客(23)
- 资源 (42)
- 收藏
- 关注
原创 第3章 垃圾收集器与内存分配策略--《深入理解 Java 虚拟机》笔记
垃圾回收器(Garbage Collection,GC)。三件事:哪些内存需要回收?什么时候回收?如何回收?程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊的执行着出栈和入栈操作。堆中几乎存放着Java世界中所有对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象有
2012-01-17 18:12:14 1329
原创 第2章 Java内存区域与内存溢出异常--《深入理解 Java 虚拟机》笔记
1概述基本就是C和C++程序编写需要维护没一个对象生命开始到终结。Java把内存控制权利交给了Java 虚拟机,但是有时却会出现内存溢出等问题。2运行时数据区域Java虚拟机在执行Java程序的过程中会把他所管理的内存换分为若干不同的内存区域。===运行时数据区====方法区(Method Area) 虚拟机栈(VM Stack)
2012-01-17 11:38:19 1511
转载 泛型
1了解泛型ArrayList类定义和ArrayList类引用中涉及如下术语:整个称为ArrayList泛型类型ArrayList中的E称为类型变量或类型参数整个ArrayList称为参数化的类型ArrayList中的Integer称为类型参数的实例或实际类型参数ArrayList中的ArrayList称为原始类型参数化类型与原始类型的兼容性:
2012-01-14 14:53:44 1377
原创 散列与散列码
Demo:按照你的想象,我们应该是可以查出来Groudhog gh = ghog.newInstance(3);这个key的,但是没查到package cn.partner4java.hashcode;/** * 每个Groudhog被给予一个标识数字 * @author partner4java * */public class Groudhog { protecte
2012-01-14 11:04:05 2296
转载 注解
1基本注解了解注解及java提供的几个基本注解:先通过@SuppressWarnings的应用让大家认识和了解一下注解:通过System.runFinalizersOnExit(true);的编译警告引出@SuppressWarnings("deprecation") @Deprecated直接在刚才的类中增加一个方法,并加上@Deprecated标注,在另外一个类中调
2012-01-13 17:21:16 767
转载 内省
附件: 开场:内省对应的英文单词为IntroSpector,它主要用于对JavaBean进行操作,JavaBean是一种特殊的Java类,其中的某些方法符合某种命名规则,如果一个Java类中的一些方法符合某种命名规则,则可以把它当作JavaBean来使用。请问:一个JavaBean可以当做普通Java类来使用吗?一个普通Java类可以当做JavaBean来使用吗? ------
2012-01-13 15:09:41 885
转载 jsp有哪些内置对象?作用分别是什么? 分别有什么方法?--好多公司笔试题(用不着也的学着背下)
JSP共有以下9个内置的对象: request 用户端请求,此请求会包含来自GET/POST请求的参数 response 网页传回用户端的回应 pageContext 网页的属性是在这里管理 session 与请求有关的会话期 application servlet 正在执行的内容 out 用来传送回应的输出 config servlet的构架部件 page JSP
2012-01-12 17:37:30 5410
转载 反射
1反射的基石Class类1.Java类用于描述一类事物的共性,该类事物有什么属性,没有什么属性,至于这个属性的值是什么,则是由这个类的实例对象来确定的,不同的实例对象有不同的属性值。Java程序中的各个Java类,它们是否属于同一类事物,是不是可以用一个类来描述这类事物呢?这个类的名字就是Class,要注意与小写class关键字的区别哦。Class类描述了哪些方面的信息呢?类的名字,类的访问属
2012-01-10 23:44:02 1341
转载 枚举
为什么要有枚举问题:要定义星期几或性别的变量,该怎么定义?假设用1-7分别表示星期一到星期日,但有人可能会写成int weekday = 0;或即使使用常量方式也无法阻止意外。枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错。枚举可以让编译器在编译时就可以控制源程序中填写的非法值,普通变量的方式在开发阶段无法实现这一目标。用普通类如何实现枚举功能
2012-01-10 15:00:02 696
转载 基本数据类型的自动拆箱与装箱
/** * 自动装箱: * Integer num1 = 12; * 自动拆箱: * System.out.println(num1 + 12); * 基本数据类型的对象缓存: * Integer num1 = 12; * Integer num2 = 12; 这块相等,<=127都是真的 * System.out.println(num1 == num2); * Integ
2012-01-10 13:05:51 1076
原创 对象序列化
当你创建对象时,只要你需要,他就会一直存在,但是在程序终止时,无论如何他都不会继续存在。尽管这么做肯定是有意义,但是仍旧存在某些情况,如果对象能够在程序不运行的情况下仍能存在并保存其信息,那将非常有用。这样,在下次运行时,该对象将被重建并且拥有的信息与程序上次运行时所拥有的信息相同。Java的对象序列化将那些实现了Serializable接口的对象转换成一个字节序列,并
2012-01-10 12:44:35 1001
转载 增强for循环
l语法:Øfor ( type 变量名:集合变量名 ) { … } l注意事项:Ø迭代变量必须在( )中定义!Ø集合变量可以是数组或实现了Iterable接口的集合类l举例: public static int add(int x,int ...args) { int sum = x; for(int arg:args) { sum += arg;
2012-01-09 17:38:51 1806
原创 java.util.ConcurrentModificationException
当方法检测到对象的并发修改,但不允许这种修改时,抛出此异常。 例如,某个线程在 Collection 上进行迭代时,通常不允许另一个线性修改该 Collection。通常在这些情况下,迭代的结果是不明确的。如果检测到这种行为,一些迭代器实现(包括 JRE 提供的所有通用 collection 实现)可能选择抛出此异常。执行该操作的迭代器称为快速失败 迭代器,因为迭代器很快就完全失败,而不会冒着
2012-01-09 17:27:22 1323
转载 什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。
我们有时候将一个java对象变成字节流的形式传出去或者从一个字节流中恢复成一个java对象,例如,要将java对象存储到硬盘或者传送给网络上的其他计算机,这个过程我们可以自己写代码去把一个java对象变成某个格式的字节流再传输,但是,jre本身就提供了这种支持,我们可以调用OutputStream的writeObject方法来做,如果要让java 帮我们做,要被传输的对象必须实现serializa
2012-01-09 16:48:50 3417
转载 序列化接口的id有什么用?
对象经常要通过IO进行传送,让你写程序传递对象,你会怎么做?把对象的状态数据用某种格式写入到硬盘,Person->“zxx,male,28,30000”àPerson,既然大家都要这么干,并且没有个统一的干法,于是,sun公司就提出一种统一的解决方案,它会把对象变成某个格式进行输入和输出,这种格式对程序员来说是透明(transparent)的,但是,我们的某个类要想能被sun的这种方案处理,必须实
2012-01-09 16:47:20 4226
转载 Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
Overload是重载的意思,Override是覆盖的意思,也就是重写。重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。重写Override表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象
2012-01-09 16:41:53 4549
转载 可变参数
l问题:一个方法接受的参数个数不固定,例如:ØSystem.out.println(countScore(2,3,5));ØSystem.out.println(countScore(1,2,3,5)); l可变参数的特点:Ø只能出现在参数列表的最后;这个要记住Ø...位于变量类型和变量名之间,前后有无空格都可以;Ø调用可变参数的方法时,编译器为该可变参数隐含创建一个数组
2012-01-09 16:39:05 999
转载 静态导入
limport语句可以导入一个类或某个包中的所有类limport static语句导入一个类中的某个静态方法或所有静态方法l语法举例: Øimportstatic java.lang.Math.sin;Øimportstatic java.lang.Math.*; 使用求两个数的最大值和相减结果的绝对值进行举例,这个例子本身也有些学习价值。 Syst
2012-01-09 16:30:46 650
原创 并发基础知识2
4终结任务 1、装饰性花园 2、在阻塞时终结 四种状态: 新建(new):当线程被创建时,他只会短暂的出于这种状态。 就绪(Runnable):在这种状态下,只要调度器把时间片分配给线程,线程就可以运行。 阻塞(Blocked):线程能够运行,但有某个条件阻止他的运行。 死亡(Dead):处于死亡活终止状态的线程将不再是可调度的,并且再也不会得到CPU时间,他的
2012-01-09 12:30:26 1046
原创 并发基础知识1
1并发的多面性 并发编程令人困惑的一个主要原因是是:使用并发时需要解决的问题有多个,而实现并发的方式也有多种,并且这两者之间没有明显的映射关系。 用并发解决的问题大体上分为“速度”和“设计可管理性”两种。 1、更快的执行 并发是用于多处理器编程的基本工具。 但是,并发通常是提高运行在单处理器上的程序的性能。(但是,会出现上下文切换的代价) 但是,单处理器上,还可以处理阻
2012-01-09 12:29:43 1427
原创 第15条:使可变性最小化
不可变的类比可变的类更容易设计、实现和使用。为了使类成为不可变,要遵循下面五条规则:1、不要提供任何会修改对象状态的方法。2、保证类不会被扩展。3、使所有的域都是final的。4、使所有的域都成为私有的。5、确保对于任何可变组件的互斥访问。不可变对象本质上是线程安全的,他们不要求同步。不可变对象可以自由地共享。“不可变对象
2012-01-06 15:42:55 1067
原创 第14条:在公有类中使用访问方法而非公有域
如果类可以在他所在的包的外部进行访问,就提供访问方法。如果类是包私有的,或者私有的嵌套类,直接暴露他的数据域并没有本质的错误。总之,公有类永远都不应该暴漏可变的域。虽然还是有几个问题,但是让公有类暴漏不可变的域,起危害比较小。但是,有时候需要会用到包级私有的或者私有的嵌套类来暴漏域,无论这个类是可变还是不可变。Demo:package cn.part
2012-01-06 12:22:18 1456
原创 第13条:使类和成员的可访问性最小化
概念:要区别设计良好的模块与设计不好的模块,最重要的因素在于,这个模块对于外部的其他模块而言,是否隐藏其内部数据和其他细节。设计良好的模块会隐藏所有的实现细节,把他的API和他的实现清晰的分割开来。然后,模块之间通过他们之间的API进行通信,一个模块不需要知道其他模块的内部情况。这个概念被成为信息隐藏(information hiding)或封装(encapsulation),是软件设
2012-01-06 11:40:43 1207
p4jsecurity p4jmvc
2013-04-04
spring cache demo
2013-03-02
中国城市数据 示例
2013-02-05
中国城市数据
2013-02-05
p4jorm 1.6编译版本
2013-02-01
p4jorm 源码 文档 示例
2013-02-01
jbpm显示执行位置demo
2013-01-20
jbpm4 helloworld
2013-01-15
《partner4java 讲述Spring入门》之第一步:Spring概述与Spring IoC
2012-11-17
对JUnit的一点简单讲解包括一点简单的Android JUnit的讲解
2010-07-14
jbpm3.chm 作者Tom Baeyens 翻译dinghong JBoss jBPM 3.0
2009-09-21
JavaWEB开发-简单标签 ppt
2009-09-21
Java Web基础 Tomcat
2009-09-21
深入浅出Hibernate_夏昕.PDF
2009-09-21
JS中常用的xpath特性
2009-09-21
jQuery JavaScript Library v1.3.2
2009-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人