自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 MySQL存储引擎、数据库锁、事务

MySQL存储引擎、数据库锁、事务存储引擎数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎InnoDB(B+树)是MySQL默认的事务型存储引擎,只有在需要它不支持的特性时,才考虑使用其它存储引擎实现了四个标准的隔离级别,默认级别是可重复读(REPEATABLE READ)。在

2020-09-10 09:35:29 182

原创 Java线程生命周期、实现创建、线程池、阻塞队列、锁、CAS、AQS

Java线程生命周期、实现/创建、线程池、阻塞队列、锁、CAS、AQSJava并发知识库线程生命周期(状态)​ 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)5种状态。尤其是当线程启动以后,它不可能一直"霸占"着CPU独自运行,所以CPU需要在多条线程之间切换,于是线程状态也会多次在运行、阻塞之间切换。1.新建(New)当程

2020-09-10 09:23:55 345

原创 Java类加载特性、类加载器及双亲委派模型

Java类加载特性、类加载器及双亲委派模型类是在运行期间第一次使用时动态加载的,而不是一次性加载所有类。因为如果一次性加载,那么会占用很多的内存类的生命周期包括以下 7 个阶段:加载(Loading)验证(Verification)准备(Preparation)解析(Resolution)初始化(Initialization)使用(Using)卸载(Unloading)类加载过程加载、验证、准备、解析和初始化1.加载加载是类加载过程中的一个阶段,这个阶段会在内.

2020-08-19 13:46:57 182

原创 Java IO模型,磁盘、字节、字符和网络操作

Java IO模型,磁盘、字节、字符和网络操作模型1.阻塞IO模型​ 最传统的一种IO模型,即在读写数据过程中会发生阻塞现象。当用户线程发出IO请求之后,内核会去查看数据是否就绪,如果没有就绪就会等待数据就绪,而用户线程就会处于阻塞状态,用户线程交出CPU。当数据就绪之后,内核会将数据拷贝到用户线程,并返回结果给用户线程,用户线程才解除block状态。典型的阻塞IO模型的例子为:data = socket.read();如果数据没有就绪,就会一直阻塞在read方法。2.非阻塞IO模型​ 当用户

2020-08-18 09:00:42 143

原创 Java动态代理、CGLib动态代理及其两者区别

Java动态代理、CGLib动态代理及其两者区别JDK动态代理主要涉及到java.lang.reflect包中的两个类:Proxy和InvocationHandler。InvocationHandler是由代理实例的调用处理程序实现的接口,通过实现该接口定义横切逻辑,并通过反射机制调用目标类的代码,动态将横切逻辑和业务逻辑编制在一起。Proxy提供了创建动态代理类和实例的静态方法,它也是由这些方法创建的所有动态代理类的超类,利用InvocationHandler动态创建一个符合某一接口的实例,生成目标

2020-08-13 20:40:36 413

原创 Java序列化(创建可复用的Java对象)、序列化协议

Java序列化(创建可复用的Java对象)序列化就是将一个对象转换成字节序列,方便存储和传输序列化:ObjectOutputStream.writeObject()反序列化:ObjectInputStream.readObject()不会对静态变量进行序列化,因为序列化只是保存对象的状态,静态变量属于类的状态保存(持久化)对象及其状态到内存或者磁盘​ Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比

2020-08-13 17:53:09 196

原创 Java枚举的本质及其方法

