![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
银河信仰
Bug就像黎明前的黑暗,只要坚持,总能看到黎明。
展开
-
胡八一之Java(七):面向对象的陷阱
一、instanceof的陷阱:如果前面操作数的编译类型与后面的类型没有任何关系,那么编译将不通过。例如:String a ="aaa";System.out.println("a是否属于MATH的类型:"+(a.instanceof Math));String类型与Math无任何关系,所以编译不通过,那么instanceof编译通过的条件是什么?通过条件:前面的操作数类...原创 2018-09-22 16:11:49 · 281 阅读 · 0 评论 -
胡八一之Java(八):多线程
多线程的优势:多进程运行需要独立的内存空间,而多线程可以共享内存,从而提高了线程的运行效率。创建线程一般使用两种方式:1、继承Thread类:import java.io.IOException;public class Test extends Thread { private int i=0; public void run() { for(;i<100;i+...原创 2018-09-29 11:20:41 · 245 阅读 · 0 评论 -
胡八一之Java(四):泛型
Java7泛型的的“菱形”语法:public class Test1 { public static void main(String[] args) { //java7以后支持前面有完整的泛型信息,后面只有一对尖括号即可 ArrayList<String> list = new ArrayList<>(); list.add("西游记")...原创 2018-09-26 17:45:19 · 224 阅读 · 0 评论 -
胡八一之Java(九):异常处理
关闭资源:在实际开发中,经常需要在程序中打开一些物理资源,如数据库连接,网络连接,磁盘文件等资源。当不需要这些资源的时候,我们需要显式的关闭这些资源。垃圾回收机制并不会帮我们回收这些资源,它属于Java内存管理的一部分,只负责堆内存中分配出来的内存,对于这些物理资源,我们需要显式的来关闭,否则会造成内存泄漏。使用try catch finally 关闭资源(一)、使用finally可...原创 2018-09-25 15:04:50 · 412 阅读 · 0 评论 -
胡八一之Java(二):对象及其内存管理
实例变量初始化的时机:定义变量时指定初始值 非静态初始化块中对实例变量指定初始值 构造器中对实例变量指定初始值类所包含的非静态初始化块将会在构造器之前获得执行。class Cat{public Cat(String name,int age){System.out.println("执行构造器");this.name =name;this.age =age;}{...原创 2018-09-17 11:30:22 · 267 阅读 · 0 评论 -
胡八一之Java(一):数组及其内存管理
一、Java数组是静态的,数组一旦被初始化过后,其内存空间和数组大小是不可变的。 数组的初始化有两种方式,静态初始化和动态初始化。 (1)静态初始化:初始化时由程序员显示的指定数组每个元素的值,其数组大小由系统确定。//采用第一种静态初始化的方式String[] name =new String[]{"张三","李四"};//采用第二种静态初始化的方式S...原创 2018-09-15 20:44:15 · 255 阅读 · 0 评论 -
胡八一之Java(三):java集合概述
JAVA集合概述(一)、Collection 和Iterator接口import java.util.ArrayList;import java.util.Collection;import java.util.HashSet;public class Test{ public static void main(String args[]){ Collectio...原创 2018-09-17 20:09:09 · 291 阅读 · 0 评论 -
胡八一之Java(五):java内存回收
当一个对象在堆内存中运行时,有以下三种状态:可达状态:当一个对象有一个以上的引用变量引用它,程序可以通过引用变量来调用对象的属性和方法。在有向图中,这就属于可达。可恢复状态:如果一个对象没有任何变量再引用它,那么它将先进入可恢复状态。系统的垃圾回收机制准备回收该对象所占的内存,在回收该对象之前,系统会调用可恢复状态的对象finalize方法进行资源清理,如果系统调用该方法让对象有一个...原创 2018-09-19 18:19:05 · 273 阅读 · 0 评论 -
胡八一之Java(六):表达式的几个简单的小陷阱
1、复合赋值运算符的陷阱a=a+5与a +=5 是有区别的。a +=5等价于 a=(a的类型)(a+5);这就是复合运算符中包含的隐式类型转换。在什么时候会遇到此类型的错误呢? short a =5; a = (a-2);此句编译不通过,把一个int类型的值赋给short,所以报错。a -=2;而这样就不会发生错误,因为发生了隐式类型转换。2、输入法导致的...原创 2018-09-19 19:04:23 · 212 阅读 · 0 评论 -
胡八一之Java(十):多线程进阶
我们来模拟一个存取款操作,来看看线程的安全问题首先,建一个Account类:package bank;public class Account { private String accountNo; private double balance; public Account() { } public Account(String accoun...原创 2018-09-30 11:09:32 · 265 阅读 · 0 评论