java基础
文章平均质量分 54
Violet-Zhao
不忘初心,方得始终
展开
-
内存分配
java程序在运行过程中涉及到的数据会保存在什么地方?其中数据包括句柄、基本数据类型、new出来的对象、常量、静态变量等等。 1.寄存器 寄存器位于处理器中,直接从处理器中读写,属于最快的存储区域,寄存器根据需要由编译器进行选择,无法在java程序中对其进行选择。所以,可以暂时忽略这一块。 2.栈 栈是存取速度仅次于寄存器的一块存储区域,位于RAM中,栈读写速度快,当存储空间有限,同时原创 2017-09-27 12:29:10 · 295 阅读 · 2 评论 -
集合
数组与集合 数组为java内置结构,其存入对象数量及类型固定,不可更改。也就是说程序在运行前就已经知道所要创建的对象的数量以及类型,但并非所有程序在运行前就能获知对象类型以及对象数量信息,因此引入了集合。 集合主要用于保存数据,集合中保存的是对象句柄,会将类型信息丢弃,这就是为何在运行中才能得知对象类型。集合类关系如下: 下面介绍主要的集合: 1.List接口 有序原创 2017-10-10 16:36:24 · 258 阅读 · 0 评论 -
违例差错控制
说明:捕获错误最理想情况下是在编译期间捕获,但是并不是所有的错误都能够在编译期间捕获,有些错误必须等到运行期间才能发现,检测到运行期间发生的错误后该如何通知及处理?如果每次调用一个方法时都要细致地检查错误,代码可读性大大降低。违例:一种例外情况,在问题发生的时候,我们可能不知道该如何解决,但一定知道的是程序不能就这样一直执行下去,需要将错误报告出去,并采取一定的措施。本地可能没有足够多的信息,需要将原创 2017-10-11 16:24:56 · 415 阅读 · 0 评论 -
IO系统
IO种类:文件、控制台、网络连接1.字节流1.1InputStream子类简单说明: ByteArrayInputStream:包含一个内部缓冲区,该缓冲区中包含从流中读取的字节 FileInputStream:从文件系统的某个文件中获得输入字节,可以通过String、File或FileDescriptor 作为数据源使用 FilterInputStream:包含其他一些输入流,可将这些流作为基原创 2017-10-13 17:01:56 · 437 阅读 · 2 评论 -
对象序列化
1.说明:面向实现了Serialization接口的对象,可将它们转换成一系列字节,并可在以后完全恢复原来的样子。换句话说,可以在Windows机器上创建一个对象,通过序列化机制,将其通过网络发送给Linux机器,在通过反序列化可将其恢复成原来的样子。可实现有限持久化—通过序列化机制,转换成字节流写入到磁盘,在需要的时候再取出来。(有限的原因在于它不像存到数据库中的数据,序列化机制需要自己明确指定序原创 2017-10-14 11:37:45 · 277 阅读 · 0 评论 -
运行期类型鉴定
Class:包含与类有关的信息,每创建一个新类时,同时会创建一个Class对象(即同名的class文件)。在运行期,一旦我们想生成那个类的对象,JVM会先检查内存中是否已经载入Class对象,如果未载入,JVM找到同名class文件将其载入内存。java程序不是完全载入的,而是在程序需要的时候才会载入相应的class文件产生Class对象句柄的方法: Class.forName(“className原创 2017-10-16 10:24:17 · 340 阅读 · 0 评论 -
jxl和poi操作Excel
目前我所负责的系统中有POI和JXL两种方式的导出数据实现。 项目初期数据量不大一般使用JXL的方式,可以满足需求,后来在进行一些盘点,等月度出入库查询报表统计的时候出现了超过最大sheet行的错误,另外堆内存也被占满了。所以后面就紧急将部分重要功能,要导的数据量大的几个模块改造成POI的方式了。但是仍然跑的很慢,没有了解POI的另外一种实现方式,后来对POI的工具类,以及POI的导出实现做了部分修转载 2017-12-11 17:12:56 · 433 阅读 · 0 评论 -
动态代理
https://blog.csdn.net/luanlouis/article/details/24589193原创 2018-08-17 14:48:27 · 250 阅读 · 0 评论