![](https://img-blog.csdnimg.cn/20210813205017208.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
玩转Java
文章平均质量分 90
学习笔记
编程小栈
一名编程爱好者的学习记录!爱生活、爱交流、专注后台开发,希望把自己所学技术与大家分享。
展开
-
深入理解JVM【内存结构-垃圾回收-类加载&字节码技术-内存模型】
文章目录一、什么是 JVM ?1、HotSpot介绍2、HosSpot中的概念2.1解释执行与 JIT2.2热点代码2.3热点探测3、JVM、JRE、JDK 的关系4、常见的 JVM5、JAVA运行时环境逻辑图6、JVM运行原理7、关于JVM的几个问题7.1几个数据结构的概念【1】堆【2】栈【3】栈帧7.2为什么HotSpot虚拟机要使用解释器与编译器并存的架构?7.3为何HotSpot虚拟机要实现两个不同的即时编译器?3)哪些程序代码会被编译为本地代码?如何编译为本地代码?7.4如何判断方法或一段代码或是原创 2021-08-11 15:57:44 · 1489 阅读 · 0 评论 -
Java8新特性【函数式编程API、新时间日期处理API、Optional容器类】总结
文章目录1、Lambda表达式1.1什么是Lambda表达式1.2从匿名类到 Lambda 的转换1.3Lambda表达式语法2、函数式接口2.1什么是函数式接口2.2自定义函数式接口2.3内置核心函数式接口2.4接口中常用的默认方法3、方法引用与构造器引用3.1 推荐用法3.2 基本格式3.3 语法详解(了解)3.3.1引用类的静态方法3.3.2 引用对象的实例方法3.3.4 引用类的实例方法3.3.5 构造器引用4、Stream API4.1什么是Stream4.2Stream操作的三个步骤4.2.1创原创 2021-12-03 13:01:23 · 1057 阅读 · 0 评论 -
15-JavaSE【方法引用、Base64、XML,Dom4j】
文章目录回顾反射+注解一、JDK新特性1、方法引用2、Base64编码**Base64 编码介绍**Base64内嵌类和方法描述二、 XML概述1、XML作用2、XML的组成3、 XML约束DTD约束Schema约束4、名称空间三、Dom4j解析1、XML解析2、 解析方式和解析器3、 Dom4j的基本使用4、Dom4j 常用的方法SAXReader对象Document对象Element对象5、代码演示四、XPath解析1、XPath解析基本概述2、XPath解析XML案例XPath绝对路径XPath相对路原创 2021-04-07 10:20:18 · 313 阅读 · 2 评论 -
14-JavaSE【反射,注解、动态代理】
文章目录一、反射1、类的加载类加载的过程类的加载机制小结2、类加载器什么是类加载器类加载器的作用类加载器的分类获取类加载器的方式小结3、双亲委派机制3种类加载器的关系双亲委派机制双新委派机制的好处小结4、反射:概述反射技术反射技术的应用案例想要使用反制技术有一个必备条件反射技术的作用**小结**5、反射:Class类Class类获取Class对象Class类中的常用方法小结6、反射:构造器Constructor类Constructor类获取Constructor对象的方法Constructor类常用方法使用原创 2021-04-07 00:06:16 · 255 阅读 · 0 评论 -
13-JavaSE【网络编程,Junit单元测试,单例模式,多例模式,工厂模式】
文章目录内容概述第一章 网络编程入门1.1软件结构1.2 网络通信协议1.3 协议分类1.4 网络编程三要素协议IP地址端口号1.5 IP地址类InetAddress第二章 TCP通信程序1 概述2 Socket类构造方法常用方法3 ServerSocket类构造方法常用方法4 TCP通信案例客户端开发服务端开发第三章 综合案例3.1 文件上传案例件上传分析图解客户端开发服务端开发案例优化3.2 模拟服务器(扩展)案例分析案例实现普通版优化版总结第四章 Junit单元测试1 单元测试概述2 Junit使用步原创 2021-04-05 18:30:23 · 415 阅读 · 0 评论 -
12-JavaSE【缓冲流、转换流、序列化流、装饰者模式、commons-io工具包】
回顾上次课内容IO流分类:字节输入流:InputStream字节输出流:OutputStream字符输入流:Reader字符输出流:Writer字节流特点:以字节为单位,对任意类型的文件进行读写操作字节输出流:OutputStream因为OutputStream是一个抽象类,所以使用其子类:FileOutputStream类构造方法://覆盖写入FileOutpuStream fos = new FileOutputStream("文件路径");Fi原创 2021-04-01 22:54:25 · 159 阅读 · 0 评论 -
11-JavaSE【字节流、字符流,IO异常处理,Properties属性集,ResourceBundle 工具类】
文章目录**回顾上次课内容**一、IO流1、IO概述2、字节流(一切皆字节)1)OutputStream字节输出流01、FileOutputStream类**构造方法**写出字节数据数据追加续写2)InputStream字节输入流01、FileInputStream类构造方法读取字节数据3)复制图片文件(案例)3、字符流1)Reader 字符输入流FileReader类2)Writer字符输出流FileWriter类二、IO资源处理JDK7以前异常处理方式JDK7版本开始三、Properties属性集Pro原创 2021-03-31 22:57:29 · 248 阅读 · 0 评论 -
10-JavaSE【Lambda,Stream流,File类,递归】
文章目录回顾多线程一、Lambda表达式1、 Lambda的介绍2 、Lambda表达式使用前提条件3、Lambda表达式语法格式4、Lambda的省略格式5、含有参数和返回值的Lambda表达式介绍6、函数式接口二、Stream流1、 Stream流的介绍2、Stream流对象获取**3、Stream流常用方法****代码演示**三、File文件类1 、File类介绍2、 File对象定义3、File类常用功能**1) 获取的方法****2 )判断的方法****3 )创建删除的方法****4 )目录遍历的原创 2021-03-30 18:15:31 · 165 阅读 · 0 评论 -
09-JavaSE【多线程详细加强解析】
01_线程:线程高并发及运行机制目标能够理解多个线程执行后的运行机制 【了解】路径高并发概念多线程的运行机制高并发高并发:是指在某个时间点上,有大量的线程同时访问同一资源例如:天猫的双11购物节、12306的在线购票在某个时间点上,都会面临大量用户同时抢购同一件商品/车票的情况多线程的运行机制多个线程开启之后,在内存中有各自的独立栈空间。多个线程在各自的独立栈空间中运行,运行时互不影响,也不存在某种运行顺序(CPU随机切换执行)//线程类public原创 2021-03-30 18:09:45 · 207 阅读 · 0 评论 -
09-JavaSE【线程安全,线程状态,线程通讯,线程池】
文章目录掌握内容:一、线程安全1、线程安全问题:2、解决线程安全1)同步代码块2)同步方法3)Lock锁二、线程死锁三、线程的状态四、线程的通讯1、什么是线程间通讯2、等待和唤醒的方法调用注意事项3、生产者消费者案例五、线程池1、 线程使用存在的问题2 、线程池的认识3、线程池使用大致流程4、请简述线程池使用的好处5、线程池处理Runnable任务6、线程池处理Callable任务**面试题 :java线程的创建有几种方式?**掌握内容:造成线程不安全的问题原因解决线程安全问题的方式:同步代码块原创 2021-03-30 18:01:21 · 151 阅读 · 1 评论 -
08-JavaSE【异常,自定义异常,线程基础】
文章目录一、异常1、异常的产生2 、异常体系3、异常(Exception)的分类4、异常的处理1) 抛出异常throw2) 声明异常throws3) 捕获异常 try…catch如何获取异常信息5、finally 代码块6、自定义异常小结二、多线程1、并行、并发,进程、线程2、Thread类3、继承方式( 创建线程方式)4、实现方式(创建线程方式)5、匿名内部类(创建线程方式)小结一、异常1、异常的产生异常 :指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。在Java等面原创 2021-03-30 17:57:50 · 217 阅读 · 0 评论 -
06-JavaSE【回顾Set / List / Collection、Map集合、集合的嵌套、排序查找与算法】
文章目录一、回顾Set集合1、Set集合2、HashSet集合3、LinkedHashSet集合4、TreeSet集合二、回顾List集合1、ArrayList工具类2、LinkedList类三、回顾Collections工具类:四、Map集合1、Map集合概述2、 Map的继承体系(**常用实现类** )3 、Map的常用方法4、Map集合的遍历5、Map常用子类01、HashMap类(必须掌握)02、Hashtable类03、LinkedHashMap(了解)04、 TreeMap集合五、集合的嵌套1原创 2021-03-24 22:14:39 · 247 阅读 · 0 评论 -
05-JavaSE【泛型,数据结构,List接口,Set接口,Collections工具类】
一、泛型// 泛型是什么?泛型就是参数,专门用来保存引用数据类型// 泛型有什么好处?在编译时期会做类型的检查,可以有效避免在运行时类型强转的异常,对于程序员来讲不用额外的类型强转操作,简化代码。// 泛型在运行时有什么特点?泛型在运行的时候,就会被擦除。代码演示://类:StudentArrayList list = new ArrayList();list.add(new Student("熊大",20));list.add(new Student("熊二",19));原创 2021-03-24 01:29:42 · 278 阅读 · 0 评论 -
04-JavaSE【常用API,Collection集合,Iterator迭代器】
一、包装类概念:把java中的8种基本数据类型,进行了封装,封装为类(包装类)包装类8种:Byte、Short、Integer、Long、 Float、Double、 Character、 Boolean作用:基于8基本数据类型进行封装,提供了一些针对封装类型的相关功能//Long类型的最大值:Long.MAX_VALUE;//使用包装类中的静态常量在开发中的作用:实现String类型 和 基本数据类型 之间的互换掌握重点:String类型 和 基本数据类型原创 2021-03-23 22:11:03 · 185 阅读 · 0 评论 -
03-JavaSE【static、枚举、内部类、常用API】
文章目录一、static变量01、静态:static02、工具类:03、静态方法的特点:二、内部类01、成员内部类02、局部内部类匿名内部类匿名内部类实例三、代码块01、静态代码块02、构造代码块03、局部代码块四、枚举Enum三、常用APIDate类DateFormat类Calendar类Math类System类四、总结一、static变量01、静态:static静态变量静态的意义:在程序中类加载时,把静态的成员加载到方法区下的静态区域中静态变量的定义:static Strin原创 2021-03-23 21:16:13 · 142 阅读 · 1 评论 -
02-JavaSE【多态、修饰符、接口】
利用面向对象思想完成"考试系统"案例分析:概念模型(事物)Java学生属性:姓名、年龄、班级、学号、…行为:登录()、考试()UI学生属性:姓名、年龄、班级、学号、…行为:登录()、考试()把概念模型中的共性内容,向上抽取,封装为:父类父类:Student属性:姓名、年龄、班级、学号行为:登录()、考试()一、多态01_多态:多态的概述(了解)目标了解多态的基本概念路径多态的含义使用多态的前提多态的书写格式多态的含义原创 2021-03-23 20:20:57 · 167 阅读 · 0 评论 -
01-JavaSE【封装、继承、抽象】
一、面向对象回顾学习目标能够定义类并创建对象内容讲解【1】类的定义格式关键字:class修饰符 class 类名{ 成员变量 成员方法 构造方法 代码块 内部类}例如:定义一个学生类,包含属性姓名,年龄public class Student{ public String name; public int age;}默认有一个无参构造方法【2】创建对象关键字:new类名 对象名 = new 类名(参数);例如:创建学生对象Stu原创 2021-03-23 20:05:43 · 279 阅读 · 0 评论 -
【学Java不迷茫,真香警告】javase/javaee/mysql/redis/liunx/git...知识总结,从入门到实战,哪里不会点哪里!
基础入门笔记链接提取码:zkv4原创 2021-03-23 19:34:23 · 127 阅读 · 0 评论