- 博客(14)
- 资源 (2)
- 收藏
- 关注
原创 Java虚拟机类加载机制
代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制。与那些在编译时需要进行连接的语言不同,在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的。一个类型从被加载到虚拟机...
2020-04-30 17:43:31 234
原创 JDK1.8的新特性(随时更新!!!)
先说说自己的积累吧!!!随时更新!!!一、Lambda表达式 lambda表达式是JDK8中最大和最令人期待的语言改变。它允许我们将函数当成参数传递给某个方法或者把代码本身当作数据处理。lambda可以更简单的创建匿名内部类,使用lambda可以函数式编程。常用格式为:(参数列表)->{方法体}。语法:(parameters) -> expression或(paramet...
2020-04-30 17:28:34 221
原创 内存溢出(Out Of Memory)和内存泄漏(Memory Leak)
内存溢出和内存泄漏是程序开发中经常会遇到的问题!!!一、内存溢出(Out Of Memory,简称OOM)1.1 定义 指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于能提供的最大内存。此时程序就运行不了,系统会提示内存溢出,有时候会自动关闭软件,重启电脑或者软件后释放掉一部分内存又可以正常运行该软件,而由系统配置、数据流、用户代码等原因而导致的内存溢出错误,即使用户重新执行任务依然无法避免。 1.2 产生原因:造成这种现象的原因通常有两种: 第一种是由于
2020-04-30 15:59:35 1597
原创 多线程同步方法(Java)
多线程编程同步可能会用到锁,而Java中的锁分为内置锁(Sychronized)和显示锁/重入锁(ReentrantLock)。(1)同步方法:(2)同步代码块(3)使用特殊域变量(volatile)实现线程同步(4)使用重入锁实现线程同步(5)使用局部变量实现线程同步...
2020-04-25 12:03:48 247
原创 Java中线程创建方式
一、继承Thread类1.1 具体步骤:(1)d定义Thread类的子类,并重写该类的run()方法,该方法的方法体就是线程需要完成的任务,run()方法也称为线程执行体。(2)创建Thread子类的实例,也就是创建了线程对象(3)启动线程,即调用线程的start()方法1.2 示例代码二、实现Runnable接口2.1 具体步骤:(1)定义Runnable接口的实现类,一样要重写...
2020-04-24 22:13:33 290
原创 进程和线程的定义和特征概述
概述:几乎任何的操作系统都支持运行多个任务,通常一个任务就是一个程序,而一个程序就是一个进程。当一个进程运行时,内部可能包括多个顺序执行流,每个顺序执行流就是一个线程。一、 进程1.1 定义狭义定义: 进程是正在运行的程序的实例(an instance of a computer program that is being executed)。广义定义: 进程是一个具有一定独立功...
2020-04-24 19:12:14 711
原创 javap如何查看class文件
为了研究Javac的原理,有时候需要去看看class文件的内容是如何组织的,这时候很有必要查看class文件,javap则有查看class文件的作用所在。 javap是JDK自带的工具,还有jd-gui也可以查看class文件。javap则是在DOS窗口可以直接输入命令行使用。使用javac编译器把源文件编译好,再接着使用javap工具查看class文件,命令如下:javap -verbo...
2020-04-24 15:33:11 606
原创 Memory引擎(MySQL)
Memory引擎是MySQL的一种存储引擎,用作临时表。 如果需要快速地访问数据,并且这些数据不会被修改,重启以后丢失也没有关系,那么使用Memory表(以前也叫做HEAP)是非常有用的。Memory表至少比MyISAM表要快一个数量级,因为所有的数据都保存在内存中,不需要进行磁盘I/O。Memory表的结构在重启以后还会保留,但数据会丢失。 Memory表在很多场景可以发挥好的作用:...
2020-04-23 15:23:50 348
原创 异常处理机制(基于Java)
一、什么是异常? 异常的英文单词是exception,字面翻译就是“意外、例外”的意思,也就是非正常情况。事实上,异常本质上是程序上的错误,包括程序逻辑错误和系统错误。比如使用空的引用、数组下标越界、内存溢出错误等,这些都是意外的情况,背离我们程序本身的意图。错误在我们编写程序的过程中会经常发生,包括编译期间和运行期间的错误,在编译期间出现的错误有编译器帮助我们一起修正,然而运行期间的错误便不...
2020-04-23 13:36:38 346
原创 MySQL的InnoDB和MyISAM比较
InnoDB和MyISAM数据库引擎是MySQL数据库最常用的两个引擎,所以接触比较多,在这里就来用我自己的理解归纳总结下。先就各引擎对一些功能支持与否进行梳理:MyISAM:支持:1.大量查询操作2.表锁3.支持 Btree、Full-text 等索引4.支持没有主键和唯一索引5.更适合分区表不支持:1.大量写操作2.事务3.外键4.不支持 Hash 索引InnoDB...
2020-04-13 02:03:17 159
原创 索引学习思路导向(基于MySQL)
索引 学习思路导向很久没有写过博客,最近正好在做MySQL相关的工作,而索引便是数据库中非常重要知识点,今天就在这里给大家建议一些索引的学习思路,在面试的时候也会很有用处,面试的时候数据库会是面试的一大重点,可以说是“逢面必问”,而索引是数据库的一大重点,在数据库优化过程中起到很大的作用。所以在面试的时候如果问到索引,很多面试官会按照我给的思路来向你提问,当然,如果没有这样,你也可以将话题向这些...
2020-04-13 00:19:44 254
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人