简单工具类 写作初衷:由于日常开发经常需要用到很多工具类,经常根据需求自己写也比较麻烦 网上好了一些工具类例如commom.lang3或者hutool或者Jodd这样的开源工具,但是 发现他们之中虽然设计不错...做到.在此诚邀各位大佬参与.可以把各自用过的工具,整合成只依赖JDK,每个类都能够单独 使用的工具.每个人当遇到业务需求需要使用的时候,只需要到这里单独拷贝一个即可使用....介绍 遵从两大原则 1.绝不依赖JDK以外的源码 2.牺牲代码复用性,每个类都必须是单独的组件,绝不互相引用,做到完全解耦 package *; /** * @program: simple_tools...= 0; } /** * @param states 已有状态值 * @param value 需要添加状态值 * @return 新的状态值...* @param value 需要删除状态值 * @return 新的状态值 */ public static long removeState(long states
public class SysCode{ private String sys_code; // 系统状态码 private String sys_desc; // 状态码描述 private...String asso_code; // 伴生状态码 private String asso_desc; // 状态码描述 protected static final Map<String,.../ 重复问题 put("400", "白名单重号过滤"); put("401", "重号过滤7天"); put("402", "重号过滤30天"); put("403", "24小时内的重号过滤...* @param asso_desc 伴生状态码说明 * @param sys_code 系统状态码 */ public SysCode(String asso_code, String...* @param asso_desc 伴生状态码说明 * @param sys_code 系统状态码 */ public static SysCode container(String
今天是日更的 61/365 天 一、HTTP协议是什么 HTTP协议(HyperText Tranfer Protocol,超文本传输协议),是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议...二、HTTP状态码五大类 一)1XX 信息,服务器收到请求,需要请求者继续执行操作。 二)2XX 成功,操作被成功接收并处理。常见的是200,代表请求成功。...三)3XX 重定向,表示需要进一步的操作以完成请求。 四)4XX 客户端错误,请求包含语法错误或无法完成请求。 1、401 unauthorized,请求要求用户的身份认证,才能下一步操作。...2、502 bad gateway,作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应。...3、504 gateway time-out,充当网关或代理的服务器,未及时从远端服务器获取请求。
java.lang.Thread.State中定义的集中Java线程的状态: 1 /** 2 * A thread state....处于可运行状态的线程正在Java虚拟机中执行,但它可能正在等待来自操作系统(如处理器)的其他资源 43 */ 44 RUNNABLE, 45 46 /**...上述Java代码定义的几个状态中其实是没有running状态的。 线程的runnable状态是从虚拟机的角度来看的,表示这个线程正在运行。 但是处于Runnable状态的线程不一定真地消耗CPU....处于Runnable的线程只能说明该线程没有阻塞在java的wait或者sleep方法上, 同时也没等待在锁上面。...阻塞与等待的区别: 阻塞:当一个线程试图获取对象锁(非java.util.concurrent库中的锁,即synchronized),而该锁被其他线程持有,则该线程进入阻塞状态。
本文将从源码角度分析Java线程的各种状态以及进入该状态所对应的操作。...JVM中有一个C++类叫JavaThreadStatusChanger,该类及其子类就是用来修改Java线程状态的,我们看下都有哪些子类 File: src/hotspot/share/services...但又是什么操作导致这些类对Java线程的状态进行修改的呢?下面我们以JavaThreadInObjectWaitState类举例说明下。...类java.lang.Object中的Object.wait这个native方法。...类java.lang.Thread.State的Javadoc对此也有较为详细的描述,只是其状态和jstack中的状态不是一一对应的,所以我们一开始并没有提到,这里也顺便看下吧。
Java线程(或者说计算机线程),是有一些状态来表示当前线程运行信息的,可以通过jsatck命令来查看Java进程中线程函数栈信息,其中就包括了Java线程状态。...在分析Java线程状态之前,我们先来看下进程、线程、协程这些概念之间的区别: 进程:运行时程序的抽象,系统资源管理的基本单位; 线程:一个进程可以包含多个线程,CPU调度执行的基本单位,Linux下称线程为轻量级进程...对于开发小伙伴来讲,了解Java线程状态,有利于加深对线程的理解,有助于解决线程死锁、线程阻塞等问题。...Java Thread类型的State枚举就定义了如下6种线程状态,这些状态之间会进行切换直到线程终止为止,类似于状态机流转。...我们知道了Java层面对于线程状态的几种定义,那么Java/JDK底层是基于什么机制来实现线程管理的呢?
前言 在前文中详细介绍了线程的启动、中断、休眠、等待。本文详细介绍线程的多种状态。...获取线程的当前状态代码是: 线程对象.getState(); 一、NEW Thread 对象创建好了,但还没有调用start()方法。...如: 二、RUNNABLE 就绪状态:1)线程正在cpu上运行; 2)即将运行 如: 三、BLOCKED 因为锁产生阻塞,形成阻塞状态。...如: 四、WAITNG 因为调用wait 产生阻塞,如: 五、TIMED_WAITNG 因为sleep 或 join 带时间的方法 产生阻塞,如: 六、TERMINATED 线程工作结束时的状态,...如: 结语 关于该六种线程状态,我们可以得出状态转换图: 这篇博客如果对你有帮助,给博主一个免费的点赞以示鼓励,欢迎各位点赞评论收藏⭐,谢谢!!!
所有线程一开始都处于这个状态。 RUNNABLE 线程正在运行,或者当操作系统调度线程时可以运行。...BLOCKED 线程中止运行,因为它在等待获得一个锁,以便进入声明为 synchronized 的方法或代码块。本节后面会详细介绍声明为 synchronized 的方法和代码块。...线程对象的 run() 方法正常退出,或者抛出了异常。
NEW状态 实现Runnable接口和继承Thread可以得到一个线程类,new一个实例出来,线程就进入了初始状态 英文翻译过来是线程还是没有开始执行。...,这样一来问题的焦点就在于还没有开始执行,我们都知道当调用线程的start()方法时,线程不一定会马上执行,因为Java线程是映射到操作系统的线程进行执行,此时可能还需要等操作系统调度,但此时该线程的状态已经为...其实这只是Java 语言级别的一种状态,在操作系统内部可能已经注销了相应的线程,或者将它复用给其他需要使用线程的请求,而在Java语言级别只是通过Java 代码看到的线程状态而已。...,也许将它粗粒度化会更好一些,而且这样的代在写在Java 程序中本身也会更加清晰,更加容易看到相互之间的关系。...java文档就简单的写了句:选择是任意性的。
,它无法用long来表达时,就可以用BigInteger add() 加 subtract() 减 multiply() 乘 divide() 除 mod() 取余 包装类 Ø JDK提供了对所有数据类型的包装类...()创建时间对象代表当前系统时间 需要使用DateFormat类来进行格式化,才能显示想符合习惯的格式 Calendar 使用该类对时间进行操作比较方便 通过常量来表示时间的各种值,如一年中的某一天,一个月的某一天等...方法返回一个字节,默认指向键盘输入 静态属性out为标准输出流,属于PrintStream类型,print方法打印字符,默认打印到屏幕 可以用set方法修改属性in和out System.exit()方法退出Java...虚拟机 System.gc()垃圾回收,Java中的对象成为垃圾之后不会马上回收掉,如果想立即回收可以调用System.gc() System.getProperties()方法获得系统属性 Runtime...表示系统运行时状态 exec方法执行命令 算数类 Math 该类提供了一些数学运算的方法 PI 圆周率 abs() 绝对值 ceil() 向上取整 floor() 向下取整 round() 得到最接近的整数
线程的状态转换如下图所示: 可以参考我的另一篇博客线程状态转换的内容。...* * @see java.lang.Thread#run() */ public abstract void run(); } 注释写的很清楚,这个接口用于创建一个线程...,当一个类实现了这个接口,就会导致重写的run方法被调用,可以在run方法里实现自己的业务逻辑。...也可以通过构建Thread类的子类来定义一个线程。...如果在中断状态被置位时调用sleep方法,线程不会休眠反而会清除这一状态并且抛出中断异常。因此,如果你的循环调用sleep,不会检测中断状态,相反,需要捕获中断异常。
就绪状态(Runnable): 也被称为“可执行状态”。线程对象被创建后,其它线程调用了该对象的start()方法,从而来启动该线程。例如,thread.start()。...处于就绪状态的线程,随时可能被CPU调度执行。 3. 运行状态(Running): 线程获取CPU权限进行执行。需要注意的是,线程只能从就绪状态进入到运行状态。 4....阻塞状态(Blocked): 阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。直到线程进入就绪状态,才有机会转到运行状态。...阻塞的情况分三种: (01) 等待阻塞 -- 通过调用线程的wait()方法,让线程等待某工作的完成。...(03) 其他阻塞 -- 通过调用线程的sleep()或join()或发出了I/O请求时,线程会进入到阻塞状态。
在API中java.lang.Thread.State这个枚举中给出了六种线程状态:这里先列出各个线程状态发生的条件,下面将会对每种状态进行详细解析;线程状态导致状态发生条件New(新建)线程刚被创建,...Runnable(可运行)线程可以在java虚拟机中运行的状态,可能正在运行自己代码,也可能没有,这取决于操作系统处理器。...,那么此时它的状态就是 New。...有些教科书上讲可运行状态分为了就绪状态和运行状态,即线程开启后进入就绪状态,当线程抢到CPU执行权后进入运行状态(Java规范没有将正在运行作为一个单独的状态,一个正在运行的线程仍然处于可运行状态)【示例代码...状态的,它需要先经历 Runnable 状态。
线程安全 下面我们先看看Srping中的Bean来辅助理解: Spring中的有状态(Stateful)和无状态(Stateless) 无状态的Bean适合用不变模式,技术就是单例模式,这样可以共享实例...虽然Service类也有dao这样的属性,但dao这些类都是没有状态信息的,也就是相当于不变(immutable)类,所以不影响。...Stream流操作的有状态 vs 无状态 比如map或者filter会从输入流中获取每一个元素,并且在输出流中得到一个结果,这些操作没有内部状态,称为无状态操作。...所以判断流操作是否有状态的判断标准,就是看是否需要知道先前的数据历史。...,原因就是因为sorted是有状态的,所以有了很多的不确定性。
我相信大家在参与web开发的时候,肯定会遇到session,其实在平常的开发过程中,用到的session都是有状态的session。...有状态的session 正常的web开发,每次来一个用户就会产生一个session,在客户端会受到sessionId的概念,每个用户有个独立的session会话,如果100个用户进来就会产生100个session...如果这个会话消失了,用户的没有在访问我们的网站,这就是我们日常使用最多的会话,成为有状态会话。 ? 无状态的session 上边说了有状态,相对而言肯定是有无状态session的存在。...除去混合开发的模式,直接原生的安卓,ios,小程序开发他们访问直接地址的时候就存在无状态session。他们这种会话是无法维系用户和系统之间的关系的。他们访问一次获取后就断开了连接。...好处 用户信息存储到redis缓存中,形成无状态会话。方便管理 便于扩展,当单体应用该扩展成集群。 便于权限验证。 PS:下次使用redis建立无状态的session。
参考链接: Java HashSet类 集合 的体系: ------------| Collection 单例集合的根接口 ----------------| List 如果是实现了List接口的集合类...----------------| Set 如果是实现了Set接口的集合类,具备的特点: 无序,不可重复。...import java.util.HashSet; import java.util.Set; public class Demo1 { public static void main(String...import java.util.HashSet; import javax.print.attribute.HashAttributeSet; class Person{ int id; ...import java.util.HashSet; import java.util.Scanner; /* 需求: 接受键盘录入用户名与密码,如果用户名与密码已经存在集合中,那么就是视为重复元素,不允许添加到
https://www.captainbed.cn/f1 Java的String类用于处理文本数据,提供了丰富的字符串操作方法和功能,包括字符串连接、比较、查找、截取、替换等,是不可变类,每次修改都会生成新的...Java 中数组, String, 以及自定义的类都是引用类型....这个时候就是 值相同. equals Java 中要想比较字符串的内容, 必须采用String类提供的equals方法....指的是程序运行过程中, 获取/修改某个对象的详细信息(类型信息, 属性信息等), 相当于让一个对象更好的 “认清自己” . Java 中使用反射比较麻烦一些....为了更好理解String和StringBuffer,我们来看这两个类的继承结构: String类 StringBuffer类 public final class String implements java.io.Serializable
在java中用来描述具有共同性质的一组事物的自定义的复合数据类型—类。 复合数据类型的本质—【根据自己的需求制作自己需要的数据类型的模式/规则/公式】 4.2.如何编写一个Java类?...通过class关键字来创建一个类 {}—-类体 例如: public class Xue{ //public---访问限制修饰符【对类的访问权限】 //class---创建类 的关键字...{ } 4.3.Java类中可以编写什么?...基本属性——变量 基本功能—–方法 变量–是用来在类中描述事物的基本属性 方法–是用来在类中描述事物的基本功能 4.4.Java类中变量的分类及其基本特征?...在同一个类中成员变量与某一个方法中的局部变量的名称相同,这是我们在方法中使用这个成员变量的时候,得到的结果是局部变量的值,此时就是方法中的局部变量将类中成员变量的值隐藏了,这就是成员变量的隐藏。
Java中的线程优先级不太靠谱,原因是Java定义了大约10个级别的优先级,最小的优先级为1,最高优先级为10,线程的优先级默认与父线程一致,假设操作系统线程的优先级的级别层次比Java少(最小1,最大...5),那么在映射以后,Java两个不同优先级的优先级有可能共同对应操作系统的同一个优先级。...线程状态 Java线程大致有以下状态: New Runnable Waiting TimeWaiting Blocked Terminated ?...在程序等待进入同步区域的时候,线程将进入这种状态 3.6 Terminate 线程执行结束以后的状态。...本期的Java线程调度和状态实现介绍到这,我是shysh95,关注+在看+赞,你就是最靓的仔,我们下期再见!!
Calendar类概述 /*** java.util.Calendar类:是一个日历类 * Calendar类是一个抽象类,里边提供了很多操作日历字段的方法 * 如:YEAR、 MONTH、 DAY OF...MONTH、HOUR * * Calendar类无法直接创建对象使用,里边有一个静态方法叫 getInstance(), * getInstance()方法返回了 Calendar类的子类对象 * static...String[] args) { Calendar calendar=Calendar.getInstance(); System.out.println(calendar); } } Calender类的常用成员方法...public abstract void add(int field, intamount)//根据日历的规则,为给定的日历字段添加或减去指定的时间量。...成员方法的参数:intfield:日历类的字段,可以使用 Calendar类的静态成员变量获取public static fin 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn
领取专属 10元无门槛券
手把手带您无忧上云