![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
遇到问题研究
OveRrIde丶
从入门到删库跑路✔
展开
-
【Java】Stream流
Java 8中stream相关用法在Java中,集合和数组是我们经常会用到的数据结构,需要经常对他们做增、删、改、查、聚合、统计、过滤等操作。相比之下,关系型数据库中也同样有这些操作,但是在Java 8之前,集合和数组的处理并不是很便捷。不过,这一问题在Java 8中得到了改善,Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。本文就来介绍下如何使用Stream。特别说明一下,关于Stream的性能及原理不是本文的重点,如果大家感兴趣后面会出文章单独介绍。St原创 2020-11-09 11:23:27 · 153 阅读 · 0 评论 -
【Java】关于this和super
super和this都只能位于构造器的第一行,而且不能同时使用,这是因为会造成初始化两次this用于调用重载的构造器super用于调用父类被子类重写的方法1、super()表示调用父类构造函数、this()调用自己的构造函数,而自己的构造函数第一行要使用super()调用父类的构造函数,所以这俩不能在一个构造函数中会出现重复引用的情况2、super()和this()必须在构造函数第一行,所...原创 2020-04-01 11:41:36 · 138 阅读 · 0 评论 -
【Java】变量默认值-取值范围
原创 2020-03-31 18:12:03 · 328 阅读 · 0 评论 -
【Java】关于List泛型
只看尖括号里边的!!明确点和范围两个概念如果尖括号里的是一个类,那么尖括号里的就是一个点,比如List,List,List如果尖括号里面带有问号,那么代表一个范围,<? extends A> 代表小于等于A的范围,<? super A>代表大于等于A的范围,<?>代表全部范围尖括号里的所有点之间互相赋值都是错,除非是俩相同的点尖括号小范围赋值给大范围...原创 2020-03-30 21:09:08 · 273 阅读 · 0 评论 -
【Java】线程安全(Thread-safe)的集合对象以及类
线程安全(Thread-safe)的集合对象Vector 线程安全:HashTable 线程安全:StringBuffer 线程安全:非线程安全的集合对象ArrayList :LinkedList:HashMap:HashSet:TreeMap:TreeSet:StringBulider:...原创 2020-03-30 20:30:44 · 279 阅读 · 0 评论 -
【Java】并发编程的同步器
最常用的同步器是CountDownLatch和Semaphore,不常用的是Barrier 和Exchanger原创 2020-03-29 18:56:26 · 154 阅读 · 0 评论 -
【Java】四种引用类型
四种引用类型JDK1.2 之前,一个对象只有“已被引用”和"未被引用"两种状态,这将无法描述某些特殊情况下的对象,比如,当内存充足时需要保留,而内存紧张时才需要被抛弃的一类对象。所以在 JDK.1.2 之后,Java 对引用的概念进行了扩充,将引用分为了:强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)、虚引用(Phan...原创 2020-03-29 18:43:44 · 59 阅读 · 0 评论 -
【Java】String,StringBuffer与StringBuilder
一、结构二、区别三、String 类Java 提供了 String 类来创建和操作字符串。需要注意的是,String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,这样不仅效率低下,而且大量浪费有限的内存空间。四、 StringBuffer 和 StringBuilder 类StringBuffer 和 StringBuilder 类的对象能够被多...原创 2020-03-27 13:31:23 · 60 阅读 · 0 评论 -
【Java】Class-类-知识点
一、外部类、内部类、局部内部类1.类指外部类,最大的类,修饰符有public(表示该类在项目所有类中可以被导入),default(该类只能在同一个package中使用),abstract,final2.内部类指位于类内部但不包括位于块、构造器、方法内,且有名称的类,修饰符有public,private,protected访问控制符,也可以用static,final关键字修饰,public和pr...原创 2020-03-25 17:31:21 · 305 阅读 · 0 评论 -
【Java】JVM-知识点
JVM类加载器详细点我JVM图用new创建的对象在堆函数中的临时变量在栈区java中的字符串在字符串常量区一、类初始化Java程序初始化顺序:父类的静态代码块子类的静态代码块父类的普通代码块父类的构造方法子类的普通代码块子类的构造方法二、类加载机制三、JVM的内存JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method)栈...原创 2020-03-25 15:12:34 · 160 阅读 · 0 评论 -
【Java】多线程-知识点总结
- 创建线程方式- 关于start、Run线程区别- sleep() 、wait()原创 2020-03-25 14:52:27 · 80 阅读 · 0 评论 -
【Java】数据类型与变量
一、原始类型二、包装类三、操作运算符&与操作;|或操作;!非操作;~取反操作;四、值方法中定义的变量一定要初始化,类中定义的变量可不用初始化,会有默认值在Java里,只有值传递,因为引用本身就是一个地址值,我们说的”传递引用“本质上也是“值传递”,只不过传递的是地址值。...原创 2020-03-25 17:16:38 · 90 阅读 · 0 评论 -
【Java】异常捕获-try-catch-finally
一、形式try的形式有三种:try-catchtry-finallytry-catch-finally但catch和finally语句不能同时省略!二、捕获try:可能发生异常的语句catch:捕获,并处理异常(printStackTrace()用来跟踪异常事件发生时执行堆栈的内容)throw:方法内部抛异常throws:声明方法异常finaly:代码中无论是否有异常都会执行...原创 2020-03-25 17:10:43 · 240 阅读 · 0 评论 -
【Java】修饰符/控制符-知识点
一、抽象与接口修饰符抽象类中的抽象方法(其前有abstract修饰)不能用private、static、synchronized、native访问修饰符修饰。接口是一种特殊的抽象类,接口中的方法全部是抽象方法(但其前的abstract可以省略),所以抽象类中的抽象方法不能用的访问修饰符这里也不能用。而且protected访问修饰符也不能使用,因为接口可以让所有的类去实现(非继承),不只是其子...原创 2020-03-24 11:43:54 · 148 阅读 · 0 评论 -
【Java】抽象类与接口
抽象类特点:1.抽象类中可以构造方法2.抽象类中可以存在普通属性,方法,静态属性和方法。3.抽象类中可以存在抽象方法。4.如果一个类中有一个抽象方法,那么当前类一定是抽象类;抽象类中不一定有抽象方法。5.抽象类中的抽象方法,需要有子类实现,如果子类不实现,则子类也需要定义为抽象的。接口1.在接口中只有方法的声明,没有方法体。2.在接口中只有常量,因为定义的变量,在编译的时候都会默...原创 2020-03-24 11:41:18 · 65 阅读 · 0 评论 -
【Java】方法重载与重写
方法重写参数列表必须完全与被重写方法的相同;返回类型必须完全与被重写方法的返回类型相同;访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类的一个方法被声明为public,那么在子类中重写该方法就不能声明为protected。父类的成员方法只能被它的子类重写。声明为final的方法不能被重写。声明为static的方法不能被重写,但是能够被再次声明。子类和父类在同一个包中,...原创 2020-03-24 11:39:34 · 154 阅读 · 0 评论 -
【java】二分法查找
/** * 二分法查找 * @author AnQi * @date 2020/3/15 20 10:04 * @description */public class demo02 { public static void main(String[] args) { int[] arr = {30, 20, 50, 10, 80, 9, 7, 12, 100,...原创 2020-03-16 08:49:43 · 106 阅读 · 0 评论 -
【java】冒泡排序以及优化
俩俩比较 前大于后 交换 如此反复 直到结束/** * 冒泡排序 * @author AnQi * @date 2020/3/15 20 10:04 * @description */public class demo01 { public static void main(String[] args) { int[] values = {3,1,6,2,9...原创 2020-03-15 20:32:41 · 103 阅读 · 0 评论 -
eclipse 配置Tomcat start错误办法
刚刚试验出来,在Eclipse的Run -> Run Configurations的界面里 有一个设置参数里Arguments页面里的VM arguments的参数里面把最后的有-Djava.endorsed.dirs="D:\java\tomcat\apache-tomcat-9.0.10\endorsed"的参数删除,然后点击Apply,...原创 2020-01-22 13:18:22 · 124 阅读 · 0 评论 -
【Java多线程】01-创建线程的三种方式
继承Thread类创建线程类1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务,因此把run()方法称为执行体。(2)创建Thread子类的实例,即创建了线程对象。(3)调用线程对象的start()方法来启动该线程。/** * 1、继承Thread+重写Run* @author AnQi* @createDate 2020年1月14日...原创 2020-03-07 11:04:09 · 123 阅读 · 0 评论 -
【Java多线程】02-终止线程、sleep、yield、join
1、终止线程使用标识终止线程/** * 终止线程 * 1、线程正常完毕 * 2、 * @author AnQi * @date 2020/3/6 21 59:42 * @description */public class TerminateThread implements Runnable { //1、加入表示标记线程体是否可以运行 private bool...原创 2020-03-07 11:11:43 · 170 阅读 · 0 评论 -
【Java多线程】03-线程优先级、守护线程
1、线程的优先级 1-10public class PriorityTest { public static void main(String[] args) { System.out.println(Thread.currentThread().getPriority()); MyPriority mp = new MyPriority(); ...原创 2020-03-07 11:14:36 · 163 阅读 · 0 评论 -
【Java多线程】04-state、以及方法
1、AllState查看线程当前的状态 分为 new->runnable->timed waiting->TERMINATED/** * @author AnQi * @date 2020/3/7 10 00:17 * @description */public class AllState { public static void main(Str...原创 2020-03-07 11:18:01 · 163 阅读 · 0 评论 -
【Java IO】IO流 之 节点流与处理流
1. 流的分类按数据流的方向不同:输入流,输出流。按处理数据单位不同:字节流,字符流。(1) 字节流:数据流中最小的数据单元是字节。(2)字符流:数据流中最小的数据单元是字符,Java中的字符是Unicode编码,一个字符占用两个字节。按功能不同:节点流,处理流。(1)程序用于直接操作目标设备所对应的类叫节点流。(2)程序通过一个间接流类去调用节点流类,以达到更加灵活方便地读...转载 2020-03-09 11:04:08 · 191 阅读 · 0 评论 -
【Java 集合】Collection以及Map集合框架
总共有两大接口:Collection 和Map ,一个元素集合,一个是键值对集合;其中List和Set接口继承了Collection接口,一个是有序元素集合,一个是无序元素集合;而ArrayList和LinkedList 实现了List接口,HashSet实现了Set接口,这几个都比较常用;HashMap 和HashTable实现了Map接口,并且HashTable是线程安全的,但是Hash...原创 2020-03-11 11:41:29 · 133 阅读 · 0 评论 -
【Java IO】IO流详解
一、字节流1、输入字节流:InputStream 所有输入字节流的基类。抽象类。FileInputStream 读取文件输入字节流。BufferedInputStream 缓冲输入字节流。该类内部其实就是维护了一个8kb字节数组而已。该类出现的目的是为了提高读读取文件数据的效率。2、输出字节流:OutputStream 所有输出字节流的基类。抽象类。FileOutputS...原创 2020-03-12 14:15:32 · 119 阅读 · 0 评论 -
【Java多线程】05-锁的使用
synchronizedsynchronized(this|object) {}/** * 线程安全: 在并发时保证数据的正确性,效率尽可能的高 * synchronized * 1、同步方法 * 2、同步块 * * @author AnQi * @date 2020/3/7 11 22:10 * @description */public class SynBlockTe...原创 2020-03-12 16:28:48 · 76 阅读 · 0 评论 -
【Java多线程】06-死锁
1、死锁案例死锁 过多的同步可能造成相互不释放资源从而相互等待 一般发生于同步中持有多个对象的锁/** * 死锁 过多的同步可能造成相互不释放资源 * 从而相互等待 一般发生于同步中持有多个对象的锁 * @author AnQi * @date 2020/3/12 16 30:56 * @description */public class DeadLock { p...原创 2020-03-12 16:49:00 · 68 阅读 · 0 评论 -
【Java多线程】07-并发-协作-管程法
生产者 -消费者- 缓冲区 -数据this.wait();//线程阻塞 生产者通知消费 解决阻塞this.notifyAll();//存在空间 唤醒对方/** * 协作模型:生产者消费者实现方式 1、管程法 * 借助缓冲区 * @author AnQi * @date 2020/3/12 17 04:35 * @description */public class CoTes...原创 2020-03-12 17:24:26 · 156 阅读 · 0 评论 -
【Java多线程】08-并发-协作-信号灯
协作模型:生产者消费者实现方式 2、信号灯借助标志位this.wait();//线程阻塞 生产者通知消费 解决阻塞this.notifyAll();//存在空间 唤醒对方/** * 协作模型:生产者消费者实现方式 2、信号灯 * 借助标志位 * @author AnQi * @date 2020/3/12 17 04:35 * @description */public ...原创 2020-03-12 17:38:19 · 155 阅读 · 0 评论 -
【Java 反射】基本用法
实体类/** * @author AnQi * @date 2020/3/12 19 37:33 * @description */public class User { private int id; private String name; private String pwd; public User() { } public ...原创 2020-03-12 21:35:57 · 59 阅读 · 0 评论