
Java基础学习
见证你的路
左抓右挖,励志做一名“抓挖”工程师, 相信过程,终得答案!
展开
-
java多线程学习二
运行线程目前在java的线程学习中,我学到的运行线程的方法主要有三种。一、第一种是直接构造Thread类的一个实例,调用它的start()方法。要让线程完成一些操作,可以对Thread类派生子类,覆盖其run()方法。下面的例子源于书本,该程序用于计算多个文件的安全散列算法(SHA)的摘要。 DigestThread是Thread的子类,它的run()方法为指定文件计算一个25原创 2017-03-07 13:40:51 · 443 阅读 · 0 评论 -
java中的static关键字
1. static修饰方法static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问。禁止在静态成员方法中访问非静态成员方法。即使没有显示地声明为static,类的构造器实际上也是静态方法。2. static修饰成员变量static变量也称作静态变量,静态变量和非静态变量的区别是:静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时...原创 2018-02-13 16:32:06 · 200 阅读 · 0 评论 -
并发基础一:线程
1. 区分概念:并发和并行并发是逻辑上的同时发生,并行更多是侧重于物理上的同时发生。并发往往是指程序代码的结构支持并发,并发的程序在多cpu上运行起来才有可能达到并行,并行往往是描述运行时的状态。在操作系统中,并发是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。并发关注的三个问题: 安全性,也...原创 2018-02-24 17:51:09 · 225 阅读 · 0 评论 -
HashMap的学习笔记
1. 相关数据结构HashMap概括的讲就是数组+线性链表,首先回顾一下HashMap涉及到的三种数据结构。数组:一组连续的内存存储数据,根据下标的查找复杂度为O(1),根据给定的值查找复杂度为O(n)。(查找快,插入删除慢)。线性链表:如果能直接定位,新增和删除只需要O(1)的复杂度,但是查找定位需要遍历,平均复杂度为O(logn)(查找慢,插入删除快)。哈希表:在哈希表中进行添...原创 2018-02-13 20:25:05 · 200 阅读 · 0 评论 -
java中相对路径的常见用法
java中相对路径的常见用法利用类加载器 InputStream is=TestAction.class.getClassLoader().getResourceAsStream("test.txt"); 不论是一般的java项目还是web项目,先定位到能看到包路径的第一级目录 利用类加载器,会在所在类的所在包的第一级目录(上一级目录)下面寻找文件 (比如,test...原创 2018-02-13 19:53:06 · 396 阅读 · 0 评论 -
java多线程学习一
新建状态(New):新创建了一个线程对象。就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。 运行状态(Running):就绪状态的线程获取了CPU,执行程序代码。 死亡状态(Dead)线程执行完了或者因异常退出了run()方法,该线程结束生命周期。阻塞状态(Blocked):阻塞状态是线程因...原创 2017-03-06 11:34:58 · 224 阅读 · 0 评论 -
java的内部类
java的内部类java的内部类分为四种:成员内部类,静态内部类,方法内部类,匿名内部类 成员内部类内部类定义在外部类的内部,相当于外部类的一个成员变量的位置,内部类可以使用任意访问控制符,如public,protected,private等内部类可以访问既可以访问自身的数据域,也可以访问创建它的外围类对象的数据域。内部类总有一个隐式引用,指向创建它的外部类对象。定义了成员...原创 2018-02-13 17:21:24 · 140 阅读 · 0 评论 -
final、finally、finalize的区别
final、finally、finalize的区别final类被声明为final: 意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。变量或方法被声明为final: 可以保证它们在使用中不被改变。被声明为final的变量必须在new一个对象时初始化(即只能在声明变量或构造器或代码块内初始化),而在以后的引用中只...原创 2018-02-13 16:14:18 · 148 阅读 · 0 评论 -
java抽象类和接口的对比
java抽象类和接口的对比抽象类:含有abstract修饰符的class即为抽象类,abstract类不能创建的实例对象。含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必都是抽象的,抽象类中可以包含不带abstract关键字的方法。abstract class类中定义抽象方法必须在具体的子类中实现,所以,不能有抽象构造...原创 2018-02-13 16:00:04 · 169 阅读 · 0 评论 -
java中的Equals和==
java中的Equals和==java中的数据类型,可分为两类:基本数据类型:包括了byte,int,char,long,float,double,boolean,short,他们之间的比较,应用双等号(==),比较的是他们的值。因为它们不是对象,所以没有equals方法。复合数据类型:即是对象的引用 使用==比较:比较的是他们在内存中的存放地址,所以,如果他们的引用指向堆中的同一个...原创 2018-02-13 15:49:26 · 161 阅读 · 0 评论 -
java反射
1、定义JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。JAVA反射(放射)机制:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是原创 2017-08-16 11:04:46 · 189 阅读 · 0 评论 -
Java异常
1、定义:异常(Exception):Java代码在运行时期发生的问题就是异常。在Java中,把异常信息封装成了一个类。当出现了问题时,就会创建异常类对象并抛出异常相关的信息(如异常出现的位置、原因等)。首先来看一下Throwable类定义:Throwable 类是 Java 语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Javathrow ...原创 2017-08-14 11:15:09 · 316 阅读 · 0 评论