JavaSE(Java基础知识)
文章平均质量分 67
基础不牢,地动山摇!根据经验来说,基础真的非常的重要,如果你希望你能在Java开发这条路走的远,基础将是你应该完成的第一步。
Jayden
自信源于努力!
展开
-
Lombok常用注解
Lombok是一个Java库,它可以通过注解的方式,帮助我们生成代码。。大多数人并不会关心这些注解到底是干嘛的,同样是打日志,@Slf4j与@CustomLog有什么不同吗?原创 2024-05-04 14:53:17 · 476 阅读 · 0 评论 -
【想忘都难】我总结的记忆线程池的方法
当你说出374这几个数字后,面试官就知道你懂线程池了!原创 2024-03-11 23:15:19 · 318 阅读 · 0 评论 -
字节面试官问我拦截器与过滤器的区别
面试官听完直接竖起拇指!原创 2023-07-09 23:14:19 · 139 阅读 · 1 评论 -
泛型,深入浅出,一看就懂!
泛型,深入浅出,一看就懂!原创 2023-07-05 21:37:03 · 97 阅读 · 0 评论 -
我说我精通泛型,面试官让我聊聊泛型上下界
在Java中,泛型的上下界(bounded type)是用来约束泛型类型参数的范围。使用上下界可以提供编译时类型检查和更具体的类型信息。Java中的泛型上下界有两种类型,分别是上界通配符,下界通配符。原创 2023-07-03 07:24:25 · 287 阅读 · 0 评论 -
我说Java有四种引用,面试官问我只有强引用行不行?
我说Java有四种引用,面试官问我只有强引用行不行?原创 2023-06-20 00:03:12 · 74 阅读 · 0 评论 -
图解接口和抽象类的区别,透过表象看本质
Java是面向对象的语言,它的三大特性是封装,继承,多态。多态有接口多态和类多态,由于抽象类与接口中都有抽象方法,经常被拿来对比,所以接口和抽象类的区别成了面试中的高频问题。常规性的区别不做讨论,只从使用的角度出发去挖掘区别。抽象类 下图中我们把方块当成类,把圆形当成属性或者方法。如图所示三个类拥有共同的属性跟方法(粉色圆圈与红色圆圈),这个时候为了代码复用,通常的做法是将公共的部分提取出来。这个时候问题就来了,父类中的方法实现,是实现成蓝色,紫色还是灰色? 答案是实现成啥颜色都不合适!解决原创 2021-08-28 11:09:42 · 235 阅读 · 0 评论 -
线程实战入门【硬核慎入!】
进程 进程指的是一段程序的执行过程,我们先来看一张图片: 暴力摩托小时候大家都玩过吧,这款游戏的声音非常的激情,在比赛的同时还加入踹人等一系列操作,一款游戏呢就是一个进程,不单单如此,微信,抖音,美团等常用软件运行后都是一个独立进程。线程 线程是比线程小一级的单元,比如上面说到暴力摩托中的声音是暴力摩托进程中的一个线程,**暴力摩托中的踹人等动作也是暴力摩托进程中的一个线程。**随着游戏的迭代,赛道也越来越宽了,妈妈再也不用担心我被踹了。在Java中线程类是Thread类。线程的状态(6种)原创 2021-07-09 23:28:08 · 203 阅读 · 1 评论 -
Map转List引发的思考:简单聊聊Map.Entry
Map.Entry详解开发中最常用集合应该就是ArrayList和HashMap了,关于这篇文章的来源就是在一次Map转List中引发的思考。比如这样:public class MapToList { public static void main(String[] args) { // 构建一个Map HashMap<String, String> cpMap = new HashMap<>(); cpMap.put("梁原创 2021-05-10 07:00:39 · 560 阅读 · 2 评论 -
JDK5特性:自动装箱和自动拆箱,跟我一起看看普通类型与包装类型之间的转换吧!
JDK5特性:自动装箱和自动拆箱,跟我一起看看普通类型与包装类型之间的转换吧!写这篇文章的原因是工作中经常遇到普通类型与包装类型之间的转换的问题,以及其他的一些类型转换,故整理了该篇文章,加深印象。以后遇到类型转换问题我可以直接写下来,而不是每次遇到都去百度,从而提高自己的编码速度。有句话是这么说的:王者绝非偶然,细节决定成败!先认识两个概念:装箱:从普通类型变成引用类型 int–>Ingeter拆箱:从引用类型变成普通类型 Integer–>int自动挡拆装箱与手动挡拆装箱原创 2021-01-28 20:07:04 · 121 阅读 · 2 评论 -
【面试题】静态代码块与构造执行顺序,类的初始化机制详解
这道面试题是非常常见的,以我的经历来看,在**北京三家就有两家会有这类题**。这道题考查的有两点,第一是类**的初始化机制,第二是类与对象**。解决这道面试题时,如果能按以下思路跟面试官讲解,必定加分不少。原创 2021-01-06 15:51:01 · 179 阅读 · 3 评论 -
JDK1.8 API 中文文档下载及使用建议
JDK1.8跟1.6的API在电脑上一直都有,之前开发都是放桌面上,有时候看看一些常见类的源码以及用法。工作后我发现我缺失了这种行为,看官方文档变成了直接看博客。如果有时间建议自己先看看官方文档,因为博客不会像官方文档那么全,找到一篇能解决你问题的博客还是要花不少时间的。使用方法方式一:原创 2021-01-06 11:12:13 · 268 阅读 · 0 评论 -
学不好Java Web?因为你不懂这些!
首先,需要说点题外话。本人刚开始学习Java时,是看刘意老师2015版的视频。由于体会过初学者学习编程时的无助,所以文章会尽我最大的努力让基础稍微差的读者看懂。有什么问题,欢迎骚扰。本文主要内容:http协议,请求协议,响应协议,状态码,以及OSI相关知识。1 何为服务器?何为Web资源? 刚接触这些知识时,很多初学者耳中听的最多的就是浏览器请求,服务器响应这一类的话语。但是只知道这些是不够的,在我看来如果能够理解我们请求的是什么,服务器是怎么响应的,甚至能知道一些常见的状态码以及能从这些.原创 2020-12-14 16:21:28 · 531 阅读 · 0 评论 -
JDK5新特性系列:可变参数
在进入正题之前我们先来看一个简单的案例,它的需求是这样的:我们有一个Shoes类,在该类中有鞋子的名字name,鞋子的价钱price,以及要购买的鞋子的数量num。@SuppressWarnings("all")public class Shoes { private String name; private Integer price; private Integer num; public Integer getPrice() { return price; } pub原创 2020-12-14 15:45:38 · 139 阅读 · 1 评论 -
字节跳动一面,面试官问我集合和数组有什么区别?我回答了3点,面试官给我竖起了大拇指...
23年字节跳动真实一面,面试官问我集合和数组有什么区别?我用了一个比喻,面试官给我竖起了大拇指!原创 2020-12-14 15:21:31 · 2669 阅读 · 4 评论 -
JDBC连接池(下)
第三个版本 第一个改变的地方就是在util中新定义了三个需要关闭的变量,这里框中设成私有为了安全,静态为了类名能直接调用,但是别加final,用了final成自定义常量了,下面就用不了刚开始置为空,在封装的close方法中只要不是null说明用过了就可以关闭。 第二个改变的是我们发现增删改的代码是差不多的可以封装成一个方法,差距就在于增删改根据条件的不同,问号的数量不同罢了。所以我们引入了可变参数可变参数也叫可变数组,所以我们遍历数组查看是否有参数,有参数就进行替换。替换时需要注意的是遍历的是个数组原创 2020-12-14 11:31:29 · 99 阅读 · 0 评论 -
JDBC连接池(上)
1.1概念JDBC连接池其实就是一个容器(集合),存放数据库连接的容器。当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。1.2数据库连接池的好处节约资源(不是关闭连接而是归还)用户访问高效(直接获取连接对象,不用创建)1.3实现:标准接口:DataSource javax.sql包下的。方法:获取连接:getConnection()归还连接:Connection.close()。如果连接原创 2020-12-14 11:25:41 · 183 阅读 · 0 评论 -
网络编程基础入门及TCP,UDP
1.网络编程入门1.1 网络编程概述计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。网络编程是在网络通信协议下,实现网络互连的不同计算机上运行的程序间可以进行数据交换 。1.2 网络编程三要素IP地址 要想让网络中的计算机能够互相通信,必须为每台计算机指定一个标识号,通过这个标识号来指定要接收数 据的计算机和识别发送的计算机,而IP地址就是这个标识号。也就是原创 2020-12-13 21:56:10 · 163 阅读 · 0 评论 -
fastjson解析json原理初体验
我们知道JavaEE后台处理数据是根据一定的文本规则来处理的,通常有xml格式和Json格式。而具体使用哪种格式是根据前后端协调决定的。通过工作的情况来看,使用Json会更多一点。下面是相关的知识点:1 Json是什么? Json(JavaScript Object Notation)是一种轻量级的数据交换格式。Json有以下特点:Json 比 XML 数据传输的有效性要高出很多。Json完全独立于编程语言。本质就是具有**特定格式(key-value)**的字符串。(面试官问的时候一定原创 2020-12-13 21:42:27 · 465 阅读 · 0 评论 -
dom4j解析xml教程
dom4j是一个Java的XML API,是微软公司提供的用于解析xml的工具包,用来读写XML文件的。它是一个开放源代码的软件,可以在SourceForge上找到它,想看源码的朋友可以去看看。 我们在解析.xml格式的数据时,需要引入dom4j.jar,并且添加到构建路径。它的解析过程是将整个xml文档读入内存,读成树状结构!我们通过获取根节点,以及根节点的子节点,的子节点…这种方式去获取数据。232)]...原创 2020-12-13 21:22:55 · 475 阅读 · 1 评论 -
你是不是对Java异常一无所知
异常这部分很多人会蒙圈,原因或许在于没去了解异常是什么,它跟我们写程序过程中出现的bug是否是一个概念。不是话它是一个啥玩意?究其因果就是不知道他是什么。那么异常的定义到底是什么?在这篇文章中我认为异常这个概念对初学者来说是个比较模棱两可的点。处理异常的两种方式有什么不同?1 异常 异常的概述:异常就是程序出现了不正常的情况 。异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。Java编译器要求方法必须声明抛出可能发生的非运行时异常,但原创 2020-12-13 21:16:03 · 101 阅读 · 0 评论 -
初学log4j该看的文章(工作后的同鞋慎入!)
文章是初学时写的,是往lib文件夹中添加jar包的写法,所以选看。但是这是青春,所以不删,望理解! Log4j是Apache的一个开源项目。日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录。它由三个部分组成:日志信息的优先级(由日志记录器设置优先级): 控制日志的输出级别,日志信息的优先级从高到低有ERROR、WARN、 INFO、DEBUG,分别用来指定这条日志信息的重要程度。日志信息的输出目的地,理解为输出端(Appender.原创 2020-12-13 20:59:44 · 142 阅读 · 0 评论 -
探讨为什么实现Serializable接口就可以序列化
在探讨这个问题之前先上个概念。什么是序列化和反序列化呢?序列化就是指把Java对象转换为字节流写入硬盘的过程。public static void writeObject(Object obj, String dstFilePath) throws IOException { ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(dstFilePath)); out.writeObject(obj);原创 2020-12-10 08:48:13 · 748 阅读 · 0 评论 -
360面试我用一个例子通俗易懂的讲解了递归,面试官让我准备二面...
360面试题,说说你理解的递归,我用一个例子讲清楚了原创 2020-11-28 08:12:48 · 2334 阅读 · 6 评论 -
Thread源码解析:其实创建线程的方式就一种!
首先,我是一个通过自学初入职场的努力程序猿,最近准备将原来知乎上的文章同步到CSDN。时至今日,我经历了一个人的寂寞,学习没有方向等很多问题。文章写的不是很好,但是对初学者自认为还是有点帮助的,大家有自学上的疑惑都可以留言或者私信交流!有求必应! 既然有想看Thread源码的需求,那么我相信大家对创建线程的三种方式早已经倒背如流,烂熟于心了。这边我就不再给大家介绍线程了,如果还不懂什么是线程的,请读者移步百度,谷歌或者知乎等其他平台进行了解。(若有时间,后面可能会更多线程相关的基础知识)创建线程的原创 2020-11-27 14:36:53 · 226 阅读 · 0 评论