自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (2)
  • 收藏
  • 关注

原创 JVM加载class文件的原理和机制

JVM 中类的装载是由类加载器(ClassLoader)和它的子类来实现的,Java 中的类加载器是一个重要的 Java 运行时系统组件,它负责在运行时查找和装入类文件中的类。 由于 Java 的跨平台性,经过编译的 Java 源程序并不是一个可执行程序,而是一个或多个类文件。当 Java 程序需要使用某个类时,JVM 会确保这个类已经被加载、连接(验证、准备和解析)和初始化。类的加载是指把类的.class 文件中的数据读入到内存中,通常是创建一个字节数组读入.class 文件,然后产生与所...

2021-02-21 18:23:03 149

原创 String:字符串常量池

字符串常量池的设计思想 字符串的分配,和其他的对象分配一样,耗费高昂的时间与空间代价,作为最基础的数据类型,大量频繁的创建字符串,极大程度地影响程序的性能 JVM为了提高性能和减少内存开销,在实例化字符串常量的时候进行了一些优化 为字符串开辟一个字符串常量池,类似于缓存区 创建字符串常量时,首先坚持字符串常量池是否存在该字符串 存在该字符串,返回引用实例,不存在,实例化该字符串并放入池中 实现的基础 实现该优化的基础是

2021-02-10 08:01:02 178

原创 java泛型 伪泛型 擦除操作

Java的泛型是伪泛型,这是因为Java在编译期间,所有的泛型信息都会被擦掉,正确理解泛型概念的首要前提是理解类型擦除。Java的泛型基本上都是在编译器这个层次上实现的,在生成的字节码中是不包含泛型中的类型信息的,使用泛型的时候加上类型参数,在编译器编译的时候会去掉,这个过程成为类型擦除。如在代码中定义List<Object>和List<String>等类型,在编译后都会变成List,JVM看到的只是List,而由泛型附加的类型信息对JVM是看不到的。Java编译器会在编译时尽可

2021-02-10 07:24:29 194

原创 java中的GC

Java中的GC是什么? 为什么要有GC?GC目的:回收堆内存中不再使用的对象,释放资源回收时间:当对象永久地失去引用后,系统会在合适的时候回收它所占的内存。 GC System.gc()或Runtime.getRuntime().gc(), 忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。采用“分代式垃圾收集”。这种方法会跟Java对象的生命周...

2020-09-14 13:44:03 415

原创 反射常用的操作总结

想要使用反射,我先要得到class文件对象,其实也就是得到Class类的对象Class类主要API:成员变量-Field成员方法-Constructor构造方法-Method获取class文件对象的方式: 1:Object类的getClass()方法 2:数据类型的静态属性class 3:Class类中的静态方法:publicstaticClassForName(Stringc...

2020-09-11 11:37:42 103

转载 java IO总结 一篇很不错的

分类一:按操作方式(类结构)字节流和字符流: 字节流:以字节为单位,每次次读入或读出是8位数据。可以读任何类型数据。 字符流:以字符为单位,每次次读入或读出是16位数据。其只能读取字符类型数据。 输出流和输入流: 输出流:从内存读出到文件。只能进行写操作。 输入流:从文件读入到内存。只能进行读操作。 注意:这里的出和入,都是相对于系统内存而言的。节点流和处理流: 节点流:直接与数据源相连,读入或读出。 处理流:与节点流一块使用,在节点流的基础上,再套接一层,套接在节

2020-09-11 09:57:53 457

原创 ThreadLocal的理解

ThreadLocal一、什么是ThreadLocalThreadLocal提供了线程的局部变量,每个线程都可以通过set()和get()来对这个局部变量进行操作,但不会和其他线程的局部变量进行冲突,实现了线程的数据隔离~。简要言之:往ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的。ThreadLocal可以让我们拥有当前线程的变量,那这个作用有什么用呢???管理Connection 最典型的是管理数据库的Connection:当时在学JDBC的时候,为了

2020-09-10 22:38:34 98

原创 Object对象简介

Object对象简介前言本文对object对象的内容作了一些简单的总结,包括其方法和详细的一些说明,我们都知道在java中所有的对象都隐式的继承了Object对象,而且多有的对象都有Object默认的方法,那这些方法都有哪些呢,下面来做个简单的说面。object对象都有哪些方法呢:简单的做个归纳就是一下几个中: hashcode()和equals()用来做比较使用 clone()用来备份/克隆对象使用 toString()用来标识对象信息 noti...

2020-09-10 22:25:28 223

转载 EhCache

EhCache一 介绍EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认CacheProvider。Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。特性快速、简单 多种缓存策略 缓存数据有两级:内存和磁盘,因此无需担心容量问题 缓存数据会在虚拟机.

2020-09-08 16:15:30 238

原创 ArrayList和LinkedList有什么区别

ArrayList和LinkedList有什么区别它们两个都是List集合的zilei简单的说ArrayList和linkedList的底层是不一样的,一个是数组的数据结构,一个是双向链表的数据结构。对于数组来说它的查询操作就比较的方便,二对链表结构来说它的增删结构就比较方便。但是在我们实际的开发中使用的ArrayList相对比较多,有个问题在我们创建数组的时候会给其指定数组的大小,那位什么ArrayList不用指定数组大小呢,因为在创建的时候默认指定了大小为10,当元素超过默认指定的时候会在原来的

2020-09-08 09:11:44 122

WebService测试工具

WebService的测试工具方便进行相关的调试工作,提高工作效率

2018-04-04

jd-gui-0.3.3.windows.zip

反编译工具,将class文件,转换为java文件方便我们查看源码

2018-04-04

空空如也

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

TA关注的人

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