- 博客(19)
- 收藏
- 关注
原创 线程基础(1)
线程基础进程与线程线程的状态创建线程的方式进程与线程线程的状态创建线程的方式继承Thread,并重写父类的run方法public class MyThread extends Thread{ @Override public void run() { System.out.println(Thread.currentThread().getName()); } public static void main(String[] args) {
2021-03-11 21:42:57 240
原创 JVM垃圾收集器
JVM垃圾收集器Serial收集器是什么特点ParNew收集器是什么特点发与并行的概念:【CMS收集器--并发】Parallel Scavenge收集器是什么特点配置Serial old收集器Parallel old收集器CMS收集器是什么步骤流程优缺点G1收集器是什么步骤流程优势收集算法是内存回收的方法论,垃圾收集器就是内存回收的具体实现。Serial收集器是什么Serial收集器是一个单线程的收集器特点“Stop the World“,它进行垃圾收集时,必须暂停其他所有的工作线程,直到
2021-03-08 23:50:55 279
原创 Java-GC垃圾回收
GC垃圾回收为什么要垃圾回收对象是否存活判断:对象存活算法:1.引用计数法:引用计数法存在的特点分析:2.可达性分析(跟搜索法):垃圾收集算法1.标记清除算法2.复制算法3.标记整理算法4.分代收集算法为什么要垃圾回收Java语言中一个显著的特点就是引入了垃圾回收机制,由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存。在Java堆中,一个接口中的多个实现类需要的内存可能不一样,一个方法中的多个分支需要的内
2021-03-07 22:55:16 116
原创 Java对象的创建
Java对象的创建对象的创建创建流程Java堆分配内存的两种方式对象内存布局对象头实例数据对齐填充对象访问定位方式对象访问方式访问方式对比对象的创建创建流程虚拟机遇到一条new指令时,首先检查这个对应的类能否在常量池中定位到一个类的符号引用判断这个类是否已被加载、解析和初始化为这个新生对象在Java堆中分配内存空间,其中Java堆分配内存空间的方式主要有两种将分配到的内存空间都初始化为零值设置对象头相关数据GC分代年龄对象的哈希码 hashCode元数据信息执行对象方法【static
2021-02-21 22:36:54 78
原创 Java虚拟机内存区域
Java虚拟机内存区域java的优势运行时数据区域程序计数器是什么特点Java虚拟机栈是什么特点两种异常状况本地方法栈是什么与虚拟机栈的异同特点Java堆是什么异常特点方法区是什么异常特点运行时常量池java的优势一处编译随处运行自从内存管理机制下,不再需要为每一个new操作去写配对的内存分配和回收代码,不容易出现内存泄漏和内存溢出等问题。运行时数据区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干不同的数据区域。这些区域都有各自的用途以及创建和销毁的时间:有的区
2021-02-21 21:46:51 203
原创 I/O流(1)字节流
I/O流(1)--字节流数据处理分类:I/O流:Input/Output流的分类InputStreamOutputStream数据处理分类:I/O流:Input/Output流的本质 :数据传输。【根据数据传输特性将流抽象为各种类】流的作用:为数据源和目的地建立一个输送通道。输出流:程序(内存) ——> 外界设备【把程序中的信息输出到文件中】输入流:外界设备 ——> 程序(内存)【将文件中的信息读取到程序中】流的分类按照操作单元划分【处理数据类型】,可以划分为字节流和
2021-02-21 20:20:24 114
原创 java自定义异常实例1
自定义异常创建自定义异常类方法中处理异常结果:1.创建自定义异常类2.方法中通过throw关键字抛出异常对象3.使用try-catch在当前可能抛出异常的方法中捕捉并处理异常创建自定义异常类class MyException extends Exception{ String ex; public MyException(String ex){ this.ex = ex; } public String getEx() { re
2020-12-29 22:51:20 413
原创 List接口下集合的特点
List接口下集合的特点ListList子类ArrayListLinkedListVectorStack迭代器iterator()比较与选择ListList 是一个接口,它继承于Collection的接口。ArrayList, LinkedList, Vector, Stack是List的4个实现类。如果涉及到“栈”、“队列”、“链表”等操作,应该考虑用List。有序集合,可以通过下标访问集合中的元素。允许重复值,允许有多个null值。List子类ArrayListArrayList
2020-05-10 01:08:53 515
原创 MySQL(6)索引
索引什么是索引索引分类创建索引删除索引索引优缺点什么是索引索引在MySQL中也叫作“键(key)”,是存储引擎用于快速找到记录的一种数据结构,这是索引的基本功能。当表中数据量越来越大时,索引对性能的影响越来越重要。假设要在 id 列上建有索引,则MySQL将使用该索引找到 id 为2的行,MySQL现在索引上按值查找,然后返回所有包含该值的数据行。索引可以包含一个或多个列的值。如果索引...
2020-04-19 21:52:02 118
原创 MySQL(5)插入、删除、更新数据
插入、删除、更新数据插入数据删除数据更新数据插入数据mysql> desc massage;+-------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+-------------+------+-----+--...
2020-04-16 20:25:49 418
原创 MySQL(4)三范式介绍
MySQL(4)三大范式目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯范式(BCNF)、第四范式(4NF)和第五范式(5NF)。一般来说,数据库只需满足第三范式(3NF)就行了第一范式1NF所谓第一范式是指在关系模式中,每个属性是不可再分的,否则设计成一对多的实体关系。不满足第一范式不能称之为关系型数据库。例:“院系信息”由两部分组成,不...
2020-03-28 22:32:55 174
原创 JVM基础(1)
JVM基础(1)1.Java的跨平台性能跨平台的是Java程序,而不是JVM。JVM是用C/C++开发的,是编译后的机器码,不能跨平台,不同平台下需要安装不同版本的JVM。JVM(Java虚拟机)就是负责将字节码文件翻译成特定平台下的机器码,然后运行。只要在不同平台上安装对应的JVM,就可以运行字节码文件,即运行Java程序。我把它理解为,人类之间表达的语言可以当做JVM,而语言表达的...
2020-03-28 21:23:20 119 1
原创 MySQL(3)查询数据
select语句查询单表查询查询所有字段:SELECT *FROM 表名;查询指定字段:SELECT 属性名1,属性名2,…FROM 表名;查询指定记录:根据要求写合适的筛选条件SELECT *FROM 表名WHERE 筛选条件;或者SELECT 属性名1,属性名2,…FROM 表名WHERE 筛选条件;带IN关键字的查询例:查询ex表id取值为1001或10...
2020-03-01 16:24:41 810
原创 MySQL(2)操作数据库及表
数据库1.创建数据库创建:CREATE DATABASE 数据库名;显示数据库:SHOW DATABASES;2.删除数据库删除数据库会删除该数据库中所有的表和所有数据。删除:DROP DATABASE 数据库名;3.数据库引擎表1.创建表在创建表前,首先要使用USE语句选择数据库。如果没有选择数据库,创建表时会出现错误。完整性约束条件:约束条件说明...
2020-03-01 13:06:27 149
原创 MySQL(1)数据类型
MySQL数据类型1.整数类型整数类型字节数无符合数的取值范围有符合数的取值范围tinyint10~255-128~127smallint20~65535-32768~32767mediumint30~16777215-8388608~8838607int40~4294967295-2147483648~2147483647...
2020-02-29 22:32:35 163
原创 Java多态实现
多态一个函数根据对象不同而对应不同实现或者同一个行为具有多个不同表现形式或形态多态实现静态多态(静态绑定/编译器多态): —>函数的重载,且重载条件为:1.同一个类,2.函数名相同,3.参数列表不同;class Animal{ private String name; public Animal(){ } public void eat(){ ...
2019-11-25 17:37:32 162
原创 Java类加载浅析
Java类加载类加载器+加载范围Bootstrap ClassLoader(启动类/引导类加载器)–>主要加载JAVA_HOME/jre/lib里的 jar包Ext ClassLoader(扩展类加载器)–>主要加载JAVA_HOME/jre/ext目录下的jar文件APP ClassLoader(应用类加载器)–>主要加载的是开发者在应用程序中编写的类,即CLASS...
2019-11-24 22:23:29 123
原创 Java异常处理浅析
java异常结构和处理异常结构异常处理异常结构Error : JVM错误,无法处理Exception :运行期异常编译期异常异常处理一般只针对编译期异常五个关键字-----> try 、catch、finally、throw、throws1.try…catch… public static void main(String[] args) { ...
2019-11-24 20:29:34 179
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人