- 浏览: 150244 次
- 性别:
- 来自: 成都
最新评论
-
zhuguopei_java:
return name.equals(p.name()) &a ...
1、集合练习 -
392214559:
引用
1、数据结构与算法
文章列表
一、Java内存管理机制
在C++语言中,如果需要动态分配一块内存,程序员需要负责这块内存的整个生命周期。
从申请分配、到使用、再到最后的释放。
这样的过程非常灵活,但是却十分繁琐,程序员很容易由于疏忽而忘记释放内存,从而导致内存的泄露。
Java语言对内存管理做了自己的优化,这就是垃圾回收机制。
Java的几乎所有内存对象都是在堆内存上分配(基本数据类型除外),
然后由GC(garbage collection)负责自动回收不再使用的内存。
二、垃圾回收机制
我们在实际的项目开发中仍然会遇到内存泄漏的问题。
也许有人表示怀疑,既然Java的垃圾回收机制能 ...
一、hashCode方法与HashSet类
如果想查找一个集合中是否包含有某个对象,大概的程序代码怎样写呢?
通常是逐一取出每个元素与要查找的对象进行比较,当发现某个元素与要查找的对象进行equals方法比较的结果相等时
则停 ...
一、反射
反射就是把java类中的各种成分映射成相应的java类。
例如,一个java类中用一个Class类的对象来表示一个类中的组成部分:成员变量,方法,构造函数,包 等信息也用一个个的java类来表示,
就像汽车是一个类, ...
一、Method
Method 提供关于类或接口上单独某个方法(以及如何访问该方法)的信息。
所反映的方法可能是类方法或实例方法(包括抽象方法)。
Method 允许在匹配要调用的实参与底层方法的形参时进行扩展转换;
但如果要进行收缩转换,则会抛出 IllegalArgumentException。
二、常用方法
public final class Method extends AccessibleObject implements GenericDeclaration, Member
{
//按照声明顺序返回 Class 对象的数组,这些对象描述了 ...
一、Field
Field 提供有关类或接口的单个字段的信息,以及对它的动态访问权限。
反射的字段可能是一个类(静态)字段或实例字段。
Array 允许在执行 get 或 set 访问操作期间进行扩展转换,但如果将发生收缩转换,则抛出一个 IllegalArgumentException。
二、常用方法
public final class Field extends AccessibleObject implements Member
{
//没有构造方法
//返回指定对象上此 Field 表示的字段的值。如果该值是一个基本类型值,则自动将其包装在一 ...
一、Constructor<T>
Constructor 提供关于类的单个构造方法的信息以及对它的访问权限。
Constructor 允许在将实参与带有底层构造方法的形参的 newInstance() 匹配时进行扩展转换,
但是如果发生收缩转换,则抛出 IllegalArgumentException。
二、方法
public final class Constructor<T>extends AccessibleObject implements GenericDeclaration, Member
{
//没有构造方法
/ ...
一、Class
Class 类的实例表示正在运行的 Java 应用程序中的类和接口。
枚举是一种类,注释是一种接口。
每个数组属于被映射为 Class 对象的一个类,所有具有相同元素类型和维数的数组都共享该 Class 对象。
基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void 也表示为 Class 对象。
Class 没有公共构造方法。
Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的。
二、理解
Jav ...
一、enum枚举
枚举是一种特殊的类,其中的每个元素都是该类的一个实例对象
为什么要有枚举
问题:要定义星期几或性别的变量,该怎么定义?假设用1-7分别表示星期一到星期日,但有人可能会写成int weekday = 0...
枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错。
枚举可以让编译器在编译时就可以控制源程序中填写的非法值,普通变量的方式在开发阶段无法实现这一目的
二、枚举的基本应用
public class EnumDemo
{
public static void main(String[] args)
...
一、享元模式(Flyweight)
Flyweight在拳击比赛中指最轻量级。
享元模式以共享的方式高效的支持大量的细粒度对象。
是一种结构模式,处理类和对象之间的组合,避免大量拥有相同内容的小类的开销(如耗费内存),使大 ...
一、自动装箱拆箱
自动装箱/拆包大大方便了基本类型数据和它们包装类地使用。
自动装箱:基本类型自动转为包装类.(int >> Integer)
自动拆箱:包装类自动转为基本类型.(Integer >> int)
在JDK1.5之前,我们总 ...
一、IDE 集成开发环境:Integrated Development Environment
IDE开发工具都支持使用工程化方式管理一个项目的程序开发过程,
一般来说一个相对独立的项目就是一个工程,
一个项目中涉及的几个java文件,资源文件等用一个工程进行管理。
在不使用工程管理的情况下,如果一个项目包括多个java源文件,
编程人员要精心维护这些源文件之间以及源文件与其他文件的目录关系,
需要注意编译这些源文件,需要手工启动运行编译后的结果,
如果将一个程序的所有源文件用一个工程来组织,
开发工具能对所有源文件集中管理,记住每个源文件的位置和相互关系,工程中有哪 ...
一、Scanner
一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。
Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。
然后可以使用不同的 next 方法将得到的标记转换为不同 ...
一、正则表达式
正则表达式:符合一定规则的表达式
作用:用于专门操作字符串
特点:用于一些特定的符号来表示一些代码操作。这样就简化书写
好处:可以简化对字符串的复杂操作
弊端:符号定义越多,正则越长,阅读性越差
二、具体操作:匹配
String 的 matches 方法。用规则匹配整个字符串,只要有一处不符合规则,就匹配结束,返回false
字符类
[abc]
a、b 或 c(简单类)
[^abc]
任何字符,除了 a、b 或 c(否定)
[a-zA-Z]
a 到 z 或 A 到 Z,两头的字母包括在内(范围)
[ ...
一、TCP并发上传任意文件
服务器端要用到多线程技术
import java.io.*;
import java.net.*;
class Client
{
public static void main(String[] args)throws Exception
{
//创建客户端的socket服务,指定目的主机和端口
Socket s = new Socket("192.168.0.253",10000);
FileInputStream fis = new FileInputStream("e:/ ...
一、TCP传输
Socket和ServerSocket
建立客户端和服务器端
建立连接后,通过Socket中的IO流进行行数据的传输
关闭Socket
同样,客户端和服务器端是两个独立的应用程序
二、Socket
此类实现客户端套接字(也可以就叫“套接 ...