Java基础
JUN_LLLL
这个作者很懒,什么都没留下…
展开
-
IDEA、Android Studio 快捷键
1、Ctrl+P,可以显示参数信息 Params2、Alt+Insert可以生成构造器/Getter/Setter等(需要选中类名)3、Ctrl + O 重写方法 Override4、Ctrl+F7 可以查询当前元素在当前文件中的引用,然后按F3可以选择5、Ctrl+ Q 即可 (q是quick查询的意思)查看方法注释6、\** Enter方法参数注释7、Alt + E...原创 2019-06-30 16:38:03 · 180 阅读 · 0 评论 -
java 随机生成6位邀请码、不重复
需求: 6位邀请码,字母数字混合,数字最多不超过四位。 public static String getCode() { String code = generateCode(); User user = userDao.selectByCode(code); if(user != null){ return getCode(); }else{ return code ; } } public stat原创 2021-04-21 14:02:54 · 3795 阅读 · 0 评论 -
Java基础(三) equals和== 区别
1、区别== : 它的作用是判断两个对象的地址是不是相等。即,判断两个对象是不是同一个对象(基本数据类型 == 比较的值,引用数据类型 == 比较的是内存地址)。equals() : 它的作用也是判断两个对象是否相等。但它一般有两种使用情况:(1)类没有覆盖 equals() 方法。则通过 equals() 比较该类的两个对象时,等价于通过“==”比较这两个对象。(2)类覆盖了 equals() 方法。一般,我们都覆盖 equals() 方法来比较两个对象的内容是否相等;若它们的内容相等,原创 2020-08-24 16:45:47 · 208 阅读 · 0 评论 -
JavaWeb基础知识
1、对象地址当一个对象作为参数,传递到方法当中时,实际上传递进去的时对象的地址值。数组作为方法参数传递,传递的参数是数组内存的地址值2、抛出异常try、catch可以抛出异常(signture不行)throw关键字,指定的方法中抛出指定的异常,(RuntimeException的子类对象,默认交给JVM处理(打印异常对象,中断程序))当只有在try或者catch中调用退出JV...原创 2020-04-23 21:53:43 · 203 阅读 · 0 评论 -
mybatis- plus 代码生成器
详细配置和教程可以参考官方教程public class CodeGenerator { private static String url ="jdbc:mysql://localhost:3306/demo?&serverTimezone = GMT"; private static String username = "root"; private st...原创 2020-03-24 15:08:14 · 233 阅读 · 0 评论 -
FastDFS部署流程
一、单机部署1、FastDFS 安装1.1 环境/依赖安装**(1)**由于 FastDFS 采用 C 语言开发,需要先安装 gcc 环境,yum install gcc-c++**(2)**安装 FastDFS 依赖 libevent 库:yum -y install libevent**(3)**安装 FastDFS 依赖 libfastcommon 库,其中包含了 Fast...原创 2020-03-23 14:41:45 · 857 阅读 · 0 评论 -
Java 两种下载到本地方法
一、获得InputStream数据 InputStream input = obsObject.getObjectContent(); FileOutputStream fileOut = new FileOutputStream(new File("localPath/fileName")); byte[] b = new byte[1024]; while ((input.re...原创 2020-03-23 14:34:01 · 788 阅读 · 0 评论 -
This License XXX has been cancelled
一、问题二、分析主要原因应该是未屏蔽官网端口。三、解决修改host文件,路径:C:\Windows\System32\drivers\etc添加内容 0.0.0.0 account.jetbrains.com原创 2020-02-19 12:31:52 · 8481 阅读 · 3 评论 -
Java ThreadLocal使用
一、概述ThreadLocal提供了线程的局部变量,每个线程都可以通过set()和get()来对这个局部变量进行操作,但不会和其他线程的局部变量进行冲突,实现了线程的数据隔离。通常情况下,我们创建的变量是可以被任何一个线程访问并修改的,而使用ThreadLocal创建的变量只能被当前线程访问,其他线程则无法访问和修改。二、使用示例简单的线程使用:private void testThrea...原创 2019-11-15 14:24:53 · 258 阅读 · 0 评论 -
Java Lambda表达式
一、概述Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性;Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中);能够使用Lambda的依据是必须有相应的函数接口(函数接口,是指内部只有一个抽象方法的接口)。// 1. 不需要参数,返回值为 5 () -> 5 // 2. 接收一个参数(数字类型),返回其2倍的值 x...原创 2019-11-04 17:21:51 · 107 阅读 · 0 评论 -
Java 对象的浅拷贝和深拷贝
一、概述对象拷贝(Object Copy)就是将一个对象的属性拷贝到另一个有着相同类类型的对象中去。在程序中拷贝对象是很常见的,主要是为了在新的上下文环境中复用对象的部分或全部数据。Java中有三种类型的对象拷贝:浅拷贝(Shallow Copy)、深拷贝(Deep Copy)。:浅拷贝: 浅拷贝是按位拷贝对象,它会创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。如果属性是基本类...原创 2019-11-04 15:56:05 · 521 阅读 · 0 评论 -
Java 对象的浅拷贝和深拷贝
https://my.oschina.net/jackieyeah/blog/206391https://blog.csdn.net/u014727260/article/details/55003402https://segmentfault.com/a/1190000010648514原创 2020-03-02 15:39:51 · 259 阅读 · 0 评论 -
Java 注解 (Annotation)
一、概述Java 注解用于为 Java 代码提供元数据。作为元数据,注解不直接影响你的代码执行,但也有一些类型的注解实际上可以用于这一目的。注解相当于一种标记,在程序中加了注解就等于为程序打上了某种标记,没加,则等于没有某种标记,以后,javac编译器,开发工具和其他程序可以用反射来了解你的类及各种元素上有无何种标记,看你有什么标记,就去干相应的事。标记可以加在包,类,字段,方法,方法的参...原创 2019-11-04 15:51:33 · 278 阅读 · 1 评论 -
Java 序列化
1、概述Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。将序列化对象写入文件之后,可以从文件中读取出来,并且对它进行反序列化,也就是说,对象的类型信息、对象的数据,还有对象中的数据类型可以用来在内存中新建对象。整个过程都是 Java 虚拟机(JVM)独立的,也就是说,在一个平台上序列化...原创 2019-11-01 11:30:38 · 157 阅读 · 0 评论 -
Java 集合工具类(Collections/Arrays)
一、 Collections1、概述针对集合操作 的工具类,里面的方法都是静态的,可以对集合进行排序、二分查找、反转、混排等。2、Collection和Collections的区别Collection:是单列集合的顶层接口,有子接口List和Set。Collections:是针对集合操作的工具类,有对集合进行排序和二分查找等方法3、Collections常用方法 * 常用的方法 * ...原创 2019-10-30 14:22:46 · 285 阅读 · 0 评论 -
Java 多个线程之间共享数据
概述多个线程之间共享数据,按照每个线程执行代码是否相同,我们可以采取不同的处理方式,这里通过简单的卖票示例说明了当每个线程执行相同代码的情况,对于多个线程执行不同代码的情况,处理方式比较灵活,这里主要介绍了2种方式,通过2种方式的对比和归纳,我们可以总结出在多个线程执行不同的代码情况下,如何进行代码的设计二、 如果每个线程执行的代码相同可以使用同一个Runnable对象,这个Runnable...原创 2019-10-29 14:19:28 · 1946 阅读 · 0 评论 -
Java 匿名类
1、匿名类 匿名类,就是没有名称的类,其名称由Java编译器给出,一般是形如:外部类名称+$+匿名类顺序,没有名称也就是其他地方就不能引用,不能实例化,只用一次,当然也就不能有构造器。 匿名类根据位于地方不同分为:成员匿名类和局部匿名类。 匿名类不能使用任何关键字和访问控制符,匿名类和局部类访问规则一样,只不过内部类显式的定义了一个类,然后通过new的方式创建这个局部类实例,而匿名类...原创 2019-08-09 10:47:39 · 1286 阅读 · 0 评论 -
Java 接口实例化
1、接口不能直接实例化对象一开始学习接口就知道它与类的区别:接口不能用于实例化对象。但是可以在 Java 中,使用接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。public interface TestInterface{}TestInterface testInterface = new TestInterface();//这种肯定是不允许的...原创 2019-08-09 10:14:46 · 21783 阅读 · 6 评论 -
Java HTTP
一、HTTP简介 HTTP(Hyper Text Transfer Protocol,超文本传输协议)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。它是一个应用层协议,承载于TCP之上。由请求和响应构成,是一个标准的客户端服务器模型。URL(Uniform Resource Locator)中文名为统一资源定位符,有时也被俗称为网页地址。表示为...原创 2019-08-05 15:35:20 · 240 阅读 · 0 评论 -
Java TCP/IP Socket 编程
一、SocketSocket,又称为套接字,Socket是计算机网络通信的基本的技术之一。如今大多数基于网络的软件,如浏览器,即时通讯工具甚至是P2P下载都是基于Socket实现的 协议相当于相互通信的程序间达成的一种约定,它规定了分组报文的结构、交换方式、包含的意义以及怎样对报文所包含的信息进行解析。 TCP/IP 协议族有 IP 协议、TCP 协议和 UDP 协议。 ...原创 2019-08-05 11:35:08 · 1978 阅读 · 1 评论 -
Java基础(二十八) 反射
一、反射概述反射 (Reflection) 是 Java 的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性。通过反射,我们可以在运行时获得程序或程序集中每一个类型的成员和成员的信息。程序中一般的对象的类型都是在编译期就确定下来的,而 Java 反射机制可以动态地创建对象并调用其属性,这样的对象的类型在编译期是未知的。所以我们可以通过反射机制直接创建对...原创 2019-08-02 15:28:24 · 199 阅读 · 0 评论 -
Java基础(二十七) IO流
一、IO流概述一个流可以理解为一个数据的序列。输入流表示从一个源读取数据,输出流表示向一个目标写数据。流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标;二、分类1.根据处...原创 2019-08-02 11:29:52 · 242 阅读 · 0 评论 -
Java基础(二十六) 线程同步中synchronized用法
目录一、synchronized概述二、修饰一个代码块1、多个线程访问 同一对象 的同步代码块2、 多个线程访问 不同对象 的同步代码块3、 多个线程访问synchronized和非synchronized代码块4、指定要给某个对象加锁三、 synchronized修饰一个方法四、修饰一个静态的方法五、修饰一个类六、总结一、synchronized概述...原创 2019-08-02 11:02:17 · 390 阅读 · 0 评论 -
Java基础(二十六) 多线程
目录一、多线程概述二、线程生命周期三、线程的优先级四、创建一个线程1、通过实现 Runnable 接口来创建线程2、通过继承Thread来创建线程3、Thread和Runnable的区别五、线程的挂起和恢复1、sleep2、join3、wait与notify4、yield5、interrupt六、线程同步(synchronized)七、数...原创 2019-08-01 11:33:49 · 162 阅读 · 0 评论 -
Java基础(二十五) 泛型
目录一、泛型概述二、泛型类三、泛型方法四、泛型接口五、类型通配符六、限定符七、泛型通配符T,E,K,V区别八、初始化,实例化问题一、泛型概述泛型,即“参数化类型”。就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。泛型的本质是为了参数化类型(在不创建新...原创 2019-07-31 14:12:04 · 309 阅读 · 0 评论 -
Java基础(二十四) Map源码分析
推荐阅读:Java提高篇(二三)—–HashMapJava提高篇(二五)—–HashTableJava提高篇(二七)—–TreeMap1、HashMapHashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在。在HashMap中,key-value总是会当做一个整体来处理,系统会根据hash算法来来计算key-...原创 2019-07-31 11:13:49 · 116 阅读 · 0 评论 -
Java基础(二十三) Set源码分析
推荐阅读:java提高篇(二四)—–HashSetJava提高篇(二八)—–TreeSet一、概述Set是一种不包含重复的元素的Collection,即任意的两个元素e1和e2都有e1.equals(e2)=false,Set最多有一个null元素。 所以Set的构造函数有一个约束条件,传入的Collection参数不能包含重复的元素。 Set具有与Collection完全一样的接口,没有...原创 2019-10-30 10:53:44 · 159 阅读 · 0 评论 -
Java基础(二十二) List源码分析
推荐阅读:Java提高篇(二一)—–ArrayListJava提高篇(二二)—–LinkedListJava提高篇(二九)—–VectorJava提高篇(三一)—–Stack 在Collection中,List接口的集合是有序的,Developer可对其中每个元素的插入位置进行精确地控制,可以通过索引来访问元素,遍历元素。但是List接口是不能用来创建new对象,通过其子...原创 2019-07-31 10:23:15 · 138 阅读 · 0 评论 -
Java基础(二十一) 集合容器
一、集合容器1、概述 在程序中可以通过数组来保存多个对象,但在某些情况下开发人员无法预先确定需要保存对象的个数,此时数组将不再适用,因为数组的长度不可变。Java容器类库定义了两个不同概念的集合容器,Collection和Map 1)Collection:一个独立元素的序列,这些元素都服从一条或者多条规则。List必须按照插入的顺序保存元素,而set不能有重复的元素。Que...原创 2019-07-30 14:05:40 · 150 阅读 · 0 评论 -
Java基础(二十) 异常处理
一、异常处理异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的:检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。 运行时异常:运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。 错误:错误不是异常,而是脱离程...原创 2019-07-30 11:07:34 · 132 阅读 · 0 评论 -
Java基础(十九) String
一、String 字符串属于对象,Java 提供了 String 类来创建和操作字符串。1、创建字符串//1String name= "Jeffrey";//2String name= new String("Jeffrey");//3char[] nameChar= { 'J', 'e', 'f', 'f', 'r', 'e', 'y'};String name= n...原创 2019-07-30 10:34:02 · 176 阅读 · 0 评论 -
Java基础(十八) 数组
一、数组含义数组是用来存储固定大小的同类型元素,数组变量是引用类型,可以看作对象,每一个元素看成对象的成员变量。1、声明数组变量dataType[] arrayRefVar; // 首选的方法dataType arrayRefVar[]; // 效果相同,但不是首选方法2、创建数组arrayRefVar = new dataType[arraySize];//使用new...原创 2019-07-30 10:07:51 · 157 阅读 · 0 评论 -
Java基础(十七) 内部类
目录一、内部类的定义1.成员内部类2.局部内部类3.匿名内部类4.静态内部类二、内部类的使用场景和作用一、内部类的定义 在 Java 中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。1.成员内部类成员内部类是最普通的内部类,它的定义为位于另一个类的...原创 2019-07-29 16:08:29 · 153 阅读 · 0 评论 -
Java基础(十六) 回调函数
1、回调(Callback)回调 是一种常见的程序设计模式。 在这种模式中 , 可以指出某个特定事件发生时应该采取的动作。举个例子就是,我们想要问别人一道题,我们把题跟对方说了一下,对方说好,等我做完这道题,我就告诉你,这个时候就用到了回调,因为我们并不知道对方什么时候会做完,而是对方做完了来主动找我们。2、使用接口示例1、使用java . awt .event 包的 ActionLi...原创 2019-07-29 10:38:11 · 167 阅读 · 0 评论 -
Java基础(十五) 抽象类 接口类
1、抽象类 抽象类 :包含抽象方法的类,必须设计成抽象类! 抽象方法特点:只声明了方法,同时使用了abstract修饰,没有方法体!必须要子类来重写 抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。 由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要设计抽象...原创 2019-07-26 14:56:12 · 122 阅读 · 0 评论 -
Java基础(十四) 多态
1、多态的含义 多态就是指父类的某个方法被子类重写时,可以各自产生自己的功能行为。(同一个行为具有多个不同表现形式或形态的能力)同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。就是父类引用可以持有子类对象。即编译时看父类,运行时看子类。//这就是多态父类A a = new 父类的子类B();a.方法();2、对象的转型(C++类型兼容规则)子类的对象...原创 2019-07-26 14:36:31 · 275 阅读 · 0 评论 -
Java基础(十三) 封装
1、封装含义封装:需要让用户知道的暴露出来,不需要让用户了解的全部隐藏起来。(种将抽象性函式接口的实现细节部份包装、隐藏起来的方法)。 白话:该露的露,该藏的藏 专业:我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用. 2、访问修饰符Java有四种访问权限,其中三种有访问权限修饰符,分别为p...原创 2019-07-26 14:23:10 · 101 阅读 · 0 评论 -
Java基础(十二) 继承
1、继承的概念继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。实现通过extends关键字:【注:JAVA中类只有单继承没有多继承!接口可以多继承!】public class Animal {public void run(){ System.out.println("跑跑!");}pub...原创 2019-07-26 14:14:30 · 100 阅读 · 0 评论 -
Java基础(十一) this static 关键字
目录1、this2、static2.1、static 变量2.2、static 方法2.3、static 代码块2.4、 static修饰类1、thisthis 是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。this 的用法在 Java 中大体可以分为3种:调用本类中的属性,也就是类中的成员变量或者方法; 普通的直接引用这...原创 2019-07-26 10:30:32 · 109 阅读 · 0 评论 -
Java基础(十) 垃圾回收机制(GC)
目录 1、垃圾回收机制的意义 2、垃圾回收机制 3、GC何时执行 4、图解Java 垃圾回收机制1、垃圾回收机制的意义 Java语言中一个显著的特点就是引入了垃圾回收机制,它使得Java程序员在编写程序的时候不再需要考虑内存管理。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存。(内存泄露是...原创 2019-07-26 09:52:07 · 216 阅读 · 0 评论