重新开始总结Java
bujiujie8
这个作者很懒,什么都没留下…
展开
-
ConcurrentHashMap中的一些方法的理解
这篇(可能不止这一篇)主要记录一下自己学习ConcurrentHashMap的情况.主要分析一下put()(调用了putVal())与get()0.一些常见的东西这里说一说类中随处可见的几个东西0.1 tabAt((Node<K,V>[] tab, int i)见名知意,返回tab中索引为i的内容,volatile. static final <K...原创 2019-12-24 19:34:30 · 1073 阅读 · 0 评论 -
java中的抽象与接口
简介抽象方法中没有方法体,方法体被一个分号代替,是用来让子类重写的方法,所以不能声明为final.必须声明为public或protected,默认情况下是public. public abstract void method();//抽象类中的抽象方法. void inter();//接口中的抽象方法,默认为public.抽象类与接口生来就是要被继承与实现的,所以首先...原创 2019-02-10 13:02:31 · 841 阅读 · 0 评论 -
Java中的多线程--Thread类
本篇介绍Thread类中的一些方法.构造器Thread() Thread(Runnable target) Thread(Runnable target, String name) Thread(String name) Thread(ThreadGroup group, Runnable target) Thread(ThreadGroup group, Run...原创 2019-02-17 13:00:33 · 185 阅读 · 0 评论 -
Java中的异常处理
简介我们在编写代码的时候,有时候IDE会给出以下提示:未处理的异常:java.lang.FileNotFoundException. 点击提示后,一般有这两个选项:1.在方法签名添加exception.2.使用try/catch包围 .使用方法1处理后:public class BasicException { public static void m...原创 2019-02-11 18:47:43 · 302 阅读 · 0 评论 -
Java的IO系统--简单介绍与File
Java拥有完善的IO系统,下面就介绍一下,这个部分主要参考<Java核心技术 第10版>.有时候需要读取外部文件,或者向外部写入文件,其实之前我们就接触过一点IO系统:System中的静态变量out,就是IO流系统中的一员:PrintStream类型的.IO系统有两个大的分支:字节流与字符流,每个分支都有一个顶级输入父类与顶级输出父类,每个父类都派生出若干子类,子类再派生出子...原创 2019-02-12 14:51:58 · 232 阅读 · 0 评论 -
Java的IO系统--字节流的两个顶级父类
这篇来说说字节流.两个顶级父类字节流有两个顶级父类:输入流InputStream与输出流OutputStream,两者均为抽象类.InputStream这是字节输入流的顶级父类,下面来分析一下它的源码.构造器没有显式地写出构造器,证明只有一个默认构造器.方法一共有三个read():有一个无参的抽象方法read(),是留给子类去实现的. public ...原创 2019-02-12 21:21:19 · 4687 阅读 · 0 评论 -
Java的IO系统--字节流的一些子类(低级流)
低级流与高级流1.节点流:直接连接两个设备的流类型,一般为低级流.即顶级父类的直接子类,具体来说就是extends InputStream或OutputStream的类(除FilterStream).2.处理流:对节点流再次封装与处理的流类型,一般为高级流.即FilterStream的子类,具体来说就是extends FilterInputStream或FilterOutputStream...原创 2019-02-13 20:30:30 · 525 阅读 · 0 评论 -
Java的IO系统--字节流的一些子类(高级流)
这篇来介绍一些字节流的高级流,在基础的文件流上加入了相应的功能,比如缓冲区,写基本数据类型和对象.BufferedOutputStream与BufferedInputStream(缓冲字节流)简介缓冲字节流在流中维护了一个缓冲区,与基本的文件流相比,数据首先存储在缓冲区中,缓冲区充满或调用相应的方法时,才会把数据冲刷出去,与一个一个字节的处理相比,效率提升了很多.对于缓冲流,我们可以定...原创 2019-02-14 14:45:33 · 283 阅读 · 0 评论 -
关于常量池
这里暂且把Integer作为包装类的代表来说明.我们知道每次new都是创建一个新的对象,由于==比较的是内存地址,所以下面的代码不会为true: String s1 = new String("1"); String s2 = new String("1"); System.out.println(s1 == s2); //false但是...原创 2019-03-28 13:57:47 · 227 阅读 · 0 评论 -
Java中的多线程--一些概念
这一块内容主要参考<Java核心技术> 第10版 .进程与线程我们用电脑时打开任务管理器,切换到进程选项卡,里面看到的各种xxx.exe,每一个都是一个进程,而多个线程则构成了一个进程.在这篇博客之前的代码中,都是单线程的--一个main()线程,在抛出异常的时候能看到Exception in thread "main"...类似字样.线程状态新建状态执行new T...原创 2019-02-16 12:43:09 · 173 阅读 · 0 评论 -
Java中的流程控制--循环
while与do whilewhile:while(布尔表达式){ 循环体}do-while:do { 循环体} while (布尔表达式); while有"当"的意思:当符合这个条件,就执行下面的语句,当布尔表达式结果为false时,就结束循环,所以想要一直循环,就在布尔表达式处填上true,直到遇到break都不会中断循环: public...原创 2019-02-09 11:57:37 · 188 阅读 · 0 评论 -
Java中的基本数据类型与包装类
这篇来说说基本数据类型与其对应的包装类.基本数据类型有8种(<Java编程思想>中把void也算作基本数据类型,所以有9种的说法.),4中整数类型,2种浮点类型,1中字符类型,1种布尔类型.每种基本数据类型都有其对应的包装类,下面这个表格列出了基本数据类型,占用多少空间,表示范围与它的包装类类型(这里把void也写进去了.):基本数据类型 占用内存大小 最小值 ...原创 2019-02-03 15:04:18 · 182 阅读 · 0 评论 -
Java的三种String(上):String
Java有三种字符串类型:String,StringBuilder与StringBuffer.你可能会想,为啥还要三种,直接String一种不就好了嘛?其实这三个类之间有很多不同之处,同时也有若干相同之处.对于相同点,比如都是final类,所以不能被继承;都是对字符串进行操作等等等.对于不同点,String与其它两个最大的不同点就是,String是不可变的,一旦创建了String对象,它就...原创 2019-02-04 12:59:21 · 651 阅读 · 0 评论 -
Java的三种String(下):StringBuilder与StringBuffer
这篇来说说两种可变字符串StringBuilder与StringBuffer,其实这两个类的方法是差不多的,只是StringBuffer的方法全部有synchronized修饰,也就是线程安全,但是相对的速度就比较慢.StringBuilder速度较快但是线程不安全,在对String进行部分操作时,其实就是使用的StringBuilder.构造器 StringBuffer(...原创 2019-02-04 17:31:41 · 159 阅读 · 0 评论 -
Java的IO系统:字符流与顶级父类Reader Writer
与字节流一次处理1个字节相比,字符流每次处理2个字节,除此之外,还有一些区别:1.字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串2. 字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而字符流就可以---摘抄自Linux公社.我们可以看看字节流和字符流的结构,可以发现字节流的类比字符流多,下面两张图片拍摄自<Java核心...原创 2019-02-15 13:11:53 · 1697 阅读 · 0 评论 -
Java中的this与super
这篇说一下容易混淆的两个关键字:this与super.this简单的介绍先看看<Java编程思想>上面的解释:this关键字只能在方法内部使用,表示对"调用方法的那个对象"的引用.this的用法和其他对象引用并无不同.但要注意,如果在方法内部调用同一个类中的另一个方法,就不必使用this,直接调用即可.当前方法中的this引用会自动应用于同一个类中的其他方法.也就是...原创 2019-02-07 21:53:18 · 213 阅读 · 0 评论 -
Java中的static
static是"静态的"的意思.静态方法首先看看<Java编程思想>对静态方法的解释:static方法就是没有this的方法.在static方法内部不能调用非静态方法,反过来倒是可以的.而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法.这实际上正是static方法的主要用途.关于静态方法内不能调用非静态方法,而反过来可以.经过上面的解释,我们知道...原创 2019-02-08 14:54:55 · 164 阅读 · 0 评论 -
Java中的final
这篇来说说final关键字.final的意思是"最终的,也就意味着现在看到的是什么以后就一直是什么了:不能被修改.不过除了不能被修改还有其他一些特性,下面就来介绍一下.final类我们常用的几个类,如System,String或Integer,都是final类.public final class System{}public final class String i...原创 2019-02-08 19:33:51 · 167 阅读 · 0 评论 -
Java中的流程控制--分支判断
if-else if-else简单理解一下就是,如果这样就XX,否则就XX,具体形式如下: public static void main(String[] args) { Random random = new Random(100); for (int j = 0; j < 10; j++) { int i = ra...原创 2019-02-09 11:05:39 · 841 阅读 · 0 评论 -
Java与面向对象
首先做一点说明:为了复习知识点,也是强迫自己认真读书,打算重新开始总结Java.主要参考<Java编程思想>第4版与<Java核心技术 I>第10版.Java语言是由詹姆斯·高斯林于1995年发明出来的一种编程语言,前身是Oak语言.任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的编程语言...原创 2019-02-01 19:54:22 · 513 阅读 · 0 评论