java
文章平均质量分 52
Janson666
仰望星空的码农
展开
-
腾讯云智笔试题(Java后端)
选择题考的比较系统,包括Java设计模式,c语言,linux,计算机网络等,操作系统等。原创 2023-06-28 10:10:14 · 2130 阅读 · 0 评论 -
CVTE面经
一、八股(能想起的就这些)jvm垃圾回收器有哪些?你项目中用那种?ArrayList和LinkedList区别,ArrayList线程安全嘛,那些方式可以使其安全,或者有哪些替代方式(vector和copyOnWriteList)读过Spring Boot源码嘛,自动装配是怎么实现的?MySQL索引,索引失效场景,SQL很慢如何优化?解释一下数据库脏读、幻读、不可重复读。MySQL隔离级别底层咋实现的TCP三次握手,如果断了网线,过一段时间连接上会是什么状态;ThreadLocal底层原原创 2023-06-19 16:24:19 · 762 阅读 · 0 评论 -
快手一面面经
进程间通信的方式有几种?浏览器输入一个网址后发生了什么?DNS域名解析过程?实习单位都做了什么项目,有的什么架构?Java中 error和exception有什么区别,项目中怎样进行异常处理(统一异常处理 @ControllerAdvice和@ExceptionHandler)常见的异常有那些,如空指针,数组越界······int和Integer 有什么区别,自动拆箱和自动装箱怎么实现的,他的常量池技术了解吗?== 和 equals 有什么区别?Java8有哪些新特性(lambda表达式、原创 2023-06-16 15:48:23 · 662 阅读 · 0 评论 -
快手二面(算法题)
算法题一道:带层级的一维数组转换为森林。原创 2023-06-16 12:59:22 · 1297 阅读 · 3 评论 -
Java动态代理(JDK/CGLIB)&静态代理
这篇文章中主要介绍了代理模式的两种实现: 静态代理以及动态代理。涵盖了静态代理和动态代理实战静态代理和动态代理的区别、JDK 动态代理和 Cglib 动态代理区别等内容。原创 2023-04-20 08:50:11 · 764 阅读 · 0 评论 -
Java如何进行优雅的判空——Optional类的灵活应用
在Java Web项目开发中,经常令人头疼的NPE问题(NullPointerException)——空指针,例如我们在调用equal()方法时,就经常会出现NPE问题。原创 2023-02-14 14:24:03 · 2511 阅读 · 0 评论 -
Java遍历map得六种方法
通过 keySet() 方法获取全部的key值;通过 values() 方法获取全部的value值;通过遍历key值获取value值;通过entrySet()方法,进行遍历;使用lambda表达式;采用迭代器方式,方便进行元素的删除操作;原创 2022-12-01 14:28:24 · 1817 阅读 · 0 评论 -
Typora安装包分享
1. 介绍Typora: 一款 Markdown 编辑器和阅读器国内访问:https://typoraio.cn/可以访问上述网址,进行现在,但激活需要付费。2.本地使用分享阿里云盘:https://www.aliyundrive.com/s/CuLtKibEMjf3.下载完成后,进行安装,详细步骤可以看使用说明,仅供学习,...原创 2022-05-02 14:54:44 · 801 阅读 · 0 评论 -
每天睡前30分钟阅读Day6_Day6_Date_Calendar_LocalDate_TimeStamp_LocalTime
在Java中 时间原点被设置为 本初子午线所在时区的 1970年1月1日的午夜。从原点开始,每天按照 86400秒向前或向回度量。Java中获取时间的API 有Date类,System.currentTimeMillis(),Timestamp,LocalDate,LocalTime,下边做一个介绍。原创 2022-04-28 11:31:56 · 700 阅读 · 0 评论 -
每天睡前30分钟阅读Day5_Map中全部Key值,全部Value值获取方式
key值全部获取 : keySet方法value值全部获取 :values方法key和value值同时全部获取: entrySet方法原创 2022-04-21 08:55:36 · 1407 阅读 · 0 评论 -
每天睡觉前30分钟阅读_day4_Files
访问目录中的项1.获取当前路径的所有目录和文件(非递归获取子目录)list 方法 Stream<Path> pathLists = Files.list(path);2.获取当前路径的所有目录和文件(递归获取子目录)walk 方法Stream<Path> walkPaths = Files.walk(path);3.获取当前路径的所有目录和文件(递归获取子目录(指定深度为 2))walk 方法Stream<Path> walkPat原创 2022-04-20 13:01:57 · 164 阅读 · 0 评论 -
每天睡觉前30分钟阅读_day3_Files
一、操作文件:Path和Files类封装了用户机器上处理文件系统所需要的所有功能。1.Path类方法:1.//获取文件路径Paths.get(“路径”)Paths.get(“/home”,“my”)/home/my通过上述方法,获取文件路径后,可通过Path类的对象,调用下边的一些方法, path.getFileName() path.getParent() path.getRoot() pa原创 2022-04-20 09:15:19 · 157 阅读 · 0 评论 -
每天睡觉前30分钟阅读_day2_Java流_fliter_map_flatmap
stream中的三个方法:filter : 传入处理的条件,返回所有满足条件的流。可以采用 .count() 方法进行计数。map : 产生一个流。包含将mapper应用于当前流中所有元素所产生的结果。如处理同样流[[“a”,“b”],[“c”,“d”]]flatmap :应用于将当前流中所有元素产生的结果连接到一起。 如上:结果为: [“a”,“b”,“c”,“d”] 注意:调用map方法时,传入的是字符串,而调用flatMap() 方法时,传入的是流(stream),这一点要注意。流的转换原创 2022-04-19 10:10:37 · 129 阅读 · 0 评论 -
每天睡觉前30分钟阅读_day1_Java流处理
1. 流的核心思想:我们可以说明想要完成什么任务,而不是说明如何去实现它,将操作的调度留给具体实现去解决。2.在处理集合时,通常会迭代遍历他的元素,并在每个元素上执行某项操作。使用流时,相同的操作,处理更简介,具体实现操作看代码。3. 代码包含普通迭代的过程和流处理的过程。import java.io.IOException;import java.nio.charset.StandardCharsets;import java.nio.file.Files;import java.nio.fi原创 2022-04-16 09:38:35 · 157 阅读 · 0 评论 -
Java多线程,原来如此简单?
学习大纲线程简介线程实现(重点)线程状态线程同步(重点)线程通信问题高级主题(线程池)一、线程简介1. 多任务在生活中,我们一般会边吃饭边玩手机,或者边走路边玩手机,这样看起来我们在同时做着多个事情,但是其实我们大脑在同一时间只能处理一件事情,2.多线程例子:原来一条路,车太多了,开始堵塞,为了提高效率,我们多增加个车道,从此,妈妈在也不用担心道路阻塞了。玩王者荣耀也是如此,你和队友组队,大家都是多线程执行。3.进程在操作系统的运行的程序就是进程。一个进程可以有多个线程。原创 2022-03-01 10:32:26 · 215 阅读 · 0 评论 -
Java实现写春联(娱乐)
如何用Java实现写对联?实现思路:首先找一张背景图片,放在指定文件夹定义四个方法:(1)一个写横批的方法(2)一个写上下、下 联的方法(3)一个将字写在指定背景图片的方法(供第一个方法和第二个方法调用)(4)一个整合的方法:将横批,上联、下联全部整合为一张图片,输出到指定文件夹详情看代码即可:以上为指定的背景图片,最后对联上的字将会写在上述图片中。代码实现:package chunlian;/** * @Author Janson * @Date 2022/2/8 1原创 2022-02-08 17:42:29 · 581 阅读 · 0 评论 -
Java中常量的使用过程注意事项
1.常量:指在程序执行过程中,只能被赋值一次,一旦被赋值之后,就不允许更改的值。2.Java中常量的实现是通过final关键字实现的,虽然const是Java的保留字,但是并没有使用。3.普通常量的实现实例(常量名称一般大写)public class MyConst { public static void main(String[] args) { //一般常量名称大写 final double PI = 3.1415; System.原创 2021-06-30 11:13:49 · 509 阅读 · 0 评论 -
IDEA热部署
1.热部署依赖包<!--热部署依赖包,使得在反复修改程序后,不需要重新启动程序,系--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency>2.3.c.原创 2021-06-29 15:02:53 · 102 阅读 · 0 评论 -
IDEA中modules的导入
导入流程: File–>Project Structure --> modules–>点击绿色小加号–>选择Import module–>选择要导入的module目录名。接下来的全部默认,直接next即可。图片流程如下:原创 2020-07-18 19:36:55 · 2660 阅读 · 1 评论 -
下一个排列
实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1代码:import com.sun.org.apache.bcel.internal.generic.SWAP;/** * @author Jan.原创 2020-06-17 23:46:52 · 119 阅读 · 0 评论 -
全排列1—回溯算法
给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]解题说明:通过回溯算法(递归思想)进行全排列。代码展示:import java.util.*;/** * @author Janson * @version 1.0 * @date 2020/5/22 23:38 */public class...原创 2020-06-17 23:28:51 · 167 阅读 · 0 评论 -
全排列2—回溯搜索+剪枝
给定一个可包含重复数字的序列,返回所有不重复的全排列。示例:输入: [1,1,2]输出:[ [1,1,2], [1,2,1], [2,1,1]]解题说明:本题不同于普通全排列之处是,存在重复数字——这就存在着去重的问题了,如果没有重复的数字,我们就直接通过回溯算法(递归思想)进行全排列,但是本题不能直接进行,需要进行一定的处理——去重。如何去重?——剪枝法去重步骤:1.对输入的数组进行排序, 2.去重语句:(i>0&...原创 2020-06-17 23:17:55 · 210 阅读 · 0 评论 -
3.三数之和——双指针法+去重技巧
给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]解题摘要:三个数求和与两个有序数组求和类似,采用双指针法,不同的是,三个数求和是将其中的一个数换成nums[i] 中的值,...原创 2020-06-08 22:05:03 · 616 阅读 · 0 评论 -
2.两数之和 II - 输入有序数组----二分法定区间+双指针法
给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1必须小于index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11, 15], target = 9输出: [1,2]解释: 2 与 7 之和等于目标数 9 。因此 index1 = 1,...原创 2020-06-05 16:57:25 · 230 阅读 · 0 评论 -
LeetCode算法题——1.两数之和------哈希表法
1.题目 :给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]2.代码展示 :/** * @author Janson * @version 1.0 * @da...原创 2020-06-05 11:36:46 · 135 阅读 · 0 评论 -
什么是同步? 什么是异步?
1. 同步客户端必须等待服务器端的响应,在等待期间客户端不能做其他操作。2. 异步客户端不需要等待服务器的响应,在服务器处理请求的过程中,客户端可以进行其他操作。...原创 2019-12-04 11:40:58 · 2323 阅读 · 0 评论 -
Listener
1. Listener :监听器1.1 概念:web 三大组件之一 事件监听机制 : 事件 : 一件事情 事件源 : 事件发生的地方 监听器 :一个对象 注册监听 : 将事件、事件源、监听器绑在一起 。当事件源发生某个事件后,执行监听器代码1.2 ServletContextListener :监听ServletContext 对象的创建和销毁1方法vo...原创 2019-12-04 11:04:16 · 130 阅读 · 0 评论 -
Filter
学习内容 :1. Filter : 过滤器2. Listener : 监听器1. Filter : 过滤器1.1 简介生活中的过滤器 :净水器,空气净化器 web 中的过滤器 : 当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。 过滤器的作用 :一般用于完成通过的操作guol,如 : 登录验证,统一编码处理,敏感字符过滤 ........原创 2019-12-04 10:21:57 · 147 阅读 · 0 评论 -
JSP、EL、JSTL、MVC、三层架构
# 今日内容 :1. JSP : (1. 指令 (2. 注释(3. 内置对象2. MVC 开发模式3. EL 表达式4. JSTL 标签5. 三层架构## JSP :1. 指令 * 作用 :用于配置JSP页面,导入资源文件 * 格式 : <%@ 指令名称 属性名1=属性值1 ... %...原创 2019-10-24 17:39:05 · 247 阅读 · 0 评论 -
验证码—细节处理登录案例
## 案例 :验证码1. 案例需求 : (1. 访问带有验证码的登录页面login.jsp。 (2. 用户输入用户名,密码及验证码。 a. 如果用户名和密码输入有误,跳转登录页面,提示 : 用户名或密码错误 b. 如果验证码输入有误,跳转 登录页面,提示 : 验证码有误 c. 如果全部输入正确,则跳转到主页sucess.jsp, ...原创 2019-10-22 17:35:34 · 718 阅读 · 0 评论 -
JSP学习笔记
## :JSP :入门学习 1. 概念 : * Java Server Pages : Java服务器端页面 (1. 可以理解为 : 一个特殊的页面,既可以指定定义html标签,又可以定义Java代码 (2. 功能 :简化书写!!!直接将Java代码写到html页面上,而不用写到类里边,减少工作量 2. 原理 : * JSP本...原创 2019-10-16 21:23:44 · 124 阅读 · 0 评论 -
案例——Cookie
# 案例 :记住上一次访问时间 1. 需求: (1. 访问一个Servlet,如果第一次访问,则提示 :您好,欢迎您首次访问。 (2. 如果不是第一次访问,则提示 :欢迎回来,您上次访问的时间为 :显示时间字符串 2. 分析 : (1. 可以采用Cookie来完成 (2. 在服务器中的Servlet判断是否有一个名为lastT...原创 2019-10-16 19:31:07 · 202 阅读 · 0 评论 -
Cookie学习
# 学习内容 :1. 会话技术 : (1. Cookie (2. Session 2. JSP :入门学习## 会话技术 : 1. 会话 :一次会话中包含多次请求和响应。 * 一次会话: 浏览器第一次给服务器资源发送请求,会话建立,直到一方断开为止。 2. 功能 : 再一次会话的范围内的多次请求间,共享数据 3. 方式 :...原创 2019-10-16 11:34:24 · 113 阅读 · 0 评论 -
案例——文件下载_代码实现
## 案例 : * 文件下载需求 : 1. 页面显示超链接 2. 点击超链接后弹出下载提示框 3. 完成图片文件下载* 分析 : 1. 超链接指向的资源如果能够被浏览器解析,则在浏览器中展示,如果不能解析,则弹出下载提示框。 不满足 2. 任何资源都必须弹出下载提示框 3. 使用响应头设置资源的打开...原创 2019-10-15 19:19:08 · 278 阅读 · 0 评论 -
Response学习笔记
#学习内容 1. HTTP 协议 :响应消息 2. Response 对象 3. ServletContext对象##HTTP协议: 1. 请求消息 : 客户端发送给服务端的数据 * 数据格式 : (1 请求行 (2 请求头 (3 请求空行 (4 请...原创 2019-10-15 16:40:38 · 865 阅读 · 0 评论 -
BeanPropertyRowMapper 学习笔记
query过程都可以进行数据类型自动转换,而且不仅仅按标准命名,还可以支持下划线分隔后拼接成驼峰式字符完全轻量级.BeanPropertyRowMapper/ParameterizedBeanPropertyRowMapper ,如果PO和数据库模型的字段完全对应(字段名字一样或者驼峰式与下划线式对应),如果使用JdbcTemplate则可以使用这个RowMapper作为PO和数据库的映射...原创 2019-10-12 15:15:35 · 745 阅读 · 0 评论 -
案例练习——用户登录
## 用户登录案例: * 用户登录案例需求 : 1. 编写login.html登录页面 username & password 两个输入框 2. 使用Druid 数据库连接池技术,操作mysql,day14数据库中的user表 3. 使用JDBCTemplate技术封装JD...原创 2019-10-12 11:07:19 · 1408 阅读 · 0 评论 -
IDEA中常用快捷键介绍
IDEA中快捷键介绍1.从某个变量到表达式到方法甚至到类,扩充者选取,Ctrl+W原创 2019-08-20 11:54:53 · 280 阅读 · 0 评论 -
Java学习——Java集合类概述
本文主要讲Java三个集合类:Set、 Map、 Listjava.util包中提供了一些集合类,这些集合类又被称为容器,提到容器不难想到数组.1.集合类与数组的不同之处:数组的长度是固定的,集合的长度是可变的;数组用来存放一些基本类型的数据,集合用来存放对象的引用原创 2019-09-04 14:29:25 · 173 阅读 · 0 评论 -
Java如何动态获取src下的资源的路径
本文介绍加载配置文件properties时,如何动态获取文件路径的代码实现。原创 2019-09-04 22:06:14 · 861 阅读 · 0 评论