![](https://img-blog.csdnimg.cn/20200529223120239.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
Java相关
GM.Francis
创造机会,把握机会
展开
-
大数据高频面试题-手写代码
手写代码2.1 冒泡排序/** * 冒泡排序 时间复杂度 O(n^2) 空间复杂度O(1) */public class BubbleSort { public static void bubbleSort(int[] data) { System.out.println("开始排序"); int arrayLength = data.length; for (int i = 0; i < arrayLength - 1; i++) {.原创 2020-07-11 08:12:05 · 521 阅读 · 0 评论 -
大数据高频面试题-JavaSE(答案精简)
第10章 JavaSE(答案精简)10.1 hashMap底层源码,数据结构 10.2 Java自带有哪几种线程池? 10.3 HashMap和HashTable区别 10.4 TreeSet和HashSet区别 10.5 String buffer和String build区别 10.6 Final、Finally、Finalize 10.7 ==和Equals区别10.1 hashMap底层源码,数据结构hashMap的底层结构在jdk1.7中由数组+链表实现,在jdk...原创 2020-07-10 09:39:59 · 311 阅读 · 0 评论 -
大数据知识点梳理-Java多线程
6.2 Java多线程6.2.1进程和线程的区别是什么?进程是执行着的应用程序,而线程是进程内部的一一个执行序列。一个进程可以有多个线程。线程又叫做轻量级进程。6.2.2 *创建线程有几种不同的方式?你喜欢哪一种?为什么?有三种方式可以用来创建线程:➢继承 Thread类➢实现 Runnable接口➢应用程序可以使用Executor框架来创建线程池 实现Runnable接口这种方式更受欢迎,因为这不需要继承Thread类。在应用设计中已经继承了别的对象的情况下,这需要多...原创 2020-05-29 21:57:44 · 133 阅读 · 0 评论 -
大数据知识点梳理-Java基础
面试指导: 以下精选了一些大数据面试中常问的Java问题,大数据开发使用的语言最多的是Java,所以在面试中会被问到一些Java核心的问题,需要能够回答。 其中,Java基础是关于Java的一些基础问题,必须能够回答。多线程和JVM是大数据面试中常问的一些问题,需要能够回答出核心内容。6.1 Java基础6.1.1 hashMap底层源码,数据结构底层结构: jdk7: 数组+链表 jdk8: 数组+链表+红黑树HashMap中维护了Node类型的数组tabl...原创 2020-05-29 22:23:55 · 314 阅读 · 0 评论 -
大数据知识点梳理-Java之JVM
6.3JVM6.3.1请说明一下Java虚拟机的作用是什么? 解释运行字节码程序消除平台相关性。 jvm将Java字节码解释为具体平台的具体指令。--般的高级语言如要在不同的平台上运行,至少需要编译成不同的目标代码。而引入JVM后,Java语言在不同平台上运行时不需要重新编译。Java语言使用模式Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java 虚拟机上运行的目标代码(字节码),就可以在多种平台.上不加修改地运行。Java 虚拟机在执行...原创 2020-06-28 19:12:14 · 259 阅读 · 0 评论 -
Final关键字(面试题)
finally:被finally控制的语句体一定会执行注意:如果在执行到finally之前jvm退出了,就不能执行了。A:格式 try...catch...finally...B:用于释放资源,在IO流操作和数据库操作中会见到public class FinallyDemo { public static void main(String[] args) { St...原创 2019-10-26 14:34:42 · 342 阅读 · 0 评论 -
Java 集合框架--集合知识简单总结
1:集合 Collection(单列集合) List(有序,可重复) ArrayList 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 Vector 底层数据结构是数组,查询快,增删慢 线...原创 2019-10-26 10:14:08 · 167 阅读 · 0 评论 -
Java 集合框架--Map(代码块 / 面试题)
LinkedHashMap:是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序。键是红黑树结构,可以保证键的排序和唯一性LinkedHashMap的使用:/* * LinkedHashMap:是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序。 * 由哈希表保证键的唯一性 * 由链表保证键盘的有序(存储和取出的顺序一致) */public class Linked...原创 2019-10-25 13:43:09 · 201 阅读 · 0 评论 -
Java 集合框架--用户登录注册案例
需求:用户登录注册案例一、图示详细分析:二、用户注册案例分析:需求:用户登录注册案例。按照如下的操作,可以让我们更符号面向对象思想 A:有哪些类呢? B:每个类有哪些东西呢? C:类与类之间的关系是什么呢? 分析: A:有哪些类呢? 用户类 测试类 B:每个类有哪些东西呢? 用户...原创 2019-10-23 22:19:33 · 228 阅读 · 0 评论 -
Java 集合框架--可变参数 / 集合的嵌套遍历
一、可变参数可变参数:定义方法时不知道该定义多少参数如果我们在写方法的时候,参数个数不明确,就应该定义可变参数。格式: 修饰符 返回值类型 方法名(数据类型... 变量) {} 注意: A:该变量其实是一个数组名 B:如果一个方法有多个参数,并且有可变参数,可变参数必须在最后1、可变参数基本格式:/* * ...原创 2019-10-23 16:07:20 · 241 阅读 · 0 评论 -
增强for循环 / 迭代器Iterator
遍历集合的方法: 一、增强for循环概述:是for循环的一种格式: for(元素的数据类型 变量名 : 数组或者Collection集合的对象) { 使用该变量即可,该变量其实就是数组或者集合中的元素。 }好处:简化了数组和集合的遍历弊端:增强for循环的目标不能为null。建议在使用前,先判断是否为null。...原创 2019-10-23 14:58:40 · 340 阅读 · 0 评论 -
集合框架 :Collection和List(代码块)
存储字符串并遍历:public class CollectionDemo { public static void main(String[] args) { //创建集合对象 Collection c = new ArrayList(); //创建并添加元素 c.add("hello"); c.add("world"); c.add("java");...原创 2019-10-22 20:24:30 · 139 阅读 · 0 评论 -
SSM的配置文件
配置文件:web.xml<!--Spring配置文件的路径--><context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value>&...原创 2020-03-08 09:41:08 · 70 阅读 · 0 评论 -
url请求方式 - 传统 / Rest风格
url的两种请求方式方式一:传统样式风格:http://localhost:8080/user/login?userCode=admin&userPassword=123456方式二:Rest风格:http://localhost:8080/user/view/id/3相比传统风格请求易于解析,效率比较高 缺点:当请求参数中包含中文时,中文乱码比较繁琐,因此...原创 2020-03-06 22:07:30 · 575 阅读 · 0 评论 -
JSR303校验框架为java中校验Bean属性的框架,使用步骤
步骤一:添加JSR303校验框架的依赖,配置如下:<!--JSR303数据校验:java中校验Bean的框架,直接作用在Bean属性上--> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator&...原创 2020-03-06 22:01:33 · 98 阅读 · 0 评论 -
Java 多线程常见的面试题(题目+解答)
题目:1:多线程有几种实现方案,分别是哪几种?2:同步有几种方式,分别是什么?3:启动一个线程是run()还是start()?它们的区别?4:sleep()和wait()方法的区别5:为什么wait(),notify(),notifyAll()等方法都定义在Object类中6:线程的生命周期图题目+解答:1:多线程有几种实现方案,分别是哪几种? 两种。...原创 2019-11-06 20:10:22 · 75 阅读 · 0 评论 -
Log4j 日志级别
log4j提供了4种日志级别和2个日志开关。官方网址:http://logging.apache.org/log4j/1.2/4种日志级别: DEBUG:输出调试信息;指出细粒度信息事件对调试应用程序是非常有帮助的。 INFO:输出提示信息;消息在粗粒度级别上突出强调应用程序的运行过程。 WARN:输出警告信息;表明会出现潜在错误的情形。...原创 2020-04-20 21:44:11 · 360 阅读 · 0 评论 -
正则表达式
1、简介:2、语法:3、Java中的正则表达式:练习-使用Pattern定义正则表达式,Matcher接受@org.junit.Test public void testRegex() { Pattern p = Pattern.compile("h\\w*llo");//定义正则表达式 System....原创 2020-03-15 10:34:19 · 101 阅读 · 0 评论 -
反射-框架设计的基石
1、框架: 半成品软件,可以在框架的基础上进行软件开发,简化编码 2、反射: 将类的各个组成部分封装为其他对象,这就是反射机制 3、Java代码在计算机中经历的三个阶段:源代码阶段 ???? Class类对象阶段 ???? RunTime运行时阶段反射的好处:(1)可以在程序运行过程中,操作这些对象(2)可以解耦,提高程序的扩展性4、获取...原创 2020-03-12 17:39:52 · 99 阅读 · 0 评论 -
Java IO流-递归(方法定义中调用方法本身的现象)
递归1、递归的简单图解:2、递归求阶乘的内存图解:3、面试题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第二十个月的兔子对数为多少?解析:三种方法 A:数组实现 B:变量的变化实现 C:递归实现/* * 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三...原创 2019-10-27 15:35:17 · 258 阅读 · 0 评论 -
Java IO流--数据读写(字符/字节流/二进制文件)
IO流:IO用于在设备间进行数据传输的操作IO流的分类:注意:(1)如果我们没有明确说明按照什么分,默认按照数据类型分。(2)除非文件用windows自带的记事本打开我们能够读懂,才采用字符流,否则建议使用字节流。一、字节流字节输入流InputStream基类 字节输出流0utputStream基类1、字节输入流InputStream...原创 2019-10-27 21:04:26 · 1593 阅读 · 0 评论 -
Java IO特殊流(交换流 / 随机访问流 / 序列化与反序列化流 )
IO流中的特殊流: 交换流 随机访问流 序列化与反序列化流 1、转换流的应用:public class SystemOutDemo2 { public static void main(String[] args) throws IOException { // 获取标准输入流 BufferedWriter bw = new BufferedWriter(new O...原创 2019-10-30 12:09:08 · 162 阅读 · 0 评论 -
异常--IO异常--异常处理 / 自定义异常
异常异常的体系一: Throwable:表示Java中所有的异常和错误 |--Error 严重问题,我们不处理。 |--Exception |--RuntimeException 运行期异常,我们需要修正代码 |--非RuntimeException ...原创 2019-10-26 11:51:35 · 444 阅读 · 0 评论 -
字符串(String)
常用字符串方法1、字符串比较方法:length( :统计字符事的长度. equals():比较两个字符串内容是否完全一致,比较内容区分大小写.equals():被String重写,比较字符串是否指向同一个对象(存在字符串池中)String str1="bdqn";String str2="bdqn";System.out.println(str1==str2); //tr...原创 2019-12-02 11:43:14 · 91 阅读 · 0 评论 -
实用类:枚举(Enum)、包装类、装箱/拆箱、Math 、 Random类
实用类:枚举(Enum)、包装类、装箱拆箱、Math 、 Random类一、枚举概念:枚举是由一组固定的常量组成的类型通过enum定义枚举代码块:public class WorkTest { // 定义枚举类型 public enum Week { L1,L2,L3 } // 选择判断 public voi...原创 2019-11-30 22:22:46 · 273 阅读 · 0 评论 -
泛型
泛型泛型概述:是一种把明确类型的工作推迟到创建对象或者调用方法的时候才去明确的特殊的类型。集合的储存方式是objict对象存入,取出。存入的的时候自动转化,但是取出的时候一定要强制转换回原来存入的类型。如果你不想强制转化输出,你就需要泛型了—<>来限制你的输入了,算是从源头把控。所谓的泛型可以理解为---限制类型限制类型更加明确而且好理解,也就是说你每次存储创...原创 2019-11-28 15:33:59 · 66 阅读 · 0 评论 -
Java 集合框架体系结构
Java集合框架:Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.uti包中框架体系结构:collection:代表的是一个集合框架,各种集合类型的父接口,一个接口 collections:对于集合提供算法的类,一个算法类Collection:代表的是一个集合框架,各种集合类型的父接口,一个接口(1)List接口存储一组不唯一,有序(插入...原创 2019-10-23 11:26:53 · 327 阅读 · 0 评论 -
Java中抽象类和接口的区别
一、接口 (Interface):概念:解决Java中单继承的问题,接口是提供一种功能,可以被多个实现类实现,从而拥有该接口提供的功能特点: 接口不能被实例化(用类创建对象的过程) 接口中的方法都是抽象对象,可以不显示abstract关键字。 接口中的变量都是static final修饰的静态常量。 接口中方法的默认访问修饰符为public 接口中不能有构造方法。 实现类是...转载 2019-11-25 21:54:48 · 161 阅读 · 0 评论 -
面向对象三大特性:封装、继承、多态
封装、继承、多态封装和继承目的都是为了代码重用,多态目的是为了接口重用。封装1、概念:隐藏实现细节,提供公共的访问方式。(1)好处:隐藏实现细节,提供公共的访问方式 提高代码的复用性 提高代码的安全性(2)Private是封装的一种体现封装:类,方法,private修饰成员变量(3)封装的三种体现:private:隐藏属性,并使用setter/getter方...原创 2019-11-22 09:58:00 · 524 阅读 · 0 评论 -
Java中this关键字的作用
部分内容转自(木子宣):https://www.cnblogs.com/attentle/p/8745404.htmlthis关键字主要有三个应用:(1)this调用本类中的属性(当前属性),通过this进行赋值;(2)this调用本类中的方法(普通方法、构造方法);(3)this表示当前方法。1、this调用当前属性:其主要作用是当需要给类中的数据进行初始化时,可以通过...原创 2019-11-21 09:27:42 · 859 阅读 · 0 评论 -
Java GUI
GUI :Graphical User Interface(图形用户接口)。 用图形的方式,来显示计算机操作的界面,这样更方便更直观。两个包:java.awt:和系统关联较强 javax.swing:纯Java编写GUI的继承体系:组件:组件就是对象容器组件:是可以存储基本组件和容器组件的组件。 基本组件:是可以使用的组件,但是必须依赖容器。时间监听机制:事件监听机...原创 2019-11-15 10:37:10 · 80 阅读 · 0 评论 -
Java 集合框架--List / Set / Map(代码演示)
Java 集合框架--List / Set / Map(代码演示)一、List:ArrayList / LinkedList1、ArrayList存储自定义对象:A:Student描述/** * 这是学生描述类 * * @author 魏先生 * @version V1.0 */public class Student { // 姓名 private...原创 2019-10-24 14:41:51 · 202 阅读 · 0 评论 -
Java 数组的常见操作
数组的常见操作(部分固定代码格式最好记会)1、遍历:方式1: public static void printArray(int[] arr) { for(int x=0; x<arr.length; x++) { System.out.println(arr[x]); } } 方式2: public static void printArray(int[]...原创 2019-10-22 20:24:42 · 129 阅读 · 0 评论 -
Java 面向对象的常见设计模式
简单工厂模式:又叫静态工厂方法模式,它定义一个具体的工厂类负责创建一些类的实例优点:客户端不需要再负责对象的创建,从而明确了各个类的职责缺点:这个静态工厂类负责创建所有对象的创建,如果有新的对象增加,或者某些对象的创建方式不同就需要不断地修改工厂类不利于后期的维护工厂方法模式:工厂方法模式中抽象工厂类负责定义创建对象的接口,具体对象的创建由继承抽象工厂的具体类实现。优...原创 2019-11-07 13:35:00 · 381 阅读 · 0 评论 -
Java 集合框架--Collections(面试题 / 代码块)
Collections:是针对集合进行操作的工具类,都是静态方法。面试题:Collection和Collections的区别? Collection:是单列集合的顶层接口,有子接口List和Set。 Collections:是针对集合操作的工具类,有对集合进行排序和二分查找的方法要知道的方法public static <T> void sort(List<T&g...原创 2019-10-25 22:11:26 · 125 阅读 · 0 评论 -
Java IO流--File类操作文件
IO流IO流操作中大部分都是对文件的操作,所以Java就提供了File类供我们来操作文件一、File:文件和目录(文件夹)路径名的抽象表示形式构造方法:File(String pathname):根据一个路径得到File对象 File(String parent, String child):根据一个目录和一个子文件/目录得到File对象 File(File paren...原创 2019-10-26 17:32:58 · 95 阅读 · 0 评论 -
Java 多线程(Thread)--线程控制的常见方法
实现多线程一、实现多线程方案一:继承Thread类步骤步骤: A:自定义类MyThread继承Thread类。 B:MyThread类里面重写run()。(为了区分哪些代码能够被线程执行,java提供了Thread类中的run()用来包含那些被线程执行的代码) C:创建对象 D:启动线程多线程:一个应用程序有多条执...原创 2019-10-30 12:08:42 · 1210 阅读 · 0 评论 -
Exception常见异常类型和处理机制
Exception:意外异常(异常层次结构的父类)Throwable:是异常Exception与Error的父类,直接继承自Object, Error通常指系统发生的严重性的错误,不能通过程序代码解决的问题 Exception异常可以通过修改代码解决,分为检查时异常(必须要做出相应的处理)与运行时异常(可以不做处理)。一、常见的异常类型:1、ArrayIndexOutOfBound...原创 2019-10-09 12:22:51 · 5065 阅读 · 0 评论