- 博客(9)
- 资源 (18)
- 收藏
- 关注
原创 finally底层指令
1、finally底层字节码解析 jvm采用复制finally代码块的方式,并将其内容插入到try和catch代码块中。
2021-10-27 15:09:06 171 1
原创 i++和++i底层原理实现
1.1、i++ int i=0; for(int j=0;i<50;j++){ i=i++; } ------编译后指令------- //通过:javap 类名.class 反解析 iload_0 将局部变量表slot=0的变量(i),加载到操作数栈上 iinc 对局部变量表slot=0的变量(i)直接加1,但是操作数栈还是0 istore_o 将栈顶元素出栈赋值给局部变量表slot=0的变量。 //此时,局部变量i又被赋值为0 1.2、++i ii...
2021-10-27 15:02:06 317
原创 spring cloud 底层原理
一、eureka 1)eureka原理 服务启动后向Eureka注册,Eureka Server会将注册信息向其他Eureka Server进行同步,当服务消费者要调用服务提供者,则向服务注册中心获取服务提供者地址,然后会将服务提供者地址缓存在本地, 下次再调用时,则直接从本地缓存中取,完成一次调用。 当服务注册中心Eureka Server检测到服务提供者因为宕机、网络原因不可用时,则在服务注册中心将服务置为DOWN状态,并把当前服务提供者状态向订阅者发布,订阅过的服务消费者更新本地缓存。 服务提供者在启
2021-06-15 11:16:11 547
原创 类加载机制
1、类加载过程 加载:将.class文件从磁盘读到内存 验证:验证字节码文件的正确性 准备:给类的静态变量分配内存,并赋予默认值 解析:类装载器装入类所引用的其它所有类 初始化:为类的静态变量赋予正确的初始值,上述的准备阶段为静态变量赋予的是虚拟机默认的初始值,此处赋予的才是程序编写者为变量分配的真正的初始值,执行静态代码块 2、类加载器的种类 启动类加载器(Bootstrap ClassLoader):负责加载JRE的核心类库,如JRE目标下的rt.jar,charsets.jar等 扩展类加载器(Ex
2021-06-15 11:10:58 300
原创 jai-code实现tiff文件转jpg功能
源码下载地址:https://download.csdn.net/download/qq_37922915/12572959 //包含tif图片,jar等 import com.sun.media.jai.codec.ImageCodec; import com.sun.media.jai.codec.ImageEncoder; import com.sun.media.jai.codec.JPEGEncodeParam; import javax.media.jai.JAI; ...
2020-07-03 13:38:26 655 1
原创 redis数据结构以及常用方法
1、redis五大数据类型 string,list,hash,set,zset 2、五大数据类型的常用方法 共性:若key已存在,则覆盖。 1)string:可以包含任何数据,比如图片或者序列化的对象,一个redis中字符串value最多可以512M 常用方法: set:设置参数 get:key不存在返回nil。 --- key存储的不是字符串,返回错误。 mset:同时设置多个键值对(原子性操作:不存在某些更新某些没更新情况) mget:同时获取多个键...
2020-06-29 15:57:14 290
原创 volatile原理/指令重排
1、volatile关键字 volatile关键字有如下两个作用: 保证被volatile修饰的变量对所有线程总数可见的。 禁止指令重排序优化。 场景:一个线程写,一个线程读 写一个volatile变量,会把它刷新到主内存中。 volatile如何禁止指令重排: 内存屏障:CPU指令,插入内存屏障禁止在内存屏障前后的指令执行重排序优化。内存屏障的另外一个作用是强制刷出各种CPU的缓存数据。 2、指令重排(对单线程没有影响) 计算机在执行程序时,为了提高性能,编译器和...
2020-06-29 14:38:17 624
原创 synchronize底层原理/锁/反解析
1、synchronize锁 1.1、类锁 /** * 类锁:synchronize修饰静态方法以及同步代码块的synchronize(类.class)用法锁是类。 * 线程想要执行对应的同步代码,需要获得类锁。 */ public class SyncClassTest { /** * synchronize修饰:静态方法 */ public synchronized static void staticFunction(){ System
2020-06-29 14:18:05 389
原创 java基础中容易出错的地方
一、 byte a=1; byte b=2; byte c=a+b; //编译错误,因为short,char,byte运算时是转换为int在计算的。 // 换成 int c=a+b;正确 二、 char x='a'; char x1='b'; char x3=(char)(x+x1); System.out.println(x3); //输...
2019-05-27 17:20:11 441
统计字符串中英文标点数量并截取.zip
2021-06-15
icepdf-core,icepdf-viewer实现pdf转jpg
2020-07-03
tif转jpg。正版jai-core,jai-codec。附代码以及tif图片供测试。
2020-07-03
java爬虫下载表情包/gif等
2020-06-29
java实现文件夹同步/对比功能
2020-06-29
html5+css3实现3D相册的功劳
2018-11-15
html5+css3实现字体飘落
2018-11-15
android实现listview隔行颜色不同
2018-04-14
red5第一个demo
2017-09-06
red5-server的jar包
2017-09-05
支持ecplise的red5插件+red5服务器
2017-09-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人