logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Java中的反射机制和lambda表达式

在获取的构造方法,成员方法,字段需要修改时,需要调用setAccissble方法,表示是安全的设置,同时实例化对象,确定获取的是哪一个对象的构造方法,成员方法,字段,最后分别使用invoke和set方法执行方法和字段的修改,完成反射的基本过程。getMethod方法需要的参数列表有两部分,第一个是需要反射的方法名,第二个是方法中的参数列表,类型是Class<?反射是java中在程序运行时可以获取到

文章图片
#java#开发语言#intellij-idea
Java EE - 进程与多线程

在操作系统中,并不会每时每刻都只执行一个进程,进程的执行需要系统分配资源,当系统暂时不执行进程时,可能进程的所有指令还未执行完成,等系统再次分配资源时,需要继续往下执行进程的指令,但是需要知道进程上一次执行的位置在那里,此时就可以使用文件描述符,文件描述符记录了进程执行的指令数(PC来查询),进程的PID,指令的执行结果等信息,等再次执行该进程,通过文件描述表就可以恢复到原来的进程执行的位置。每一

文章图片
#java#开发语言#intellij-idea +1
Java EE - Thread类的基本使用

Thread类是Java标准库中提供用来管理线程的类,里面封装操作系统对线程管理方面的API,Java中创建的每一个线程,可以理解为Thread类的实例化对象,用来描述线程信息,可以视为Thread类是对操作系统提供线程管理的API进一步的抽象和分离。定义一个MyThread类,继承于Thread类,Thread中有一个run方法,需要在子类中重写,MyThread类重写完成后,实例化MyThre

文章图片
#java-ee#java#intellij-idea
Java EE - 线程的状态

Blocking状态即阻塞状态,同时再两个线程同时申请各自加锁的对象导致的状态,例如:线程t1已经加锁了o1对象,线程t2加锁了o2对象,此时t1线程申请再加锁o2对象,t2线程再申请加锁o1对象,由于两个线程都已加锁并未解锁,申请新的锁对象就会一直处于阻塞状态中,t1和t2线程的状态都为Blocking状态。线程进入无限制时间的等待就是warning状态,线程进入warning状态通常是线程进入

文章图片
#java-ee#开发语言#intellij-idea
Java EE - 线程安全的产生及解决方法

线程安全问题是在多线程并发的情况下,程序执行的结果与预期的结果不一致导致出现的问题,可以先看以下例子:创建两个线程t1 和 t2,定义一个变量count,在两个线程中对变量count分别执行累加操作(count++)5000次,然后输出count变量,预期输出结果是10000.1.操作系统在给线程分配资源的时候是随机的,可能先一段时间执行t1线程,再一段时间执行t2线程,也有可能t1执行完在分配给

文章图片
#java-ee#java#开发语言
Java EE - 常见的死锁和解决方法

创建两个线程t1和t2,定义两个锁对象locker1和locker2,两个线程并发执行,t1线程先获取锁对象locker1,t2线程获取锁对象locker2,在保持获取锁的基础上,线程t1请求获取锁对象locker2,线程t2请求获取锁对象locker1,由于此时锁的获取需要解锁后才可申请,两个线程同时请求对方的锁,此时的两个线程就都进入阻塞等待,形成死锁。以上情形如果是在多线程的情况下执行,就会

文章图片
#java-ee#java#开发语言
Java EE - 多线程下单例模式的设计

由于线程t1只执行判断的逻辑,每一次都需要在内存中读取,再到cup执行判断语句,编译器为了更快的执行逻辑,会将内存的读取操作优化到寄存器直接读取(cpu的执行速度比内存的执行更快),即将count变量拷贝一份到寄存器中,当t2线程输入时,对t1线程中的判断操作不影响,导致无法真正终止t1线程。如果此时已经将instance初始化,再一次调用getInstance方法,只需要返回instance,但

文章图片
#java-ee#单例模式#intellij-idea
Java EE - 线程的状态

Blocking状态即阻塞状态,同时再两个线程同时申请各自加锁的对象导致的状态,例如:线程t1已经加锁了o1对象,线程t2加锁了o2对象,此时t1线程申请再加锁o2对象,t2线程再申请加锁o1对象,由于两个线程都已加锁并未解锁,申请新的锁对象就会一直处于阻塞状态中,t1和t2线程的状态都为Blocking状态。线程进入无限制时间的等待就是warning状态,线程进入warning状态通常是线程进入

文章图片
#java-ee#开发语言#intellij-idea
到底了