java
简单干练不忽悠
程序猿与汪
一枚专注于大数据领域知识的程序汪
展开
-
Spring框架增强-全局异常处理机制-根据目录结构自动生成路由前缀-参数效验机制以及自定义效验
全局异常处理机制我们应该做一个统一错误响应,返回给前端的应该是意义明确的json结构{ code:10001 message:xxxx request:GET url}message:是错误响应的具体消息code:代表的是错误类型编码request:表示当前接口访问的url1.GlobalExceptionAdvice//接收项目抛出的异常@ControllerAdvice //特定注解实现加入spring容器public class GlibalExcepti原创 2020-12-23 09:51:23 · 385 阅读 · 0 评论 -
Java-反射
什么叫反射?反射:将类的各个组成部分封装成为其他对象,这就是反射机制反射的好处可以在程序运行过程中,操作这些对象可以解耦,提供程序的可扩展性获取Class对象的方式Class.forName(“全类名,也就是包名称”):将字节码文件加载到内存,返回Class对象类名称.class:通过类名的属性class来获取对象.getClass():getClass()方法在Object类中定义着不同的获取Class对象方式的使用场景Class.forName(“全类名,也就是包名称”)原创 2020-07-25 14:42:45 · 85 阅读 · 0 评论 -
Java-Thread类中interrupt()、interrupted()和isInterrupted()方法
1.interrupt()方法其作用是中断此线程(此线程不一定是当前线程,而是指调用该方法的Thread实例所代表的线程),但实际上只是给线程设置一个中断标志,线程仍会继续运行。2. interrupted()方法作用是测试当前线程是否被中断(检查中断标志),返回一个boolean并清除中断状态,第二次再调用时中断状态已经被清除,将返回一个false。3. isInterrupted()方法作用是只测试此线程是否被中断 ,不清除中断状态。...原创 2020-07-18 11:19:35 · 188 阅读 · 0 评论 -
java-ThreadPoolExecutor线程池的使用
一.线程池的创建我们可以通过ThreadPoolExecutor的构造函数来创建一个线程池。new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime,milliseconds,runnableTaskQueue, handler);创建一个线程池时需要输入几个参数,如下。1)corePoolSize(线程池的基本大小):当提交一个任务到线程池时,线程池会创建一个线程来执行任务,即使其他空闲的基本线程能够执行新任务也会创建原创 2020-07-08 11:49:27 · 116 阅读 · 0 评论 -
java- UUID类
如果现在需要我们随机生成一个不会重复的字符串,我们有什么解决方案?一般比较好的算法是:电脑的IP地址+时间戳+加任意位数的随机数+移位操作=几乎不会重复的随机字符串。在设计程序的时候如果由用户自己来处理相关操作太过于麻烦,Java为了方便处理,设计了java.util.UUID类,这个类可以生成以上格式的字符串这个类我们主要使用一个 public static UUID randomUUID()方法。import java.util.UUID; public class Ud { public s原创 2020-06-30 21:54:08 · 223 阅读 · 0 评论 -
java继承-switch-case用法
switch-case 一般的用它来做值匹配的。 switch(表达式){ case 值1: 表达式的值和 值1匹配上了,需要执行的代码; break; case 值2: 表达式的值和 值2匹配上了,需要执行的代码; break; case 值3: 表达式的值和 值3匹配上了,需要执行的代码; ...原创 2020-05-11 17:55:18 · 308 阅读 · 0 评论 -
java-软件结构,网络通信,tcp通信,文件上传案例实现
软件结构网络通信协议分类UDP:主机A发送数据不需要确认连接主机B就可以传输数据优点:消耗资源小,通信效率高缺点:由于UDP的面向无连接,故不能保证数据的完整性,偶尔可能会丢失一两个数据包TCP:首先要建立发送和接收的链接后才可以传输数据网络编程三要素ip地址端口号TCP通信的概述TCP通信的客户端代码实现(用的都是一个字节流)先起服务端,在起客户端客...原创 2020-04-11 21:11:36 · 125 阅读 · 0 评论 -
java-序列化和反序列化,transient关键字,打印流
序列化和反序列化的概述序列化就是写:对象以流的方式写入叫序列化反序列化就是读:文件中对象以流的方式读取叫反序列化只不过上述针对的是对象对象的序列化流创个一个实例类Person用来进行序列化public class Person implements Serializable { private String name; private int age; ...原创 2020-04-09 14:58:42 · 160 阅读 · 0 评论 -
java基础-jdk安装初始配置,IDEA安装初始配置,配置maven
jdk环境变量配置我电脑右键属性会返回原创 2020-04-09 00:25:53 · 101 阅读 · 0 评论 -
java-字符输入流FileReader输出流FileWriter,properties集合,缓冲流
字符输入流Reader抽象类的实现类InputStreamReader的子类FileReader读取单个的字符import java.io.FileReader;import java.io.IOException;public class t1 { public static void main(String[] args) throws IOException { ...原创 2020-04-08 23:43:04 · 281 阅读 · 0 评论 -
java-递归,FileFilter过滤器,字节流,字符流
递归方法自己调用自己递归累加求和:计算1~n的和开头和末尾也就是最大值和最小值他是固定不变的.真正变化的也就递归内容,就是中间部分,也就是我们写代码的部分**.最大值我们固定,让程序递归到最小值返回结束**中间部分无外乎两种情况:1递增(n+1)+(n+2)+(n+3)… 规律就是n每一次都多减1 =>return sum(n+1)2递减(n-1)+(n-2)+(n-3...原创 2020-04-07 07:58:56 · 226 阅读 · 0 评论 -
java-线程池,Lambda表达式,File类
线程池使用场景:当并发的数量很多,并且每一个线程都是执行一个很短的任务就结束了.这样子频繁创建线程就会大大降低系统的效率,因为频繁创建和销毁都需要时间.这时我们就需要线程池了,线程池可以使得一个线程复用线程池代码实现线程池的使用步骤创建Runnable接口的实现类RunnableImplpublic class RunnableImpl implements Runnable {...原创 2020-04-03 22:21:11 · 199 阅读 · 0 评论 -
java-线程安全问题,线程实现线程同步,线程状态,等待唤醒机制,生产者消费者模型
线程安全问题是不能产生的,我们可以让一个线程在访问共享数据的时候,无论是否失去了cpu的执行权,让其他的线程只能等待,等待当前线程执行完,其他线程在执行保证始终是一个线程在执行解决线程安全问题手段:线程同步实现同步操作步骤1.同步代码块2.同步方法3.锁机制...原创 2020-04-02 20:44:36 · 107 阅读 · 0 评论 -
java-多线程,Thread类,Runnable接口,匿名内部类实现线程创建
多线程并发:指多个事件在同一时间段内发生并行:是指多个时间在同一时刻方法线程的调度创建线程类使用场景:我们要是想要实现多线程程序,就必须创建一个继承Thread类的子类实现步骤:1.创建一个Thread类的子类2.在Thread类的子类中重写Thread类中的run方法,设置线程任务(开启线程后要做什么)3.创建Thread类的子类对象4.调用Tread类中的方法star...原创 2020-04-01 19:15:57 · 495 阅读 · 0 评论 -
java-异常
Debug调试程序f8:逐行执行程序f7:进入到方法中shift+f8:跳出方法f9:跳到下一个断点,那么就结束程序ctrl+f2:退出debug模式,停止程序Console:切换到控制台异常概念异常值得并不是语法错误,语法错误编译根本就不会通过,更不可能运行异常分类Exception:编译期异常,进行编译java程序出现的问题RuntimeException:运行期异常,j...原创 2020-03-31 23:24:14 · 84 阅读 · 0 评论 -
java-Collections集合工具类方法,map接口及其实现类,of
Collections常用方法多元素一齐添加和打乱顺序import java.util.ArrayList;import java.util.Collections;public class t1 { public static void main(String[] args) { ArrayList<String> list = new Arra...原创 2020-03-31 15:13:22 · 374 阅读 · 0 评论 -
java-数据结构,List接口及其子类,set接口及其子接口,哈希表,可变参数
数据结构_栈数据结构_队列数据结构_数组查询块:因为通过地址值查找内容增删慢:因为增删操作会频繁的创建新的数组数据结构_链表数据结构_红黑树List接口Collection接口子接口List接口List接口的特点:1.有序的集合,存储元素和取出元素的顺序是一致的(存储123 取出123)2.有索引,包含了一些带索引的方法3.允许存储重复的元素List接口带索引...原创 2020-03-29 19:35:36 · 158 阅读 · 0 评论 -
java-集合框架,Collection集合,Iterator接口,迭代器,增强for,泛型,斗地主案例分析
集合框架介绍Collection集合常用功能Collection接口:所有单列集合的最顶层的接口,里面定义了所有单列集合共性的方法,任意的的单列集合都可以使用Collection接口中的方法共性方法import java.util.ArrayList;import java.util.Collection;public class t1 { public static v...原创 2020-03-25 00:39:26 · 142 阅读 · 0 评论 -
java-Data类,DataFrmat类和SimpleDateFormat类的format方法和parse方法Calendar类Systrm类,包装类
毫秒值的概念和作用毫秒:千分之一秒 1000毫秒=1秒特定瞬间:一个时间点毫秒值的作用:可以对时间和日期进行计算使用场景例如:计算2099-01-03到2088-01-01中间一共有多少天解决方案:可以将日期转换为毫秒值进行计算,计算完毕,在把毫秒值转换为日期把日期转换为毫秒 当前日期:2088-01-01 时间原点:1970年1月1日00:00:00(英国格林威治时间) 计...原创 2020-03-23 22:39:53 · 412 阅读 · 0 评论 -
java-Object类的equals方法以及Objects类的equals方
Object类的equals方法boolean equals(Object obj)指示其他某个对象是否与此对象"相等"//equals方法源码public boolean equals(Object obj) { return (this == obj); }源码参数解析Object obj:可以传递任意的对象==比较运算符,返回的是一个布尔值 true false基...原创 2020-03-23 10:32:21 · 561 阅读 · 1 评论 -
java-Scanner,Random,ArrayList集合
java小白必点文章原创 2020-03-13 19:51:01 · 556 阅读 · 0 评论 -
java - 面向对象详细解析-内存运行画图演示
java小白必点文章原创 2020-03-12 22:21:32 · 585 阅读 · 0 评论 -
java-java内存划分,数组内存图,数组常见异常,常用数组操作方式
如果你是一枚小白,此篇文章请不要错过,因为讲的很细,很全原创 2020-03-11 16:57:31 · 148 阅读 · 0 评论 -
裂墙推荐-java详解-数组
创建数组数组:是一种容器.可以同时存放多个数据值数组的特点:1.数组是一种引用数据类型2.数组当中的多个数据,类型必须统一3.数组的长度在程序运行期间不可改变数组的初始化:在内存当中创建一个数组,并且向其中赋予一些默认值两种常见的初始化方式:1.动态初始化(指定长度)2.静态初始化(指定内容)动态初始化数组格式:数据类型[] 数组名称 = new 数据类型[数组长度];解析...原创 2020-03-10 14:02:12 · 230 阅读 · 0 评论 -
java-方法,方法重载
方法其实就是若干语句的功能集合.方法好比是一个工厂.蒙牛工厂 原料:牛奶,饲料,水产出物:奶制品钢铁工厂 原料:铁矿石,煤炭产出物:钢铁建材参数(原料):就是进入方法的数据.返回值(产出物):就是从方法中出来的数据定义方法的完整格式:修饰符 返回值类型 方法名称(参数类型 参数名称,…){方法体return 返回值;}修饰符:现阶段的固定写法,public s...原创 2020-03-08 23:25:49 · 91 阅读 · 0 评论 -
java-final关键字,内部类
final关键字概念与四种用法final关键字的概念final关键字代表最终的,不可改变的常见四种用法:1.可以用来修饰一个类2.可以用来修饰一个方法3.还可以用来修饰一个局部变量4.还可以用来修饰一个成员变量final关键字用于修饰类当final关键字用来修饰一个类的时候,格式:public final class 类名称{// …}含义:当前这个类不能有任何子类(太...原创 2020-03-21 01:28:29 · 342 阅读 · 0 评论 -
java-接口的使用,多态的使用,instanceof关键字,笔记本usb接口案例
接口概述与生活举例接口到底说的是什么意思?接口就是一种公共的规范标准只要符合规范标准,就可以大家通用生活中的接口接口的定义基本格式接口就是多个类的公共规范接口是一种引用数据类型,最重要的内容就是其中的:抽象方法如何定义一个接口格式:public interface 接口名称{//接口内容}备注:换成了interface之后,编译生成的字节码文件仍然是:.java --&...原创 2020-03-20 00:54:03 · 644 阅读 · 0 评论 -
java-继承,super关键字,this关键字,抽象方法和抽象类,红包案例分析实现
继承的概述继承主要解决的问题就是:共性抽取继承关系当中的特点:子类可以拥有父类的"内容"子类还可以拥有自己专有的内容继承的格式在继承的关系中,子类就是一个父类.例如:父类是员工,子类是讲师,那么讲师就是一个员工定义父类的格式public class 父类名称{//…}定义子类的格式public class 子类名称 extends 父类名称{// …}创建一...原创 2020-03-17 21:59:20 · 1036 阅读 · 0 评论 -
java-字符串-字符串常量池,字符串相关方法,分割方法,静态关键字static,静态代码块,常用工具类:Arrays,Math
字符串概述和特点程序当中所有的双引号字符串,都是String类的对象字符串的特点:1.字符串的内容永不可变2.正是因为字符串不可改变,所有字符串是可以共享使用的3.字符串效果上相当于是char[ ]字符数组,但是底层原理是byte[ ]字节数组创建字符串的常见3+1种方式三种构造方法:public String(): 创建一个空白字符串,不含有任何内容public String(...原创 2020-03-17 00:45:53 · 408 阅读 · 0 评论