
java基础
文章平均质量分 72
右璇
这个作者很懒,什么都没留下…
展开
-
Java多线程之守护线程
一、说明Java中的线程分为两类:一种是守护线程,一种是用户线程。平台我们经常用到的就是用户线程。用户线程和守护线程,从本质上来说并没有什么区别,唯一的不同之处就在于虚拟机的离开:如果用户线程已经全部退出运行了,只剩下守护线程存在了,虚拟机也就退出了。 因为没有了被守护者,守护线程也就没有工作可做了,也就没有继续运行程序的必要了也就是只要其它非守护线程运行结束了,即使守护线程的代码没有执行完,也会强制结束。 Java垃圾回收就是一个典型的守护线程。Tomcat 中的 Acceptor 和 Poller原创 2022-04-05 23:11:28 · 1458 阅读 · 0 评论 -
Thread常用方法整理
文章目录前言 本文章记录Thread方法中的常用方法的用法一、常见方法汇总方法名 功能说明 start() 启动一个新线程,在新的线程运行run方法中的代码 start 方法只是让线程进入就绪,里面代码不一定立刻运行(CPU 的时间片还没分给它)。每个线程对象的start方法只能调用一次,如果调用了多次会出现IllegalThreadStateException run() 新线程启动后会调用的方法 如果在构造 Thread 对象时传..原创 2022-04-05 22:35:41 · 2789 阅读 · 0 评论 -
Java 线程创建方式
文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言本篇文章主要是记录Java线程的几种创建方式,以便需要的时候用来参考一、创建方式说明Java线程的创建方式有3种,分别是继承Thread,实现Runnable接口,通过Callable和Future接口创建(JDK1.5中开始增加)。还是有一种说法创建线程方式有4种,这4种除了前边提出的3种以外还有一种是通过线程池的方式创建线程。二、继承Thread方式1.代...原创 2022-04-03 23:26:58 · 1018 阅读 · 2 评论 -
JAVA反射学习记录
目录一、代码准备1.1、Creature(父类)1.2、MyAnnotation(注解)1.3、MyInterface(接口)1.4、Person二、获取属性三、获取方法四、获取构造器及类中的其他属性五、操作属性六、操作方法七、操作构造函数一、代码准备1.1、Creature(父类)public class Creature<T> implements Serializable { private char gend原创 2022-03-14 15:20:24 · 2707 阅读 · 0 评论 -
JAVA获取Class类的4种方式
目录一、准备1.1 创建一个实体类如下:二、获取Class类2.1调用运行时类的属性: 类名称.class2.2通过运行时类的对象的getClass方法2.3 调用Class的静态方法:forName(全类名)2.4使用类加载器:ClassLoader中的loadClass(全类名)方式获取三、其他一、准备1.1 创建一个实体类如下:public class PersonForReflect { private String name;...原创 2022-03-10 19:21:17 · 12976 阅读 · 0 评论 -
Java 枚举(enum)
目录前言一、枚举是什么?二、枚举的定义1.自定义枚举类2.enum关键字创建枚举类三、自定义枚举类1、步骤2、代码3、使用三、enum定义枚举类1、定义2、使用3、switch 中使用枚举类4、有关构造函数5、实现接口的枚举类6、有抽象方法的枚举类前言 本篇内容是对Java中的枚举类进行学习记录一、枚举是什么? Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 1...原创 2021-11-22 15:18:16 · 3206 阅读 · 0 评论 -
LinkedList源码解读(基于JDK8)
/* * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */package java.util;import java.util.f.原创 2021-11-08 21:26:29 · 160 阅读 · 0 评论 -
ArrayList迭代器分析,及相关问题分析(基于JDK8)
目录一、获取ArrayList迭代器及迭代器源码二、迭代器相关问题研究1、为什么ArrayList用随机获取元素比迭代器获取元素效率高效率高1.1 测试代码及结果1.2 说明2、为什么迭代器并发修改会有异常2.1 测试代码及结果2.2 说明3、 迭代器并发修改特殊情况3.1 代码及结果3.2 说明4、为什么调用迭代器中的remove()方法就不会报错4.1 代码及结果4.2 说明一、获取ArrayList迭代器及迭代器源码 //返回A..原创 2021-11-06 21:53:34 · 332 阅读 · 0 评论 -
ArrayList源码分析(基于JDK8)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言为了复习Java集合相关知识点,对相关Java 集合源码进行走读学习,本篇文章记录对ArrayList(JDK1.8)源码走读的记录一、ArrayList继承关系及全部源码1、继承关系2、全部源码 二、分段解读1.ArrayList属性//序列号 private...原创 2021-11-06 18:29:17 · 493 阅读 · 0 评论 -
ArrayList 有参构造函数中的c.toArray might (incorrectly) not return Object[] (see 6260652)问题理解
问题: 在走读ArrayList参数为Collection类型的有参构造函数时,发现构造函数把参数转换成数组并赋值给成员变量elementData后,又进行了elementData.getClass() != Object[].class判断,并在条件为true的时候又进行了一次转换,并在该处说明c.toArray might (incorrectly) not return Object[] (see 6260652),具体代码如下: public ArrayList(Collect...原创 2021-11-03 14:59:21 · 316 阅读 · 0 评论 -
@Scheduled使用及讲解
目录1、cron 1.1 源码 1.2 解释 1.3 示例2、zone 2.1 源码 2.2 解释 2.3 示例3、fixedDelay3.1 源码3.2 解释3.3 示例4、fixedDelayString 4.1 源码4.2 解释4.3 示例5、fixedRate 5.1 源码 5.2 解释5.3 示例6、fixedRateString 6.1 源码...原创 2021-01-16 20:49:02 · 36965 阅读 · 0 评论 -
@Scheduled使用
asdf原创 2021-01-16 15:23:50 · 1954 阅读 · 2 评论 -
The valid characters are defined in RFC 7230 and RFC 3986 问题解决
问题:Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986,前端get 请求报 400Failed to load resource: the server responded with a status of 400 (Bad Request)原因请求参数中特殊符号导致比如 ‘[]’解决方案:1、修改修改tomcat 版本(..原创 2020-07-15 12:37:55 · 279 阅读 · 0 评论 -
ThreadLocal源码解读
import java.lang.ref.*;import java.util.Objects;import java.util.concurrent.atomic.AtomicInteger;import java.util.function.Supplier;public class ThreadLocal<T> { private final int th...原创 2020-04-06 15:12:36 · 227 阅读 · 0 评论 -
注解
一、注解: 它不是注释 注释是程序员写的,给程序员的注解给程序看,用于描述程序如何运行及在什么阶段来运行。注解现在在实际开发中,最大的功能是用于替换配置文件。注解是jdk1.5的新特性可以通过反射来让注解具有功能。注解 @xxxx2.1、自定义注解1、JDK中的三个基本的注解:a、@Override:检查子类确实是覆盖了父类的方法。b、@Deprecated翻译 2017-09-24 17:04:45 · 232 阅读 · 0 评论 -
StringBuffer
ublic class StringBufferDemo {public static void main(String[] args) {/** StringBuffer:就是字符串缓冲区。* 用于存储数据的容器* 特点:1、长度可变* 2、可以存储不同类型数据* 3、最终要转成字符串进行使用* 4、可以对字符串修改* 具备的功能:* 1、添加翻译 2015-09-07 21:24:53 · 316 阅读 · 0 评论 -
继承各种类的执行顺序
/*4:*/class Fu {/* 5: */Fu() {System.out.println("Fu gouzao");/* 6: */show();}public void p(){System.out.println("PPPPP:this.p");}void show() {System.out.println("haha");}原创 2015-09-06 15:37:23 · 442 阅读 · 0 评论 -
两个字符串中最大相同的子串
/*两个字符串中最大相同的子串 * "qwerabcdtyuiop" * "xcabcdvbn" * 思路: * 1、既然取得是最大子串,先看短的那个字符串是否在字符串中。 * 如果存在,短的那个字符串就是最大子串 * 2、如果不是,那么就将那个子串进行长度递减的方式去子串,去长串中判断是否存在 * 如果存在就已经找到,就不用再找了 * * */publi翻译 2015-09-05 21:13:35 · 1657 阅读 · 0 评论 -
在字符串中找子串
public class StringFind {public static void main(String []args){String str="nbasfsdfnbadfdsnbagdfsgdfgnbagdfgdnbasnba";String key="nba";int count=getFindString(str,key);int count2=getFindStr翻译 2015-09-05 18:14:36 · 416 阅读 · 0 评论 -
异常
异常注意事项:1、子类在覆盖父类方法时,父类的方法如果抛出了异常那么子类的方法只能抛出父类的异常或者该异常的子类。2、如果父类抛出多个异常,那么子类只能抛出父类异常的子集简单说: 子类覆盖父类只能抛出父类的异常或者子集注意:如果父类的方法没有抛出异常,那么子类覆盖时绝对不能抛,只能tryclass A extends Exception{}class B ext翻译 2015-09-03 23:44:09 · 209 阅读 · 0 评论 -
continue语句
public class ContinueDemo{public static void main(String[] args){ for(int i=1;i { if(i%2==1) System.out.print("*"); else continue; System.out.print ("#");原创 2015-08-30 23:55:23 · 281 阅读 · 0 评论