java基础
java基础
小白划水
这个作者很懒,什么都没留下…
展开
-
内部类学习
成员内部类局部内部类原创 2022-04-11 22:43:42 · 121 阅读 · 0 评论 -
多线程-join操作
/** * 相当于阻塞住,直到调用join方法的线程结束后,才会往下执行 */public class ThreadJoin1 { public static void main(String[] args) throws Exception{ //t1线程 Thread t1 = new Thread(() -> { IntStream.range(1, 100).forEach(i -> {原创 2021-12-22 15:24:12 · 298 阅读 · 0 评论 -
java一些冷门的骚操作
public static void main(String[] args) { Integer[] a=new Integer[2]; test1(a); //但是前提是你传入的数组不能是null,必须至少一个长度,否则就会越界 System.out.println(Arrays.asList(a)); //将上面方法执行后的结果反向补偿给a数组 } public static void test1(Integer a[])...原创 2021-12-22 09:56:39 · 367 阅读 · 0 评论 -
Java多线程-线程池简单理解
其实就是在当你new对象创建线程池时,根据构造方法对线程池进行初始化,也就是指定工作线程,阻塞队列等等一些操作。当线程池执行任务的方法,其实就是往BlockingQueue中添加元素,然后线程池中的工作线程,直接从BlockingQueue中获取任务, 然后执行任务而已...原创 2021-12-24 10:52:14 · 342 阅读 · 0 评论 -
java-关于static成员变量在jvm类加载时的执行过程
public class A{ public static void main(String[] args) throws ClassNotFoundException { //System.out.println(D.a); //对于调用final修饰静态变量,不会触发对象的初始化操作,跟实例化没关系,因此static代码块不会执行 System.out.println(D.b); //没有final修饰的静态变量,会触发对象的初始化操作,跟实例化没关系,因此s原创 2021-12-29 17:12:01 · 730 阅读 · 0 评论 -
Java多线程-daemon守护线程
案例一:/** * 什么是守护线程? * 当 JVM 中不存在任何一个正在运行的非守护线程时,则 JVM 进程即会退出。 * 如果 JVM 中没有一个正在运行的非守护线程,这个时候,JVM 会退出。换句话说,守护线程拥有自动结束自己生命周期的特性,而非守护线程不具备这个特点。 * * 应用场景: * JVM 中的垃圾回收线程就是典型的守护线程,如果说不具备该特性,会发生什么呢? * 当 JVM 要退出时,由于垃圾回收线程还在运行着,导致程序无法退出,这就很尴尬了!!!由此可见,守护线程的重要原创 2021-12-22 14:15:01 · 484 阅读 · 0 评论 -
Java多线程-wait和sleep的区别
sleep属于线程Thread的方法,wait属于顶级父类Object的方法sleep不需要去唤醒,时间到了线程状态就会从阻塞到就绪状态,wait需要去被唤醒,不然会一直为阻塞状态sleep不会释放锁,wait会释放当前锁,可以让其他线程使用使用wait时需要一个monitor,但是sleep不需要...原创 2021-12-23 09:59:31 · 407 阅读 · 0 评论 -
Java多线程-线程内如何抛出异常?
//设置setUncaughtExceptionHandler就能将线程内的异常抛出,否则只会存放在日志或者什么的public class ThreadThrowExcption { public static void main(String[] args) { Thread t1 = new Thread(() -> { int a =1/0; }); t1.setUncaughtExceptionHandler((原创 2021-12-23 11:50:19 · 2239 阅读 · 0 评论 -
Java多线程-打断(interrupt)
package com.che.thread.interrupt;/** * @author cheyuhang on 2021/12/22 * 如果一个线程处于了阻塞状态(如线程调用了thread.sleep、thread.join、thread.wait、1.5中的condition.await、 * 以及可中断的通道上的 I/O 操作方法后可进入阻塞状态) * * 注意使用join时,阻塞的不是调用方,而是另一方,因此使用interrupt进行打断时应是另一方进行调用interrupt方原创 2021-12-22 17:44:30 · 760 阅读 · 0 评论 -
回调函数的用法
定义接口package com.zhengqing.demo.canal.mytest.huidiaohanshu;public interface CallBack { //执行回调操作的方法 void execute(Integer a);}具体使用方法package com.zhengqing.demo.canal.mytest.huidiaohanshu;/** * @author cyh * @Description * @date 2022/3/15原创 2022-03-15 14:20:11 · 552 阅读 · 0 评论 -
java中i++与++i区别
i++分析过程1.首先将数字5压栈2.istore_1将数字5出栈,放到局部变量表索引为1的位置上,也就是将5这个值赋值给i变量3.iload_1,将局部变量表中索引为1位置上的值入栈,也就是数字54.iinc 1 by 1,对局部变量表索引为1位置上的值加1操作,此时局部变量表中索引为1位置上的值为65.istore_1,将第三步加载进来的数字5出栈,放在局部变量表索引为1的位置上,会把第四步的赋值操作覆盖掉++i分析过程跟i++做对比分析,就不写过程了。。。。。。...原创 2021-12-31 10:26:02 · 381 阅读 · 0 评论 -
java-泛型
从泛型类派生子类成员方法与泛型方法的区别静态的泛型方法(如果是成员方法是不能变成静态的)泛型可变参数定义泛型类型通配符上限与下限List<? extend Cat> 泛型只能是cat或者cat的子类List<? superCat> 泛型只能是cat或者cat的父类...原创 2022-03-23 21:44:02 · 172 阅读 · 0 评论 -
java中创建对象的过程
https://www.cnblogs.com/kongbubihai/p/13794289.html原创 2022-01-05 15:49:07 · 165 阅读 · 0 评论