JavaSE
小胖头
这个作者很懒,什么都没留下…
展开
-
Java并发学习笔记(1):进程与线程的基本概念
本系列主要参考文章http://concurrent.redspider.group/文章目录一、进程产生的背景1. 批处理操作系统2. 进程的提出3. 线程的提出4. 多进程的方式也可以实现并发,为什么还需要使用多线程?5. 进程和线程的区别?二、上下文切换一、进程产生的背景1. 批处理操作系统指令运行方式是串行的,内存中始终只有一个程序在运行因为串行运行,所以每个程序需要依此排...原创 2020-04-15 11:19:06 · 305 阅读 · 0 评论 -
IO流(3)转换流、序列化流、打印流、Properties属性类
文章目录一、转换流1. 字符编码与解码2. 字符集3. 编码问题导致的乱码4. InputStreamReader类--(字节流到字符流的桥梁)4.1 构造方法4.2 解决编码问题一、转换流转换流的学习,先要了解字符编码1. 字符编码与解码编码:把字符(字母、英文、标点符号、中文)等字符按照某种规则转换为二进制数据(字节数据)存储在计算机中解码:将存储在计算机中的二进制数据...原创 2020-03-27 15:09:46 · 591 阅读 · 0 评论 -
IO流(2)缓冲流:增强型字节流、字符流
文章目录一、缓冲流概述1. 缓冲流的基本原理二、字节缓冲流1. 构造方法2. 缓冲流的高效性(缓冲流实现大文件的复制)三、字符缓冲流1. 构造方法2. 字符缓冲流特有方法(readLine()/writeLine())2.1 readLine()2.2 newLine()3. 缓冲字符流实现对文本的排序一、缓冲流概述是对前面学习的4个基础的字节字符流的增强FileOutputStream...原创 2020-03-25 21:18:20 · 403 阅读 · 0 评论 -
IO流(1):基础字节流、字符流
文章目录一、IO概述1. 什么是IO?2. IO的分类2.1 按流动的方向分2.2 按数据的类型分3. IO流中的根类二、字节流1. 一切皆字节2. 字节输出流(抽象类):OutputStream3. FileOutputStream3.1 构造方法3.2 写出字节数据3.2.1 写出单个字节3.2.2 写出字节数组3.2.3 写出指定起点和长度的字节数组3.3 数据追加续写(2个相关的构造方法...原创 2020-03-25 16:40:17 · 309 阅读 · 1 评论 -
Java序列化详解
本文大都参考文章:https://juejin.im/post/5ce3cdc8e51d45777b1a3cdf文章目录一、 序列化的含义、意义、使用场景二、序列化的实现方式1. Serializable1.1 普通序列化和反序列化1.2 成员是引用的序列化1.3 同一对象多次序列化的机制1.4 Java序列化算法要点1.5 Java序列化算法存在的问题1.6 可选的自定义序列化1.6.1 ...原创 2020-03-24 14:23:45 · 593 阅读 · 0 评论 -
Java中的自动拆箱与装箱(转载)
声明:本文绝大部分内容都是转载至博客园的这篇文章深入剖析Java中的装箱和拆箱。自己在这里根据原文重新抄写一遍是为了加深印象和理解。文章目录一、什么是自动装箱?自动拆箱?二、装箱和拆箱是如何实现的?三、常见面试问题1. Integer2. Double3. Boolean4. 谈谈Integer i = new Integer(xxx)和Integer i =xxx;这两种方式的区别。5. ...原创 2020-03-17 14:24:37 · 330 阅读 · 0 评论 -
String、String.intern()方法、StringBuilder和StringBuffer的深入理解与总结
文章目录一、String类的一些基础知识和要点1. String类和字符数组是被fianl修饰的2. String类中字符串的操作方法返回的都是新对象二、String的不同创建方式的以及intern()方法的深入理解1. String的不同创建方式1.1 小结(重要)2. String对象中字面量+字面量和字面量+常量的不同3. intern()方法的作用3.1 inten()在JDK1.6和JD...原创 2020-03-16 15:56:04 · 791 阅读 · 0 评论 -
JavaSE学习笔记:File类
文章目录一、File类1.概述2.File类的静态成员变量2.1路径分隔符2.2名称分隔符2.3使用建议3.绝对路径和相对路径3.1绝对路径3.2相对路径3.3注意事项4.File类的构造方法4.1构造方法14.1使用实例4.2构造方法24.3构造方法35.File的常用方法5.1获取5.1.1获取绝对路径5.1.2获取路径本身5.1.3获取给定路径的结尾部分5.1.4获取文件大小5.2判断5.2...原创 2020-01-04 19:31:27 · 866 阅读 · 0 评论 -
字节码编译版本与JDK版本不一致问题及解决方案
文章目录问题解决办法问题在学习字节码文件的时候,发现我的class文件的主版本号是50也就是对应JDK6IDEA自带的反编译工具也提醒我使用的是JDK6但是我明明使用的JKD版本是8啊解决办法打开IDEA的编译设置,发现我编译版本是6,将其设置为8即可应用后重新编译整个项目...原创 2019-12-16 11:18:10 · 926 阅读 · 0 评论 -
Java中的单态模式的两种实现方法
文章目录单态模式方法1错误版本正确版本方法2:和方法1无本质区别单态模式单例类只有一个实例,也就是一个类只能创建一个对象而且该对象只能由该类本身创建:所以类的构造方法必须是private的单例类必须给其他对象提供这一个实例方法1错误版本public class Singleton { private Singleton singleton = new Singleto...原创 2019-11-20 19:24:53 · 304 阅读 · 0 评论 -
Java中如何比较两个数组的内容相等?
文章目录错误比较:调用数组对象的equals方法对于字符数组,可先转换为String类,再调用equals比较通用的解决方案:使用数组工具类Arrays错误比较:调用数组对象的equals方法下述代码输出?public class ArrayTest { public static void main(String[] args) { char[] a = ne...原创 2019-11-20 19:16:59 · 2290 阅读 · 0 评论 -
Java中多态的相关问题
文章目录父类和子类中的多态接口和实现类中的多态接口引用指向实现类对象多态是编译期行为还是运行期?还是二者皆可?Java中通过方法重载和方法重写来实现多态?这句话是否正确?关于多态:父类或者接口类型的引用指向子类或者实现接口的类的对象。这是多态的本质。父类和子类中的多态代码下述的代码输出?public class Demo01 { public static void ma...原创 2019-11-20 19:09:54 · 161 阅读 · 0 评论 -
java中&和&&的区别
文章目录结论结论&&:逻辑与操作,短路!也就是第一个条件如果为假,那么后面的条件则不会再判断了&有两个作用按位与操作逻辑与操作,但是不会短路,也就是&的左右两侧都会参与运算...原创 2019-11-19 10:48:27 · 86 阅读 · 0 评论 -
Java中Set存储元素的原理分析(自定义类为何需要重写equals和hashcode方法)
文章目录两个例子例1:集合中存储字符串例2:集合中存储自定义元素Set存储数据原理重写hashcode和equals方法重写equals方法的时候,必须重写hashcode方法两个例子集合的基本问题例1:集合中存储字符串下述代码输出什么? public static void main(String[] args) { Set<String> s...原创 2019-11-16 16:36:14 · 762 阅读 · 0 评论 -
Java中的==和equals详解
文章目录三个例子1.==和equals用于String对象的比较2.==和equals用于Object对象的比较3.==和equals用于自定义对象的比较==和equals的本质区别1.==比较的永远是地址2.equals本质上也比较的是地址,但是有些类重写了equals方法,达到比较对象内容的目的3.分析==在比较基本数据类型的时候也是在比较地址吗?三个例子1.==和equals用于Stri...原创 2019-11-13 16:14:52 · 1657 阅读 · 0 评论 -
Java中关于抽象类的问题
文章目录问题1:一个类能否同时被abstract和final修饰?为什么?1.问题2.关于抽象类的重要的几点问题1:一个类能否同时被abstract和final修饰?为什么?1.问题下述代码能否被编译通过public abstract final class Test { }不能2.关于抽象类的重要的几点抽象类不一定包含抽象方法,可以全都...原创 2019-11-13 11:08:22 · 288 阅读 · 0 评论 -
Java中数组存放的是引用!是对象的地址,不是对象本身,对象都在堆中!
文章目录问题1问题2问题1下述代码能否编译通过?为什么?interface I{}public class Demo04 { public static void main(String[] args) { I[] i = new I[2]; }}可以编译通过,这就涉及到对Java中数组的认识了首先I[] i = new...原创 2019-11-12 11:13:44 · 1935 阅读 · 0 评论 -
Java中异常常见问题总结
文章目录问题11.代码2.分析3.问题1.1问题11.代码问下述代码能否编译通过?如果能,输出是?public class Demo03 { public static void main(String[] args) { try { String s = null; return...原创 2019-11-12 11:03:53 · 302 阅读 · 0 评论 -
Java类中final/static修饰的成员变量初始化问题
文章目录问题1:final修饰基本数据类型1.代码2.分析问题2:final修饰静态变量1.代码2分析3.问题2.1问题3:final修饰引用类型1.代码2分析问题1:final修饰基本数据类型1.代码问下述代码能否编译通过public class Demo01 { private final int a; private String name; pub...原创 2019-11-12 10:51:53 · 1608 阅读 · 0 评论 -
Java中的反射机制详解
文章目录一、简介1.Java反射机制提供的功能2反射让Java具有动态语言的性质3.java.lang.reflect(关于反射的API介绍)3.1基础示例:如何通过反射获取一个类的所有方法?3.1.1 一定要理解反射是运行期的行为(重要)!!3.2通过反射调用类中的方法3.3类,Class类,对象之间的关系是?二、深入理解Class类,Method类,Field类1.获取某个类/对象所对应的Cl...原创 2019-11-11 22:20:49 · 780 阅读 · 0 评论 -
Java中的方法重写值得注意的几点
文章目录例11.代码2问题3.分析4.关于方法重载的小结例11.代码public class Demo01 { public static void main(String[] args) throws Exception { Parent p = new Child(); p.output(); } class Paren...原创 2019-11-10 15:51:32 · 300 阅读 · 2 评论 -
Java类中的静态变量执行顺序:按照在类中定义的先后顺序执行
文章目录一、例11.问题2.分析3.问题变化4.分析二、例2:父类子类中均有静态代码块1.问题2.分析3另一个重要的问题一、例11.问题public class Demo01_StaticTest { private static Demo01_StaticTest st = new Demo01_StaticTest(); public static int c...原创 2019-11-09 14:44:23 · 1271 阅读 · 1 评论 -
Java中的参数传递:都是值传递!没有引用传递!!
本文介绍Java中三种不同类型的值传递,达到对Java值传递的深刻认识文章目录一、参数传递的是基本数据类型(8种)1.问题2.分析二 参数传递的不是基本数据类型1.问题2.分析三、参数传递的是String对象1.问题2.分析四、小结一、参数传递的是基本数据类型(8种)1.问题 public static void main(String[] args) { int...原创 2019-11-09 14:18:58 · 360 阅读 · 0 评论 -
Java中String类的两个问题
本文针对Java中String类的易混淆的相关问题进行记录文章目录一、问题11.问题2.分析3.String创建对象小结二、问题21.问题2.分析一、问题11.问题public static void main(String[] args) { String s = new String("abc"); String s1 = "abc"; ...原创 2019-11-08 21:54:11 · 243 阅读 · 0 评论 -
JavaSE学习笔记:集合框架、迭代器、泛型
文章目录一、集合框架概述1.Collection和Map2.Collection集合3.Collection集合常用方法二、迭代器1.常用方法2.如何获取迭代器3.使用步骤(掌握)4.使用实例5.迭代器使用原理三、增强型for循环(更常用)1.简介2.使用实例3.注意点四、泛型1.泛型的概念2.使用泛型的好处2.1使用集合对象,不使用泛型会带来的问题2.1.1实例2.1.2注意点2.2使用集合使用...原创 2019-10-26 20:43:46 · 1616 阅读 · 0 评论 -
JavaSE学习笔记:Lambda表达式
文章目录一、基本概念和思想二、冗余的Runnable代码三、Lambda改进上述写法3.1Lambda的标准写法3.2Lambda无参数无返回值的写法3.3Lambda的有参数有返回值的写法四、Lambda的省略格式五、Lambda的使用前提一、基本概念和思想面向对象:做一件事情,找一个能解决这个事情的对象,调用对象的方法,完成事情.函数式编程思想:只要能获取到结果,谁去做的,怎么做的都不...原创 2019-09-03 14:44:00 · 128 阅读 · 0 评论 -
JavaSE学习笔记:多线程
一、线程实现方式1.1并发与并行并发:多个事件在同一个时间段内发生(交替执行)并行:多个事件在同一个时刻发生(同时执行)1.2线程和进程1.2.1进程所有的应用程序都只能在内存中执行,所以在内存中执行的应用程序就是一个进程。1.2.2线程线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为...原创 2019-09-01 12:24:12 · 195 阅读 · 0 评论 -
JavaSE学习笔记:异常
文章目录一、异常的基本概念1异常的体系2.异常的简单分类以及两种处理方式的简单区别2.1实验2.1.1编译期异常2.1.2运行期异常2.1.3Error3.异常产生的过程解析3.1实验代码,制造一个数组访问越界异常3.2分析二、异常的处理2.1 抛出异常throw2.1.1Object.requireNonNull()方法简化对象为空的判断2.2 声明异常throws2.3 try_catch2....原创 2019-08-15 22:25:24 · 528 阅读 · 0 评论