
JAVA入门
西西河沿两边走
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
小王深入理解Java虚拟机学习笔记(四)
文章目录第七章 虚拟机类加载机制类加载的缘由何时类加载类加载过程1、加载2、验证3、准备4、解析5、初始化类和类加载器(ClassLoader)双亲委派模型参考文献:第七章 虚拟机类加载机制类加载的缘由计算机的主要存储部件是内存和磁盘。程序是存储在磁盘里面的,程序要运行则必须加载到内存中。java程序首先会被JVM编译成class文件,之后再把class文件加载到内存中。何时类加载我们首先要清楚的是,Java 类何时会被加载?《深入理解 Java 虚拟机》给出的答案是:(1)使用new实例化对象原创 2020-06-17 22:52:37 · 460 阅读 · 0 评论 -
小白谈HashMap(一)
Java技术面试离不开HashMap,小白的第一次实习面试就倒在了HashMap上,/(ㄒoㄒ)/~~,当时小白只知道HashMap是数据加链表结构的,以key-value的格式存储的,没看过源码,哪知道初始容量,resize()机制等等。痛定思痛,小白看起了源码,熬了个漫漫长夜,头发掉了十来根之后,小白终于对HashMap有了一些了解。以下便是小白牺牲头发得到的收获。先谈一些基础的概念:文...原创 2020-03-29 17:35:33 · 441 阅读 · 0 评论 -
小王理解java虚拟机读书笔记(三)
文章目录第三章 垃圾收集器与内存分配策略对象已死吗?1.引用计数法2.可达性分析算法3.再谈引用4.生存还是死亡5.回收方法区垃圾收集算法1.标记-清楚算法2.复制算法3.标记-整理算法4.分代收集算法进行回收HotSpot的算法实现1.枚举根节点2.安全点3.安全区域垃圾收集器1.Serial收集器2.ParNew收集器3.Parallel Scavenge收集器4.Serail Old收集器5...原创 2020-03-20 10:35:22 · 687 阅读 · 1 评论 -
小小王理解Java虚拟机读书笔记(一)
第二章 Java内存区域与内存溢出异常java虚拟机会把他所管理的内存划分为若干个不同的数据区域:由线程共享:方法区/堆 线程隔离区域:本地方法/虚拟机栈 / 程序计数器1.程序计数器1.程序计数器是当前线程所执行的字节码的行号指示器2.在任何一个确定的时刻,一个处理器都只会执行一条线程中的指令3.如果正在执行一个Java方法,计数器记录的是正在执行的虚拟机字节码指令的地址;如果是na...原创 2020-03-20 10:08:20 · 361 阅读 · 0 评论 -
Java网络编程:基础知识(一)
文章目录OSI分层模型和TCP/IP分层模型的对应关系OSI分层模型每层功能TCP/IP模型每层功能常见的网络协议套接字SocketOSI分层模型和TCP/IP分层模型的对应关系OSI分层模型每层功能物理层物理层处于OSI的最底层,是整个开放系统的基础。物理层涉及通信信道上传输的原始比特流(bits),它的功能主要是为数据端设备提供传送数据的通路以及传输数据。数据链路层数据链路层的主...原创 2019-12-07 18:39:19 · 468 阅读 · 0 评论 -
Java基础:多线程间的通信
多个线程在处理同一个资源,但是线程的任务却不相同。例如生产者和消费者模式。假设有这样的一个系统,系统要求存钱者和取钱者不断重复存钱和取钱的两个动作,每当存钱者将钱存入指定账户后,取钱者就立即取出这笔钱。如何实现这样的要求,则需要利用线程通信机制。线程通信的方式:传统的线程通信传统的线程通信借助Object类提供的wait()、notify()、notifyall()三个方法。关于这三个方...原创 2019-12-07 17:08:27 · 173 阅读 · 0 评论 -
Java基础:异常(Error与Exception)
码着转载 2019-12-07 13:30:59 · 128 阅读 · 0 评论 -
java基础:String ,StringBuffer,StringBuild的区别和联系
1、关于应用场景String:适用于少量的字符串操作的情况StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况2、运行速度StringBuild>StringBuffer>String3、线程安全StringBuild是线程不安全的;StringBuffer是线程安全的4、具体使用...原创 2019-12-05 20:10:44 · 283 阅读 · 0 评论 -
Java8学习之Lambda表达式
Lambda表达式是用于简化创建匿名内部类的。/* * Lambda的推导 * * */public class Lambdatest01 { //静态内部类 static class Like2 implements ILike{ @Override public void Lambda() { // TODO Auto-generated method stu...原创 2019-11-24 22:37:08 · 182 阅读 · 0 评论 -
Java线程同步之synchronized方法
在介绍synchronized方法之前,我们先来分析下面的代码/* * 线程不安全,取钱问题 * */public class UnsafeTest02 { public static void main(String[] args) { //账户 Account account=new Account(100, "存款"); Drawing myDra...原创 2019-11-24 22:27:37 · 228 阅读 · 0 评论 -
java线程学习之五大状态和常用的方法
线程五大状态及其转换线程的五大状态分别为:创建状态(New)、就绪状态(Runnable)、运行状态(Running)、阻塞状态(Blocked)、死亡状态(Dead)。新建状态:即单纯地创建一个线程、就绪状态:在创建了线程之后,调用Thread类的start()方法来启动一个线程,即表示线程进入就绪状态!运行状态:当线程获得CPU时间,线程才从就绪状态进入到运行状态!阻塞状态:线程进...原创 2019-11-24 21:14:03 · 204 阅读 · 0 评论 -
java学习之线程的创建方式
线程与进程进程:进程是并发执行程序在执行过程中资源分配和管理的基本单位(资源分配的最小单位)。进程可以理解为一个应用程序的执行过程,应用程序一旦执行,就是一个进程。每个进程都有自己独立的地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段。线程:程序执行的最小单位。区别和联系一个进程可以有多个线程。进程之间是相互独立享有CPU分配的资源,不会共享资源。...原创 2019-11-24 20:43:37 · 143 阅读 · 0 评论 -
Java IO流之序列化和反序列化
为什么要进行序列化和反序列化?当两个进程进行远程通信时,可以相互发送各种类型的数据,包括文本、图片、音频、视频等, 而这些数据都会以二进制序列的形式在网络上传送。那么当两个Java进程进行通信时,能否实现进程间的对象传送呢?答案是可以的。如何做到呢?这就需要Java序列化与反序列化了。换句话说,一方面,发送方需要把这个Java对象转换为字节序列,然后在网络上传送;另一方面,接收方需要从字节序列中...原创 2019-11-20 22:55:21 · 158 阅读 · 0 评论 -
Java IO流的四大基类
Java 的IO流的四大基类IO流的分类按照处理数据类型角度,可分为字节流和字符流。按照数据流向,分为输入流和输出流。(输入和输出是相对于程序来说的)按照流的功能,可分为节点流和处理六流(没有节点流,处理流发挥不了作用),流的前面是File或者ByteArray开头的均是节点流,其他的是处理流。处理流就是为了提升性能的。四大抽象的基类IO流操作的四大步骤创建流选择流‘操作...原创 2019-11-20 22:06:34 · 2798 阅读 · 0 评论 -
Java常用类学习之自动拆箱、自动装箱及包装类
什么是自动拆箱和自动装箱?介绍之前,先介绍两个基本概念:基本数据类型及其包装类。Java是一种面向对象的语言,但是Java中的数据类型并不是面向对象的,为此每个数据类型都对应有个包装类,对应关系如下表:包装类的作用:提供字符串、基本数据类型、对象之间的相互转换关系包含每种基本数据类型的相关属性,如最大值、最小值自动装箱:将基本数据类型转化为包装类。Integer a=new Inte...原创 2019-11-18 19:47:05 · 199 阅读 · 0 评论 -
java面向对象之内部类的学习
将一个类的定义放在另一个类的定义内部,这就成为是内部类内部类分为非静态内部类、静态内部类、局部内部类和匿名内部类。1、创建非静态内部类/* *测试非静态内部类 * */public class TestInnerclass { public static void main(String[] args) { //创建内部类对象 Outer.Inner inner=new Ou...原创 2019-11-16 17:27:52 · 147 阅读 · 0 评论 -
java面向对象之多态(向上转型和向下转型)
什么是多态?简而言之,同一行为的不同表现形式。比如叫的动作。猫是“喵喵喵”,狗是“汪汪汪”。多态存在的三个条件1、继承2、方法的重写3、父类的引用指向子类的对象。(向上转型)举个栗子://多态的学习/*存在,有三个必要条件:继承,方法重写,父类引用指向对象 * 父类引用指向子类对象后,用该父类引用调用子类重写的方法,此时出现多态 * * */public class Te...原创 2019-11-16 14:27:56 · 293 阅读 · 0 评论 -
JAVA删除指定目录下的空文件夹
代码如下:import java.io.File;public class deleteFileDemo { public static void main(String []args) { //指定目录 File folder=new File("E:/java/workplace/test/测试"); deleteFolder(folder);...原创 2019-10-10 22:02:16 · 1283 阅读 · 3 评论