Java枚举所有的枚举类型都是Enum 类的子类import java.util.Scanner;public class EnumTest { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("Enter a size: (SMALL, MEDIUM, LARGE, EXTRA_LARGE)");

2020-08-13 16:39:09 109

原创 Java泛型、类、方法、通配符,擦除、面试题

Java泛型、类、方法、通配符,擦除、面试题​ 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。比如我们要写一个排序方法,能够对整型数组、字符串数组甚至其他任何类型的数组进行排序,我们就可以使用Java泛型。类型参数的魅力在于:使得程序具有更好的可读性和安全性。泛型类​ 一个泛型类( generic class ) 就是具有一个或多个类型变量的类。泛型类的声明和非泛型类的声明类似,除了在类名后面添加了类

2020-08-06 23:37:29 332

原创 Java注解定义、用处、原理、自定义等

Java注解Annotation是Java提供的一种对元程序中元素关联信息和元数据(metadata)的途径和方法。Annatation是一个接口,程序可以通过反射来获取指定程序中元素的Annotation对象,然后通过该Annotation对象来获取注解中的元数据信息。注解用处生成文档。这是最常见的,也是java最早提供的注解。常用的有@param @return 等跟踪代码依赖性,实现替代配置文件功能。比如Dagger 2依赖注入,未来java 开发,将大量注解配置,具有很大用处在编译时进行

2020-08-06 16:20:16 139

原创 Java反射、应用场合、反射API、使用步骤、获取并创建对象、优缺点

Java反射、应用场合、反射API、使用步骤、获取并创建对象、优缺点反射(reflective)​ Java中的反射机制:在运行状态中,对于任意一个类都能够知道这个类所有的属性和方法;并且对于任意一个对象,都能够调用它的任意一个方法。这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。应用场合​ Java程序中许多对象在运行时都会出现两种类型:编译时类型和运行时类型。编译时的类型由声明对象时实用的类型来决定,运行时的类型由实际赋值给对象的类型决定。如:Person p=new

2020-08-06 14:12:07 226

原创 Java异常分类、声明、创建、捕获、技巧

Java异常分类、使用、自定义概念​ 如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。另外,调用这个方法的其他代码也无法继续执行,异常处理机制会将代码执行交给异常处理器。分类Throwable是 Java语言中所有错误或异常的超类。下一层分为Error和Exception。Error类是指Java运行时系统的内部错误和资源耗尽错误。应用程序不应抛出该类对象。如果出现了这样的错误,除了告知

2020-08-05 16:19:16 204

原创 jsr、jcp和harmony的介绍

jsr和jcp关系jsr是Java Specification Requests的缩写,意思是Java规范提案。是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。JCP(Java Community Process) 是一个开放的国际组织,主要由Java开发者以及被授权者组成,职能是发展和更新。Java技术规范、参考实现(RI)、技术兼容包TCK。Java

2020-08-04 09:54:06 659

原创 JDK发展历史及与OpenJDK的区别

JDK发展历史JDK是Java语言的软件开发工具包(JDK)1995年:Oak(橡树)语言改名为Java,write Once run anyWhere1996年:Sun JDK1.0 Classic VM 纯解释运行,使用外挂进行JIT,JDK1.4时完全被淘汰1997年:JDK1.1 AWT、内部类、JDBC、RMI、反射、jar文件格式、JavaBean1998年:JDK1.2 Solaris Exact VM、J2SE、J2EE、J2ME、Swing、JIT解释器混合、Accurate

2020-08-04 09:15:35 666

原创 Java NIO详细笔记

typora-root-url: D:\study\picsJava NIO笔记java.nio全称java non-blocking IO,是指jdk1.4 及以上版本里提供的新api(New IO) ,为所有的原始类型(boolean类型除外)提供缓存支持的数据容器,使用它可以提供非阻塞式的高伸缩性网络。流与块原来的I/O 与 NIO 最重要的区别是数据打包和传输的方式,原来的I/O 以流的方式处理数据,而 NIO 以块的方式处理数据。面向流的 I/O 一次处理一个字节数据:一个输入流产生一.

2020-08-03 19:42:39 125

原创 JavaBean介绍及其范围

JavaBean是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,set和get方法获取。众所周知,属性名称符合这种模式,其他Java类可以通过自省机制(反射机制)发现和操作这些JavaBean的属性。组成一个JavaBean由3部分组成:(1) 属性(properties)  JavaBean提供了高层次的属性概念,属性在JavaBean中不只是传统的面向对象的概念里

2020-08-03 14:07:07 1163

原创 Java RMI原理介绍及详解

Java RMI详解RMI(Remote Method Invocation,远程方法调用)是用Java在JDK1.2中实现的,大大增强了Java开发分布式应用的能力,具有Java的"Write Once,Run Anywhere"的优点。RMI由三部分组成,第一部分是rmiregistry(JDK提供的一个可以独立运行的程序,在bin目录下),第二个是server端的程序,对外提供远程对象,第三个是client端的程序,想要调用远程对象的方法。存根扮演着远程服务器对象的代理的角色,使该对象可被客

2020-08-03 11:06:29 695

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除